बिग टेबल

बिगटेबल गूगल क्लाउड पोर्टफोलियो के हिस्से के रूप में बड़े विश्लेषणात्मक और परिचालन वर्कलोड के लिए पूरी तरह से प्रबंधित वाइड-कॉलम और की-वैल्यू एनओएसक्यूएल डेटाबेस सेवा है।

इतिहास
बिगटेबल का विकास 2004 में शुरू हुआ। यह अब कई Google अनुप्रयोगों द्वारा उपयोग किया जाता है, जैसे कि Google Analytics, वेब अनुक्रमण, MapReduce, जिसका उपयोग अक्सर Bigtable में संग्रहीत डेटा को जनरेट करने और संशोधित करने के लिए किया जाता है, गूगल मानचित्र, Google पुस्तकें खोज, मेरा खोज इतिहास, Google धरती, Blogger.com, Google कोड होस्टिंग, YouTube, और जीमेल लगीं । Google के अपने स्वयं के डेटाबेस को विकसित करने के कारणों में मापनीयता और प्रदर्शन विशेषताओं का बेहतर नियंत्रण शामिल है।

Google का स्पैनर (डेटाबेस) दो-चरण प्रतिबद्ध प्रोटोकॉल के लिए पैक्सोस (कंप्यूटर विज्ञान) समूह के साथ बिगटेबल के कार्यान्वयन पर स्तरित है। प्रत्येक तालिका के लिए दो-चरण प्रतिबद्ध है। Google F1 को MySQL पर आधारित कार्यान्वयन को बदलने के लिए स्पैनर का उपयोग करके बनाया गया था। Apache HBase और Apache Cassandra कुछ सबसे प्रसिद्ध ओपन सोर्स प्रोजेक्ट हैं जिन्हें बिगटेबल के बाद तैयार किया गया था।

6 मई, 2015 को, क्लाउड बिगटेबल नाम के तहत बिगटेबल का एक सार्वजनिक संस्करण Google क्लाउड प्लेटफ़ॉर्म के एक भाग के रूप में उपलब्ध कराया गया था। जनवरी 2022 तक, बिगटेबल 10 एक्साबाइट डेटा का प्रबंधन करता है और प्रति सेकंड 5 बिलियन से अधिक अनुरोधों को पूरा करता है। 27 जनवरी, 2022 को, Google ने स्वचालित मापनीयता सहित बिगटेबल के लिए कई अपडेट की घोषणा की।

डिजाइन
बिगटेबल वाइड-कॉलम स्टोर के प्रोटोटाइपिकल उदाहरणों में से एक है। यह दो मनमाना स्ट्रिंग मान (पंक्ति कुंजी और स्तंभ कुंजी) और टाइमस्टैम्प (इसलिए त्रि-आयामी मानचित्रण) को एक संबद्ध मनमाना बाइट सरणी में मैप करता है। यह एक संबंधपरक डेटाबेस नहीं है और इसे विरल, वितरित बहु-आयामी क्रमबद्ध मानचित्र के रूप में बेहतर परिभाषित किया जा सकता है। यह कोलोसस (गूगल फाइल सिस्टम), वितरित लॉक मैनेजर#अन्य क्रियान्वयन, एसएसटेबल (लॉग-स्ट्रक्चर्ड स्टोरेज जैसे लेवलडीबी) और कुछ अन्य गूगल तकनीकों पर बनाया गया है। बिगटेबल को सैकड़ों या हजारों मशीनों में पेटाबाइट रेंज में स्केल करने के लिए डिज़ाइन किया गया है, और सिस्टम में [में] अधिक मशीनों को जोड़ना आसान बनाता है और स्वचालित रूप से बिना किसी पुन: कॉन्फ़िगरेशन के उन संसाधनों का लाभ लेना शुरू कर देता है। उदाहरण के लिए, वेब की Google की कॉपी को एक बिगटेबल में स्टोर किया जा सकता है, जहां पंक्ति कुंजी एक रिवर्स डोमेन नेम नोटेशन|डोमेन-रिवर्स्ड URL है, और कॉलम एक वेब पेज के विभिन्न गुणों का वर्णन करते हैं, जिसमें एक विशेष कॉलम पेज को ही रखता है। पेज कॉलम में कई टाइमस्टैम्प वाले संस्करण हो सकते हैं जो वेब पेज की टाइमस्टैम्प की विभिन्न प्रतियों का वर्णन करते हैं जब वे लाए गए थे। बिगटेबल के प्रत्येक सेल में डेटा के शून्य या अधिक टाइमस्टैम्प वाले संस्करण हो सकते हैं। टाइमस्टैम्प का एक अन्य कार्य समय सीमा समाप्त डेटा के संस्करण नियंत्रण और कचरा संग्रहण (कंप्यूटर विज्ञान) दोनों के लिए अनुमति देना है।

टेबल्स को कई टैबलेट्स में विभाजित किया जाता है - टेबल के सेगमेंट को कुछ पंक्ति कुंजियों में विभाजित किया जाता है ताकि प्रत्येक टैबलेट कुछ सौ मेगाबाइट या कुछ गीगाबाइट आकार में हो। एक बिगटेबल कुछ हद तक एक मैप्रेड्यूस वर्कर पूल की तरह है जिसमें हजारों से सैकड़ों टैबलेट शार्क सैकड़ों से हजारों बिगटेबल सर्वरों द्वारा परोसे जा सकते हैं। जब तालिका का आकार एक निर्दिष्ट सीमा से अधिक बढ़ने का खतरा होता है, तो टैबलेट को BMDiff एल्गोरिथम का उपयोग करके संपीड़ित किया जा सकता है और ज़िप्पी संपीड़न एल्गोरिदम स्नैपी (संपीड़न) के रूप में सार्वजनिक रूप से ज्ञात और ओपन-सोर्स, जो LZ77 का कम स्थान-इष्टतम रूपांतर है लेकिन कंप्यूटिंग समय के मामले में अधिक कुशल है। टेबलेट के GFS में स्थान कई विशेष टैबलेट में डेटाबेस प्रविष्टियों के रूप में दर्ज किए जाते हैं, जिन्हें META1 टैबलेट कहा जाता है। META1 टैबलेट एकल META0 टैबलेट को क्वेरी करके पाया जाता है, जो आम तौर पर अपने स्वयं के सर्वर पर रहता है क्योंकि इसे अक्सर क्लाइंट द्वारा META1 टैबलेट के स्थान के रूप में पूछताछ की जाती है, जिसके पास वास्तविक डेटा कहां स्थित है, इस प्रश्न का उत्तर होता है।. GFS के मास्टर सर्वर की तरह, META0 सर्वर आम तौर पर एक अड़चन (सॉफ़्टवेयर) नहीं है क्योंकि META1 स्थानों को खोजने और प्रसारित करने के लिए आवश्यक प्रोसेसर समय और बैंडविड्थ न्यूनतम है और ग्राहक प्रश्नों को कम करने के लिए स्थानों को आक्रामक रूप से कैश करते हैं।