दिलचस्प पोस्ट
गोलंग: बिना स्ट्रिंग को छपाई के प्रारूप में? सेग्यू के माध्यम से डेटा पास करें php एक स्थान के साथ कई स्थान की जगह मैं इस संदर्भ को एक समारोह में कैसे पारित करूं? नेस्टेड वादों को हटा रहा है jQuery, एक संपूर्ण तत्व का html प्राप्त करें क्या मैं एक दृश्य से एक मॉडल को कॉल कर सकता हूं? एंड्रॉइड नेविगेशन दराज टॉगल आइकन सही पर टुकड़ा से कस्टम एक्शनबार शीर्षक सेट करना दो उपयोगकर्ताओं के बीच सामाजिक दूरी की गणना करें कैसे जावा में कचरा संग्रह को मजबूर करने के लिए? वेब स्क्रैपिंग जावास्क्रिप्ट पेज पायथन के साथ क्या C ++ का समर्थन संकलन समय काउंटर? परीक्षण अगर ईवेंट हैंडलर jQuery में एक तत्व के लिए बाध्य है Django डेटाबेस क्वेरी: दिनांक सीमा से वस्तुओं को कैसे फ़िल्टर करें?

कोर डेटा बनाम SQLite 3

मैं पहले से ही संबंधपरक डेटाबेस से काफी परिचित हूं और अतीत में SQLite (और अन्य डेटाबेस) का इस्तेमाल किया है। हालांकि, कोर डेटा का एक खास आकर्षण है, इसलिए मैं अपने अगले आवेदन में उपयोग के लिए कुछ समय बिताने पर विचार कर रहा हूं।

क्या SQLite पर कोर डेटा का उपयोग करने के लिए बहुत फायदा है, या इसके विपरीत? प्रत्येक के पेशेवर / विपक्ष क्या हैं?

मुझे यह पता लगाना मुश्किल है कि कोर डेटा सीखने की लागत को सही करने के लिए जब एप्पल इसका उपयोग अपने कई प्रमुख अनुप्रयोगों जैसे Mail.app या iPhoto.app के लिए नहीं करता – बजाय SQLite डेटाबेस के लिए चुनना। एसक्यूलाइट का भी इस्तेमाल iPhone पर बड़े पैमाने पर किया जाता है

क्या उन परिचित लोगों को अपने अनुभव पर टिप्पणी का उपयोग कर सकते हैं? शायद, अधिकतर चीज़ों के साथ, सवाल सिर्फ एक के ऊपर एक का उपयोग करने से गहरा है?

वेब के समाधान से एकत्रित समाधान "कोर डेटा बनाम SQLite 3"

हालांकि कोर डेटा एप्पल के एंटरप्राइज़ ऑब्जेक्ट फ्रेमवर्क के वंशज है, एक ऑब्जेक्ट-रिलेशनल मैपर (ORM) जो / संबंधनीय बैकेंड से जुड़ा हुआ था, कोर डेटा एक ORM नहीं है वास्तव में, एक ऑब्जेक्ट ग्राफ़ प्रबंधन फ्रेमवर्क है यह ऑब्जेक्ट इंस्टेंट्स के एक संभावित बड़े ग्राफ़ का प्रबंधन करता है, जिससे एक एप को ग्राफ के साथ काम करने की इजाजत होती है जो कि मेमोरी में और ऑब्जेक्ट्स के रूप में आवश्यक होने के कारण मेमोरी में पूरी तरह से फिट नहीं होता। कोर डाटा गुणों और रिश्तों और रखरखाव के संदर्भ अखंडता पर बाधाओं का प्रबंधन करती है (जैसे कि रिश्ते से वस्तुओं को जोड़ा / निकाला जाता है तो आगे और पीछे की तरफ लिंक सुसंगत)। इस प्रकार कोर डेटा एक एमवीसी वास्तुकला के "मॉडल" घटक के निर्माण के लिए आदर्श ढांचा है।

अपने ग्राफ़ प्रबंधन को लागू करने के लिए, कोर डेटा को डिस्क स्टोर के रूप में sqlite का उपयोग करना होता है। यह एक अलग रिलेशनल डेटाबेस या एक गैर-रिलेशनल डेटाबेस जैसे कि काउचडीबी का उपयोग कर लागू किया जा सकता था। जैसा कि अन्य लोगों ने बताया है, कोर डेटा भी XML या एक बाइनरी प्रारूप या उपयोगकर्ता-लिखित परमाणु प्रारूप को एक बैकेंड के रूप में इस्तेमाल कर सकता है (हालांकि इन विकल्पों के लिए आवश्यक है कि संपूर्ण ऑब्जेक्ट ग्राफ़ मेमोरी में फिट हो)। यदि आप रुचि रखते हैं कि कैसे कोर डेटा को SQLite बैकएंड पर लागू किया जाता है, तो आप OmniGroup के OmniDataObjects ढांचे को देख सकते हैं, कोर डेटा API के एक सबसेट का एक ओपन सोर्स कार्यान्वयन। बेसलाइन ढांचे को बैकएंड के रूप में पोस्टग्रेएसक्यूएल का इस्तेमाल करते हुए कोर डेटा एपीआई का कार्यान्वयन भी है।

चूंकि कोर डेटा का उद्देश्य एसक्यूएलटी के लिए एक ORM नहीं है, यह मनमाना SQL स्कीमा को नहीं पढ़ सकता है। इसके विपरीत, आपको अन्य सॉफ़्टवेयर उपकरणों के साथ कोर डेटा के एसक्यूलाइट डेटा स्टोर को पढ़ने में सक्षम होने पर भरोसा नहीं करना चाहिए; स्कीमा एक कार्यान्वयन विवरण है जो बदल सकता है।

इस प्रकार, वास्तव में कोर डेटा या sqlite का उपयोग करने के बीच कोई विवाद नहीं है। यदि आप एक रिलेशनल डेटाबेस चाहते हैं, तो SQLite का प्रयोग करें (सीधे या किसी उद्देश्य-सी आवरण जैसे एफएमडीबी ), या रिलेशनल डेटाबेस सर्वर। हालाँकि, आप अभी भी ऑब्जेक्ट ग्राफ़ प्रबंधन फ्रेमवर्क के रूप में उपयोग करने के लिए कोर डेटा सीखना चाहते हैं एप्पल के नियंत्रक वर्गों और कुंजी-मान बाध्यकारी संगत व्यू विगेट्स के साथ संयोजन में, आप बहुत कम कोड के साथ एक पूर्ण MVC वास्तुकला को लागू कर सकते हैं।

और आईओएस 5.0 के साथ आप कोर डेटा का उपयोग कर रहे हैं, तो आप iCloud फ़ाइल-सिंक्रनाइज़ेशन का उपयोग करने में सक्षम होने के अतिरिक्त लाभ प्राप्त करते हैं। यदि आप सीधे SQLite का प्रयोग कर रहे हैं तो इसे बहुत सारे मैन्युअल टिंकरिंग और कार्यान्वयन करना होगा ताकि इसे iCloud पर सिंक करने के लिए मिल सके।

कोर डाटा इतना डाटाबेस इंजिन नहीं है क्योंकि यह एक एपीआई है जो वास्तविक डेटा स्टोर पर सार है। आप कोर डाटा को एक सिकलाइट डाटाबेस, प्लिस्ट, एक बाइनरी फ़ाइल या कस्टम डाटा स्टोर प्रकार के रूप में सहेज सकते हैं।

मैं कोर डेटा सीखने की सलाह देता हूं, जैसा कि यह एक उत्कृष्ट संसाधन है जो कोकाआ एप्लिकेशन डेवलपमेंट के कई हिस्सों को बहुत तेज करता है।

SQLite कोर डेटा के लिए डेटाबेस स्वरूपों में से एक है कोर डेटा का उपयोग करते हुए आपको बाकी कोको एपीआई के साथ बेहतर एकीकरण मिलता है।