2009-08-04 14 views
6

क्या किसी ने आईफोन पर टोक्यो कैबिनेट का उपयोग किया है? मुझे यह देखने में दिलचस्पी है कि इसमें और SQLite3 के बीच कोई वास्तविक विश्व प्रदर्शन अंतर है या नहीं।आईफोन पर टोक्यो कैबिनेट बनाम SQLite3

इसके अलावा, SQLite 3 में SQL की अभिव्यक्तित्मक शक्ति है, क्या टोक्यो कैबिनेट की कोई भी प्रकार की क्वेरी भाषा है?

किसी भी इनपुट की सराहना की जाएगी, धन्यवाद।

उत्तर

3

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

टोक्यो कैबिनेट एक अलग प्रकार की डेटा स्टोरेज सिस्टम प्रदान करता है जिसमें यह एक महत्वपूर्ण मूल्य स्टोर है। जैसा कि नाम का तात्पर्य है, ये सिस्टम भंडारण (कुंजी, मूल्य) जोड़े के लिए हैं। टीसी में संग्रहीत डेटा में एक अनूठी कुंजी होनी चाहिए जिसे संदर्भित किया जा सके, और इसे केवल उस कुंजी द्वारा संदर्भित किया जा सकता है। टीसी तक पहुंचने के लिए इंटरफ़ेस मूल रूप से मूल्य = प्राप्त (कुंजी) और सेट (कुंजी, मान) है।

टीसी तक पहुंचने वाले एक प्रश्न परिप्रेक्ष्य से लगभग SQLite का उपयोग करने के बराबर है और केवल प्राथमिक कुंजी फ़ील्ड और एक अन्य डेटा फ़ील्ड को अनुमति देता है।

टीसी का प्रमुख लाभ प्रदर्शन है। अगर और यह कितना बेहतर होगा वर्कलोड पर भारी निर्भर करता है। आम तौर पर, यदि आपको केवल एक कुंजी-मूल्य स्टोर की आवश्यकता है तो आपको टीसी के साथ जाना चाहिए, लेकिन यदि आपको SQL क्वेरी भाषा की आवश्यकता है तो SQLite यह है।

+1

यह सच नहीं है कि टीसी केवल एक महत्वपूर्ण मूल्य स्टोर प्रदान करता है; टीसी का टेबल डेटाबेस * करता है * सरल प्रश्नों का समर्थन करता है। वे चयन के बराबर हैं ... जहां x y जहां ऑपरेटर समानता, स्ट्रिंग उपसर्ग, स्ट्रिंग प्रत्यय, स्ट्रिंग regexp, संख्यात्मक से अधिक, संख्यात्मक से कम हो सकता है। Http://tokyocabinet.sourceforge.net/tyrantdoc/ में tcrdbqryaddcond के लिए खोजें। – mjs

0

टोक्यो कैबिनेट लाइसेंस आपको स्थिर लिंकिंग करने की अनुमति नहीं देता है, इसलिए इसका उपयोग आईफोन विकास के लिए नहीं किया जा सकता है।

+1

एलजीपीएल स्थिर लिंकिंग को प्रतिबंधित नहीं करता है। यह आपको एलजीपीएल को बदलने में सक्षम होने की अनुमति देने की आवश्यकता है, गतिशील लिंकिंग इसे पूरा करने के लिए केवल 1 तरीका है। आप अपना एप्लिकेशन स्रोत कोड, या ऑब्जेक्ट कोड भी जारी कर सकते हैं। मुझे एहसास है कि कुछ डेवलपर्स के लिए ये अस्वीकार्य समाधान हैं, लेकिन मैं बस स्पष्ट होना चाहता था। – mikerobi

2

BNRPersistence टोक्यो कैबिनेट पर एक दृढ़ता ऑब्जेक्ट लाइब्रेरी का निर्माण है, मुझे लगता है कि यह वास्तव में एक अच्छा समाधान है। वेब में कोर डेटा और टोक्यो कैबिनेट के बीच तुलना है।

संबंधित मुद्दे