क्या यह Oracle या MySQL है या कुछ ऐसा जो उन्होंने खुद बनाया है?
क्या यह Oracle या MySQL है या कुछ ऐसा जो उन्होंने खुद बनाया है?
जवाबों:
संरचित डेटा के लिए एक वितरित संग्रहण प्रणाली
बिगटेबल संरचित डेटा को प्रबंधित करने के लिए एक वितरित स्टोरेज सिस्टम (Google द्वारा निर्मित) है जो एक बहुत बड़े आकार के पैमाने के लिए डिज़ाइन किया गया है: हजारों कमोडिटी सर्वरों पर डेटा की पेटबाइट्स।
बिगटेबल में Google स्टोर डेटा पर कई परियोजनाएं, जिनमें वेब इंडेक्सिंग, Google अर्थ और Google वित्त शामिल हैं। ये अनुप्रयोग डेटा आकार (URL से वेब पेज से लेकर सैटेलाइट इमेजरी तक) और विलंबता आवश्यकताओं (बैकएंड बल्क प्रोसेसिंग से लेकर रियल-टाइम डेटा सर्विंग) दोनों के संदर्भ में Bigtable पर बहुत अलग-अलग माँग रखते हैं।
इन विभिन्न मांगों के बावजूद, बिगटेबल ने इन सभी Google उत्पादों के लिए एक लचीला, उच्च-प्रदर्शन समाधान प्रदान किया है।
कुछ सुविधाएं
आर्किटेक्चर
BigTable एक रिलेशनल डेटाबेस नहीं है। यह जॉइन का समर्थन नहीं करता है और न ही यह रिच एसक्यूएल जैसे प्रश्नों का समर्थन करता है। प्रत्येक तालिका एक बहुआयामी विरल मानचित्र है। टेबल्स में पंक्तियाँ और कॉलम होते हैं, और प्रत्येक सेल में एक समय टिकट होता है। विभिन्न समय टिकटों के साथ एक सेल के कई संस्करण हो सकते हैं। समय की मोहर इस वेब पेज के "एन 'सलेक्ट' एन 'जैसे ऑपरेशंस के लिए अनुमति देती है" या "उन कोशिकाओं को हटा दें जो किसी विशिष्ट तिथि / समय से अधिक पुरानी हैं।"
विशाल तालिकाओं का प्रबंधन करने के लिए, Bigtable पंक्ति सीमाओं में तालिकाओं को विभाजित करता है और उन्हें गोलियों के रूप में बचाता है। एक गोली लगभग 200 एमबी है, और प्रत्येक मशीन लगभग 100 टैबलेट बचाता है। यह सेटअप कई सर्वरों के बीच एक ही टेबल से टैबलेट को फैलाने की अनुमति देता है। यह ठीक-ठाक लोड संतुलन के लिए भी अनुमति देता है। यदि एक तालिका में कई क्वेरीज़ आ रही हैं, तो यह अन्य टैबलेट्स को बहा सकती है या व्यस्त टेबल को दूसरी मशीन पर ले जा सकती है जो इतनी व्यस्त नहीं है। इसके अलावा, यदि कोई मशीन नीचे जाती है, तो एक टैबलेट कई अन्य सर्वरों में फैलाया जा सकता है ताकि किसी भी मशीन पर प्रदर्शन प्रभाव कम से कम हो।
टेबल को अपरिवर्तनीय SSTables और लॉग की एक पूंछ (प्रति मशीन एक लॉग) के रूप में संग्रहीत किया जाता है। जब कोई मशीन सिस्टम मेमोरी से बाहर निकलती है, तो वह Google स्वामित्व संपीडन तकनीकों (BMDiff और Zippy) का उपयोग करके कुछ टैबलेट को संपीड़ित करती है। छोटी-छोटी कंपार्टमेंट्स में केवल कुछ टैबलेट शामिल होते हैं, जबकि प्रमुख कंपार्टमेंट्स में संपूर्ण टेबल सिस्टम शामिल होता है और हार्ड-डिस्क स्थान को पुनर्प्राप्त करता है।
Bigtable गोलियाँ के स्थानों कोशिकाओं में जमा हो जाती है। किसी विशेष टैबलेट का लुक तीन स्तरीय प्रणाली द्वारा नियंत्रित किया जाता है। ग्राहकों को एक META0 तालिका के लिए एक बिंदु मिलता है, जिसमें से केवल एक है। META0 टेबल कई META1 टैबलेट्स का ट्रैक रखता है जिनमें टैबलेट के स्थानों को देखा जाता है। META0 और META1 दोनों सिस्टम में आने वाली अड़चनों को कम करने के लिए प्री-फ़ेचिंग और कैशिंग का भारी उपयोग करते हैं।
कार्यान्वयन
बिगटेबल Google फ़ाइल सिस्टम पर बनाया गया है (GFS) , जिसका उपयोग लॉग और डेटा फ़ाइलों के लिए बैकिंग स्टोर के रूप में किया जाता है। जीएफएस SSTables के लिए विश्वसनीय भंडारण प्रदान करता है, जो तालिका डेटा को बनाए रखने के लिए उपयोग किया जाने वाला एक Google-स्वामित्व फ़ाइल प्रारूप है।
एक और सेवा जो बिगटेबल का भारी उपयोग करती है, वह है चब्बी , एक अत्यधिक-उपलब्ध, विश्वसनीय वितरित लॉक सेवा। गलफुला ग्राहकों को एक ताला लेने की अनुमति देता है, संभवतः इसे कुछ मेटाडेटा के साथ जोड़ रहा है, जिसे यह चब्बी को वापस जीवित संदेश भेजकर नवीनीकृत कर सकता है। ताले एक फाइलसिस्टम-जैसे पदानुक्रमित नामकरण संरचना में संग्रहीत होते हैं।
Bigtable सिस्टम में तीन प्राथमिक सर्वर प्रकार के हित हैं:
Google के शोध पत्र से उदाहरण:
एक उदाहरण तालिका का एक टुकड़ा जो वेब पृष्ठों को संग्रहीत करता है। पंक्ति नाम एक उल्टा URL है । सामग्री स्तंभ परिवार में पृष्ठ सामग्री होती है , और लंगर स्तंभ परिवार में पृष्ठ को संदर्भित करने वाले किसी भी एंकर का पाठ होता है । सीएनएन के मुख पृष्ठ पर, दोनों स्पोर्ट्स इलस्ट्रेटेड और मेरी देखो घर पृष्ठों से संदर्भित तो पंक्ति कॉलम नामित होता है
anchor:cnnsi.com
औरanchor:my.look.ca
। प्रत्येक एंकर सेल का एक संस्करण है ; सामग्री स्तंभ है तीन संस्करणों टाइम स्टांप पर,t3
,t5
, औरt6
।
एपीआई
बिगटेबल के लिए विशिष्ट ऑपरेशन टेबल और कॉलम परिवारों का निर्माण और विलोपन हैं, एक पंक्ति से डेटा लिखना और कॉलम हटाना। BigTable एक एपीआई में डेवलपर्स के लिए यह कार्य प्रदान करता है। लेन-देन पंक्ति स्तर पर समर्थित हैं, लेकिन कई पंक्ति कुंजियों में नहीं।
यहां शोध पत्र की पीडीएफ के लिए लिंक दिया गया है ।
और यहां आप Google के जेफ डीन को वाशिंगटन विश्वविद्यालय में एक व्याख्यान में दिखाते हुए एक वीडियो पा सकते हैं , जो Google के बैकएंड में उपयोग की जाने वाली बिगटेबल सामग्री भंडारण प्रणाली पर चर्चा कर रहा है।
यह कुछ ऐसा है जो उन्होंने खुद बनाया है - इसे बिगटेबल कहा जाता है।
http://en.wikipedia.org/wiki/BigTable
डेटाबेस पर Google द्वारा एक पेपर है:
Spanner , Google का विश्व स्तर पर वितरित रिलेशनल डेटाबेस मैनेजमेंट सिस्टम (RDBMS) है, जो BigTable का उत्तराधिकारी है । Google का दावा है कि यह एक शुद्ध संबंधपरक प्रणाली नहीं है क्योंकि प्रत्येक तालिका में एक प्राथमिक कुंजी होनी चाहिए।
यहाँ कागज का लिंक दिया गया है।
स्पैनर Google का स्केलेबल, मल्टी-वर्जन, विश्व स्तर पर वितरित, और सिंक्रोनस-प्रतिकृति डेटाबेस है। यह वैश्विक स्तर पर डेटा वितरित करने और बाह्य-संगत वितरित लेनदेन का समर्थन करने वाली पहली प्रणाली है। इस पत्र में बताया गया है कि स्पैनर को कैसे संरचित किया गया है, इसका फीचर सेट, विभिन्न डिज़ाइन निर्णयों को रेखांकित करने वाला औचित्य और एक उपन्यास टाइम एपीआई जो घड़ी की अनिश्चितता को उजागर करता है। यह एपीआई और इसके कार्यान्वयन बाहरी स्थिरता और विभिन्न प्रकार की शक्तिशाली विशेषताओं का समर्थन करने के लिए महत्वपूर्ण हैं: अतीत में लॉक-फ्री रीड-ओनली ट्रांजेक्शन और परमाणु स्कीमा परिवर्तन, गैर-अवरोधक रीड्स पूरे स्पैनर में पढ़ते हैं।
Google द्वारा आविष्कार किया गया एक और डेटाबेस है मेगास्टोर है । यहाँ सार है:
मेगास्टोर एक स्टोरेज सिस्टम है जिसे आज की इंटरैक्टिव ऑनलाइन सेवाओं की आवश्यकताओं को पूरा करने के लिए विकसित किया गया है। मेगास्टॉर ने एक नोवेल डेटासटोर की स्केलेबिलिटी को पारंपरिक RDBMS की सुविधा के साथ एक उपन्यास तरीके से तैयार किया है, और मजबूत स्थिरता की गारंटी और उच्च उपलब्धता दोनों प्रदान करता है। हम डेटा के ठीक-ठीक विभाजन के भीतर पूरी तरह से क्रमबद्ध ACID शब्दार्थ प्रदान करते हैं। यह विभाजन हमें उचित विलंबता के साथ एक विस्तृत क्षेत्र नेटवर्क में प्रत्येक लिखने को तुल्यकालिक रूप से दोहराने और डेटासेंटर के बीच निर्बाध विफलता का समर्थन करने की अनुमति देता है। इस पत्र में मेगास्टोर के शब्दार्थ और प्रतिकृति एल्गोरिदम का वर्णन किया गया है। यह मेगास्टोर के साथ निर्मित Google उत्पादन सेवाओं की एक विस्तृत श्रृंखला का समर्थन करने वाले हमारे अनुभव का भी वर्णन करता है।
जैसा कि दूसरों ने उल्लेख किया है, Google BigTable नामक एक घरेलू समाधान का उपयोग करता है और उन्होंने वास्तविक दुनिया में इसका वर्णन करते हुए कुछ कागजात जारी किए हैं।
अपाचे लोगों के पास इन पत्रों में प्रस्तुत विचारों का एक कार्यान्वयन है जिसे HBase कहा जाता है । HBase बड़ी Hadoop परियोजना का हिस्सा है जो उनकी साइट के अनुसार "एक सॉफ्टवेयर प्लेटफ़ॉर्म है जो किसी को आसानी से लिखने और बड़ी मात्रा में डेटा को संसाधित करने वाले एप्लिकेशन चलाने देता है।" कुछ बेंचमार्क काफी प्रभावशाली हैं। उनकी साइट http://hadoop.apache.org पर है ।
हालाँकि Google अपने सभी मुख्य अनुप्रयोगों के लिए BigTable का उपयोग करता है, लेकिन वे अन्य (शायद मामूली) ऐप्स के लिए भी MySQL का उपयोग करते हैं।
और यह शायद यह भी जानना आसान है कि बिगटेबल एक रिलेशनल डेटाबेस (जैसे MySQL) नहीं है, लेकिन एक विशाल (वितरित) हैश टेबल है जिसमें बहुत अलग विशेषताएं हैं। आप Google AppEngine पर BigTable के साथ (सीमित संस्करण) खेल सकते हैं प्लेटफॉर्म ।
ऊपर उल्लिखित हडोप के आगे कई अन्य कार्यान्वयन हैं जो बिगटेबल (स्केलेबिलिटी, उपलब्धता) के समान समस्याओं को हल करने का प्रयास करते हैं। मैं एक अच्छा ब्लॉग पोस्ट कल उनमें से ज्यादातर लिस्टिंग देखा यहाँ ।
Google मुख्य रूप से Bigtable का उपयोग करता है।
बिगटेबल संरचित डेटा को प्रबंधित करने के लिए एक वितरित भंडारण प्रणाली है जिसे बहुत बड़े आकार के पैमाने पर डिज़ाइन किया गया है।
अधिक जानकारी के लिए, यहां से दस्तावेज़ डाउनलोड करें ।
Google अपने कुछ अनुप्रयोगों के लिए Oracle और MySQL डेटाबेस का भी उपयोग करता है।
किसी भी अधिक जानकारी आप जोड़ सकते हैं बहुत सराहना की है।
Google also use Oracle
- संदर्भ की जरूरत है।
Google सेवाओं में एक बहुभाषाविद दृढ़ता वास्तुकला है। BigTable अपनी अधिकांश सेवाओं जैसे YouTube, Google Search, Google Analytics आदि द्वारा लीवरेज्ड है। खोज सेवा ने शुरुआत में अपने अनुक्रमण बुनियादी ढांचे के लिए MapReduce का उपयोग किया था, लेकिन बाद में कैफीन रिलीज़ के दौरान BigTable में परिवर्तित कर दिया गया।
Google क्लाउड डेटास्टोर में आंतरिक और बाहरी दोनों उपयोगकर्ताओं का सामना करने वाले Google में 100 से अधिक अनुप्रयोग हैं। जीमेल, पिकासा, Google कैलेंडर, Android Market और AppEngine जैसे एप्लिकेशन क्लाउड डेटास्टोर और मेगास्टोर का उपयोग करते हैं।
Google ट्रेंड स्ट्रीम प्रोसेसिंग के लिए MillWheel का उपयोग करता है। Google विज्ञापन ने शुरुआत में MySQL का उपयोग किया था बाद में F1 DB में स्थानांतरित हो गया - एक कस्टम लिखित वितरित रिलेशनल डेटाबेस। Youtube MySQL को Vitess के साथ उपयोग करता है। Google Google फ़ाइल सिस्टम की मदद से कमोडिटी सर्वरों में डेटा का संग्रहण करता है।
स्रोत: Google डेटाबेस: Google सेवा स्टोर पेटाबाइट-एक्साबाइट स्केल डेटा कैसे करते हैं?
YouTube डेटाबेस - यह स्टोरेज स्पेस से बाहर निकलने के बिना कितने वीडियो स्टोर करता है?