मैं जीवविज्ञान प्रयोगशाला पर काम कर रहा हूं और मुझे कई डीएनए माइक्रोएरे प्रयोग परिणामों को स्टोर करने के लिए डेटाबेस तैयार करना है।बिलियंस पंक्तियां mysql तालिका/कैसंद्रा मॉडल - (और जीवविज्ञान का थोड़ा सा :))
प्रत्येक प्रयोग कई सूक्ष्मजीवों (लगभग दस में औसत) से जुड़ा होता है और प्रत्येक माइक्रोएरे में 5 मिलियन से अधिक जांच होती है। प्रत्येक जांच को एक विशेष जीन आईडी में मैप किया जाता है, बेशक एक ही जांच सभी प्रयोगों में एक ही जीन_आईडी से मेल खाती है। एक विशेष प्रयोग में किसी विशेष जीन आईडी की जांच के तीव्रता मूल्यों को त्वरित रूप से पुनर्प्राप्त करने में सक्षम होने के लिए प्रत्येक माइक्रोएरे के तीव्रता मानों को संग्रहीत करना है।
वास्तव में एक सरल mysql तालिका पर्याप्त होगा, यह ऐसा दिखेगा:
तीव्रता तालिका: | probe_id | EXPERIMENT_ID | microarray_id | gene_id | intensity_value
से बना एक प्राथमिक कुंजी के साथ(probe_id , exper_id, microarray_id, gene_id)
यहां समस्या है: प्रत्येक प्रयोग में कई माइक्रोएरे होते हैं जिनमें 5 मिलियन से अधिक जांच होती है। 1000 प्रयोगों के साथ, औसत पर 10 सूक्ष्मजीव (जो कम अनुमान है, कुछ में सैकड़ों हैं), इसकी 1000 * 10 * 5 एम = 50 बिलियन पंक्तियां। मुझे लगता है कि यह धीमा होगा। और मुझे अरबों पंक्तियों mysql तालिका को संभालने के तरीके के बारे में बिल्कुल कोई जानकारी नहीं है। क्या यह संभव है ? कोई सुझाव ?
मैं भी noSQL डेटाबेस के बारे में उत्सुक हूं। मैंने कभी कैसंद्रा का इस्तेमाल नहीं किया लेकिन मुझे ऐसा लगता है कि यह इस काम के लिए सही होगा, क्या मैं सही हूँ?
{
experiment_id_1:{ <- thats a super collumnFamilly ?
gene_id_1:{ <- thats a collumnFamilly ?
probe_id_1:{ value_microarray_1, value_microarray_2, ... }, <- thats a superCollumn ?
probe_id_2:{ value_microarray_1, value_microarray_2, ... },
probe_id_3:{ value_microarray_1, value_microarray_2, ... },
...
},
gene_id_2:{
probe_id_1:{ value_microarray_1, value_microarray_2, ... },
probe_id_2:{ value_microarray_1, value_microarray_2, ... },
probe_id_3:{ value_microarray_1, value_microarray_2, ... },
...
}
}
experiment_id_2{
...
}
...
}
Am मैं rigth: मैं इस तरह एक शेमा कल्पना कर सकते हैं? क्या यह कैसंद्रा मॉडल फिट होगा? क्या यह कुशल होगा? आपको क्या लगता है नोएसक्यूएल गुरु :)
धन्यवाद।
बेशक एक रिलेशनल डेटाबेस इस समस्या को पूरी तरह से मॉडल कर सकता है, बिंदु यह है: यह 50 अरब से अधिक पंक्तियों के साथ "तीव्रता" तालिका की ओर जाता है, और मैं इस तरह की तालिका को संभालने का तरीका नहीं समझ सकता। – Pierre
@ पियर्रे, 50 बी रिकॉर्ड ठीक से संभाला जा सकता है। अन्य आरडीबीएमएस (जैसे ओरेकल) में अन्य तंत्र हैं जो इस चिकनी बनाने के लिए इंडेक्स-संगठित-टेबल को नियोजित करते हैं। NoSQL सभी अच्छे और अच्छे हैं, लेकिन आप वहां आवश्यकतानुसार कार्यान्वयन में अधिक समय व्यतीत कर सकते हैं। – Xailor