2011-11-29 10 views
5

मैं कैसंद्रा के लिए नया हूं और डेटा मॉडलिंग और रेंज क्वेरीज़ का प्रयास कर रहा हूं।कैसंद्रा रेंज क्वेरीज

सीखने के उद्देश्य के लिए मैं एक डेटाबेस विकसित करना चाहता हूं जहां मैं अपने लॉगटाइप और लॉग जनरेशन समय के साथ लॉग लाइनों को स्टोर कर सकता हूं। जहां मुझे नीचे दिए गए प्रश्न का उत्तर देना है:

दिनांक सीमा के बीच लॉगटाइप द्वारा लॉगलाइन खोजें।

2 स्तंभ परिवारों के रूप में मेरे डेटाबेस मॉडल: 1) के लिए लॉग

create column family log with comparator = 'UTF8Type' 
and key_validation_class = 'LexicalUUIDType' 
and column_metadata=[{column_name: block, validation_class: UTF8Type}]; 

जहाँ मैं लॉग इन करने के साथ लाइनों स्टोर करने के लिए योजना बना रहा हूँ उनके logid के

पूर्व: set log['7561a442-24e2-11df-8924-001ff3591711'][blocks]='someText|11-17-2011 23:40:42|sometext';

2)

create column family ltype with column_type = 'Super' 
and comparator = 'TimeUUIDType' 
and subcomparator = 'UTF8Type' 
and column_metadata=[{column_name: id, validation_class: LexicalUUIDType}]; 

इस सी में परिवार olumn मैं समय और लॉग स्तंभ परिवार से लॉग पंक्ति आईडी के साथ साथ लॉग प्रकार का संग्रह किया जायेगा:

ex: set ltype[ltype1][12307245916538][id]='7561a442-24e2-11df-8924-001ff3591711'; 

मैं जब प्रवेश करें और समय अवधि के प्रकार दिए गए परिणाम प्राप्त करना चाहते।

क्या कोई मुझे सुपर कॉलम परिवार पर एक श्रेणी क्वेरी चलाने के लिए मार्गदर्शन कर सकता है?

उत्तर

6

कैसेंड्रा में समय श्रृंखला डेटा मॉडलिंग पर एक लेख:

http://rubyscale.com/2011/basic-time-series-with-cassandra/

समय श्रृंखला के लिए, आप वास्तव में बड़ा पंक्तियों क्या करना चाहते हैं - शायद एक प्रारंभिक बिंदु के रूप में प्रति पंक्ति 10K-50K कॉलम के पड़ोस में (आपके भार के आधार पर)।

[datetime] _ [5 सेकंड अंतराल] (विवरण के स्तर को फिर से लोड के आधार पर)

इस तरह अपनी चाबी कर सकते हैं: अगर आप कुंजी एक "तिथि बाल्टी" के एक समारोह कर आप पूरी तरह से सुपर स्तंभों से बच सकते हैं फिर से बनाया जाए, और आप बस अपनी इच्छित बाल्टी के लिए चाबियों के साथ एक बहु_गेट जारी कर रहे हैं। डेटा मॉडलिंग की

एक अधिक सामान्य अवलोकन:

http://www.datastax.com/docs/0.8/ddl/index

+0

धन्यवाद zznate, [कड़ी] (http://rubyscale.com/2011/basic-time-series-with-cassandra/) है काफी मददगार – user1071714

+0

धन्यवाद zznate, [link] (http://rubyscale.com/2011/basic-time-series-with-cassandra/) काफी उपयोगी है। हालांकि, मुझे लॉग-लाइन में कुछ अन्य कॉलम के उत्तर देने के लिए अन्य समान समय-सीमा प्रश्न मिल गए। तो क्या आप सुझाव देते हैं कि मैं प्रत्येक कॉल किए गए कॉलम के लिए [कॉलमवेल्यू-डेटाटाइमटेरवल] के साथ अलग-अलग कॉलम परिवार बनाउं या अन्य बेहतर काम है? – user1071714