2010-03-01 18 views
21

जब कैसेंड्रा के साथ प्रयोग कर मैंने देखा है कि कैसेंड्रा निम्न फ़ाइलों को लिखते हैं:कैसंड्रा फ़ाइल संरचना - फ़ाइलों का उपयोग कैसे किया जाता है?

/.../cassandra/commitlog/CommitLog-ID.log 
/.../cassandra/data/KEYSPACE/COLUMN_FAMILY-N-Data.db 
/.../cassandra/data/KEYSPACE/COLUMN_FAMILY-N-Filter.db 
/.../cassandra/data/KEYSPACE/COLUMN_FAMILY-N-Index.db 
/.../cassandra/system.log 

कैसेंड्रा फ़ाइल संरचना क्या है:

/.../cassandra/commitlog/CommitLog-<id>.log 
/.../cassandra/data/Keyspace1/Standard1-1-Data.db 
/.../cassandra/data/Keyspace1/Standard1-1-Filter.db 
/.../cassandra/data/Keyspace1/Standard1-1-Index.db 
/.../cassandra/data/system/LocationInfo-1-Data.db 
/.../cassandra/data/system/LocationInfo-1-Filter.db 
/.../cassandra/data/system/LocationInfo-1-Index.db 
/.../cassandra/data/system/LocationInfo-2-Data.db 
/.../cassandra/data/system/LocationInfo-2-Filter.db 
/.../cassandra/data/system/LocationInfo-2-Index.db 
/.../cassandra/data/system/LocationInfo-3-Data.db 
/.../cassandra/data/system/LocationInfo-3-Filter.db 
/.../cassandra/data/system/LocationInfo-3-Index.db 
/.../cassandra/system.log 

सामान्य संरचना हो रहा है? अधिक विशेष रूप से, data, commitlog निर्देशिकाओं का उपयोग कैसे किया जाता है, और data निर्देशिका में फ़ाइलों की संरचना क्या है (Data/Filter/Index)?

+3

मार्ग में गोता लगाने के लिए और समझें कि कैसंद्रा में हुड के नीचे क्या चल रहा है! – Brian

उत्तर

29

एक कैसंड्रा नोड को लिखने से पहले CommitLog (अनुक्रमिक) हिट होता है। (फिर कैसंद्रा कॉलम-पारिवारिक विशिष्ट, मेमटेबल्स नामक मेमोरी डेटा संरचनाओं को मूल्यों को संग्रहीत करता है। जब भी कॉन्फ़िगर करने योग्य थ्रेसहोल्ड पार हो जाता है तो मेमटेबल्स को डिस्क पर फ़्लश किया जाता है। (1, memtable में डेटासाइज। 2, # ऑब्जेक्ट्स की कुछ सीमा तक पहुंच जाती है, 3, एक memtable का जीवनकाल समाप्त हो जाता है।))

डेटा फ़ोल्डर में प्रत्येक कुंजीपटल के लिए सबफ़ोल्डर होता है।

  • डाटा फ़ाइलें:: प्रत्येक सबफ़ोल्डर फ़ाइलों के तीन प्रकार होते हैं एक SSTable (नामकरण गूगल से उधार) के लिए छाँटे स्ट्रिंग्स टेबल खड़ा है और कुंजी-मान स्ट्रिंग जोड़े ( कुंजी के अनुसार क्रमबद्ध) की एक फ़ाइल है।
  • सूचकांक फ़ाइल: (कुंजी, ऑफसेट) जोड़े (डेटा फ़ाइल में अंक)
  • Bloom filter: अलग sstable फ़ाइलों में डेटा फ़ाइल
+1

+1: बढ़िया जवाब! धन्यवाद! – knorv

+0

धन्यवाद। कैसंड्रा विकी शुरू करने के लिए एक अच्छी जगह है यदि आप कैसंड्रा में इस्तेमाल की जाने वाली शब्दावली और नामकरण के बारे में अधिक गहराई से समझ/विवरण रखना चाहते हैं – Schildmeijer

21

Cassandra File Format in detail

प्रत्येक ColumnFamily (। उदाहरण के लिए वस्तु) में सभी चाबियाँ

ColumnFamilyName-version-#-Data.db 
ColumnFamilyName-version-#-Index.db 
ColumnFamilyName-version-#-Filter.db 

enter image description here

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