2009-10-24 6 views
12

तो मैं विभिन्न कुंजी देख रहा हूं: मूल्य (जहां मूल्य या तो सख्ती से एक मूल्य या संभवतः एक वस्तु है) पाइथन के साथ उपयोग के लिए स्टोर करता है, और कुछ आशाजनक लोगों को मिला है। मेरे पास अभी तक कोई विशिष्ट आवश्यकता नहीं है क्योंकि मैं मूल्यांकन चरण में हूं। मैं देख रहा हूं कि क्या अच्छा है, क्या बुरा है, इन चीजों को अच्छी तरह से संभालते हैं या नहीं, आदि के कोने के मामले क्या हैं। मुझे यकीन है कि आप में से कुछ ने पहले से ही कोशिश की है इसलिए मुझे आपके निष्कर्ष/समस्याएं सुनना अच्छा लगेगा /आदि। विभिन्न कुंजी पर: पायथन के साथ मूल्य भंडार। http://www.danga.com/memcached/ अजगर ग्राहकों -कौन सी कुंजी: पायथन के साथ उपयोग करने के लिए मूल्य स्टोर?

memcached: http://pypi.python.org/pypi/python-memcached/1.40http://www.tummy.com/Community/software/python-memcached/

CouchDB - http://couchdb.apache.org/ अजगर ग्राहकों: http://code.google.com/p/couchdb-python/

टोक्यो टायरेंट - http://1978th.net/tokyotyrant/ अजगर ग्राहकों: http://code.google.com/p/pytyrant/

Lightcloud - http://opensource.plurk.com/LightCloud/ आधारित मैं मुख्यतः पर देख रहा हूँ टोक्यो ट्रायंट पर, पायथन

आर में लिखा गया एडिस - http://redis.io/ अजगर ग्राहकों: http://pypi.python.org/pypi/txredis/0.1.1

MemcacheDB - http://memcachedb.org/

तो मैं बेंचमार्किंग (बस कुंजी डालने और उन्हें पढ़ने) संख्यात्मक कुंजियों और "पाठ की एक छोटी स्ट्रिंग" का मान उत्पन्न करने के लिए एक सरल गिनती का उपयोग शुरू किया:

memcached: CentOS 5.3/पायथन-2.4.3-24.el5_3.6, libevent 1.4.12-स्थिर, डिफ़ॉल्ट सेटिंग्स के साथ memcached 1.4.2, 1 गीगा स्मृति, प्रति सेकंड 14,000 आवेषण, पढ़ने के लिए 16,000 सेकंड। कोई असली अनुकूलन, अच्छा नहीं।

memcachedb प्रति सेकंड 17,000 से 23,000 आवेषण के क्रम पर दावा करता है, प्रति सेकंड 44,000 से 64,000 पढ़ता है।

मैं यह भी सोच रहा हूं कि दूसरों ने गतिशील तरीके से कैसे ढेर किया।

+0

मुख्य मूल्य स्टोर? आप एक डेटाबेस का मतलब है? – Soviut

+2

आपकी आवश्यकताओं पर अधिक जानकारी? (डेटाबेस आकार, प्रविष्टियों की संख्या, आदि) – peufeu

+1

खैर, कॉच डीबी एक कुंजी नहीं है: मूल्य स्टोर प्रति से, यह एक दस्तावेज़ डेटाबेस है, क्योंकि संग्रहीत डेटा केवल मनमानी डेटा नहीं बल्कि एक जेसन दस्तावेज़ है। तो सवाल यह हो जाता है कि आप अधिक विशेष रूप से क्यों खोज रहे हैं? Schemaless डेटाबेस, या यह वास्तव में सिर्फ एक कुंजी है: मूल्य स्टोर आप की जरूरत है? यदि आप स्केमेलेस डेटाबेस चाहते हैं तो आपको उस सूची में ZODB शामिल करना चाहिए। –

उत्तर

6

जो अधिकतर आपकी आवश्यकता पर निर्भर करता है।

Caveats of Evaluating Databases पढ़ें ताकि उनका मूल्यांकन कैसे किया जा सके।

+0

अब तक के सबसे अच्छे पृष्ठों में से एक मैंने देखा है। – Kurt

-1

अमेज़ॅन के सरल डीबी के बारे में कैसे?

अमेज़ॅन वेब सेवाओं को इंटरफेसिंग करने वाले पाइथन के लिए बोटो नामक एक ओपन-सोर्स पायथन लाइब्रेरी है।

+3

क्षमता (विलंबता ज्यादातर, रिमोट = धीमी) और लागत, मैं इसे स्थानीय रूप से चलाऊंगा। – Kurt

3

टांड़ (भंडारण फ़ाइल में dictonaris/मानक अजगर मॉड्यूल)

ZODB - persisatnce वस्तु डेटाबेस (अजगर वस्तुओं डेटाबेस, कोई एसक्यूएल)

अधिक दृढ़ता उपकरण: http://wiki.python.org/moin/PersistenceTools

+0

अच्छा, मैंने एक कीवर्ड के रूप में "दृढ़ता" का उपयोग करने का विचार नहीं किया होगा, लेकिन यह समझ में आता है। – Kurt

+0

मुझे यह भी बेहतर पसंद है। इस तरह आपके पास डेटाबेस है जो पायथन भाषा के मूल निवासी है। प्रोग्राम में आपको जो चाहिए वह इस तरह है (छद्म कोड चेतावनी) a = load_database (डेटाबेस) newtable = {} newtable ['key'] = 'value' a ['new_table'] = newtable a.save –

3

मेरे 5 सेंट:

क्या आपको टेरा बाइट आकार के डेटा या बड़े पैमाने पर लेखन प्रदर्शन के साथ वितरित सिस्टम की आवश्यकता है?

ठीक है, उन्हें आपको एक बड़ी कुंजी की आवश्यकता है: मूल्य/बिगटेबल/डायनेमो टाइप चीजें। यह कैसंद्रा, टोक्यो ट्रायंट, रेडिस इत्यादि द्वारा होगा। आपको यह सुनिश्चित करने की ज़रूरत है कि क्लाइंट लाइब्रेरी शेरिंग का समर्थन करे ताकि आपके पास लिखने के लिए कई डेटाबेस हो सकें। यहां उपयोग करने के लिए कौन सा आपको केवल डेटा के साथ परीक्षण करने के बाद ही तय किया जा सकता है जो आपको लगता है कि आपको क्या चाहिए।

क्या आपको पाइथन की तुलना में अन्य सिस्टम/भाषाओं से डेटा तक पहुंचने की आवश्यकता है?

चूंकि इन डेटाबेसों के पास उनके डेटा पर कोई संरचना नहीं है, यदि यह अन्य भाषाओं/ग्राहकों से सुलभ है, तो यह आपके द्वारा संग्रहीत किए जाने वाले कार्यों पर निर्भर करता है। लेकिन अगर आपको यह कॉच डीबी की ज़रूरत है तो यह एक अच्छी पसंद है, क्योंकि यह अपने डेटा को जेएसओएन दस्तावेज संग्रहीत करता है, इसलिए आपको अंतःक्रियाशीलता मिलती है। वास्तव में भारी डेटा पर CouchDB कितना अच्छा है और शेरर्ड अस्पष्ट है।

क्या आपको पाइथन या वितरित बहु-सर्वर संग्रहण की तुलना में अन्य भाषाओं के साथ अंतःक्रियाशीलता की आवश्यकता नहीं है?

ZODB का उपयोग करें।

+2

सर्वश्रेष्ठ भाग: ZODB का उपयोग करें । यदि आपको इसे स्केल करने की आवश्यकता है, तो इसके लिए एक सर्वर है (ZEO देखें)। –

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