1. खास जानकारी
पिछला अपडेट: 23-07-2020
Cloud Spanner क्या है?
Google Cloud Spanner, दुनिया भर में उपलब्ध एक ऐसा डेटाबेस है जो ACID के सिद्धांतों का पालन करता है. यह रेप्लिका, शार्डिंग, और लेन-देन की प्रोसेस को अपने-आप मैनेज करता है. इससे आपको इस्तेमाल के किसी भी पैटर्न के हिसाब से तेज़ी से स्केल करने और अपने प्रॉडक्ट की सफलता को पक्का करने में मदद मिलती है.
मुख्य सुविधाएं
- स्केल के लिए बनाया गया रिलेशनल डेटाबेस: इसमें आपको रिलेशनल डेटाबेस से जुड़ी हर सुविधा मिलती है. जैसे, स्कीमा, SQL क्वेरी, और ACID ट्रांज़ैक्शन. इसे कई बार टेस्ट किया गया है और यह दुनिया भर में इस्तेमाल करने के लिए तैयार है.
- 99.999% उपलब्धता: Cloud Spanner, एक से ज़्यादा क्षेत्रों वाले इंस्टेंस के लिए इंडस्ट्री में सबसे ज़्यादा 99.999% उपलब्धता देता है. यह चार नाइन से 10 गुना कम डाउनटाइम है. साथ ही, यह क्षेत्र और एक से ज़्यादा क्षेत्रों वाले कॉन्फ़िगरेशन में पारदर्शी और सिंक्रोनस रेप्लिकेशन उपलब्ध कराता है.
- अपने-आप शार्डिंग होने की सुविधा: Cloud Spanner, परफ़ॉर्मेंस को ऑप्टिमाइज़ करता है. इसके लिए, वह अनुरोध के लोड और डेटा के साइज़ के आधार पर डेटा को अपने-आप शार्ड करता है. इस वजह से, आपको अपने डेटाबेस को बढ़ाने के तरीके के बारे में कम सोचना पड़ता है. इसके बजाय, अपने कारोबार को बढ़ाने पर ध्यान दिया जा सकता है.
आपको क्या सीखने को मिलेगा
- Google Cloud Console का इस्तेमाल करके Cloud Spanner इंस्टेंस बनाना.
- Cloud Spanner इंस्टेंस में नया डेटाबेस बनाना.
- सैंपल डेटा को लोड करने और उसके बारे में क्वेरी करने के लिए, sampledb का इस्तेमाल किया जा रहा है.
- Cloud Spanner इंस्टेंस मिटाया जा रहा है.
2. सेटअप और ज़रूरी शर्तें
अपने हिसाब से एनवायरमेंट सेट अप करना
अगर आपके पास पहले से कोई Google खाता (Gmail या Google Apps) नहीं है, तो आपको एक खाता बनाना होगा. Google Cloud Platform Console ( console.cloud.google.com) में साइन इन करें और एक नया प्रोजेक्ट बनाएं:


प्रोजेक्ट आईडी याद रखें. यह सभी Google Cloud प्रोजेक्ट के लिए एक यूनीक नाम होता है. ऊपर दिया गया नाम पहले ही इस्तेमाल किया जा चुका है. इसलिए, यह आपके लिए काम नहीं करेगा. माफ़ करें! इस कोडलैब में इसे बाद में PROJECT_ID के तौर पर दिखाया जाएगा.
इसके बाद, Google Cloud संसाधनों का इस्तेमाल करने के लिए, आपको Cloud Console में बिलिंग चालू करनी होगी.
इस कोडलैब को पूरा करने में आपको कुछ डॉलर से ज़्यादा खर्च नहीं करने पड़ेंगे. हालांकि, अगर आपको ज़्यादा संसाधनों का इस्तेमाल करना है या उन्हें चालू रखना है, तो यह खर्च बढ़ सकता है. इस दस्तावेज़ के आखिर में "सफाई" सेक्शन देखें.
Google Cloud के नए उपयोगकर्ता, 300 डॉलर का क्रेडिट पा सकते हैं. इससे वे बिना किसी शुल्क के Google Cloud की सुविधाओं को आज़मा सकते हैं.
3. Cloud Console में Spanner खोलें
Google Cloud Console में, बाईं ओर मौजूद नेविगेशन के लिए स्क्रीन पर सबसे ऊपर बाईं ओर मौजूद मेन्यू आइकॉन पर क्लिक करें.
नीचे की ओर स्क्रोल करें और "स्पैनर" चुनें:

अब आपको Cloud Spanner का यूज़र इंटरफ़ेस (यूआई) दिखेगा. अगर आपने ऐसे प्रोजेक्ट का इस्तेमाल किया है जिसमें Cloud Spanner API अब तक चालू नहीं किया गया है, तो आपको एक डायलॉग दिखेगा. इसमें आपको इसे चालू करने के लिए कहा जाएगा. अगर आपने एपीआई पहले ही चालू कर दिया है, तो इस चरण को छोड़ा जा सकता है.
जारी रखने के लिए, "चालू करें" पर क्लिक करें:

4. इंस्टेंस बनाना
सबसे पहले, आपको Cloud Spanner इंस्टेंस बनाना होगा. नया इंस्टेंस बनाने के लिए, यूज़र इंटरफ़ेस (यूआई) में "Create Instance" पर क्लिक करें:

"Create Instance" पर क्लिक करने के बाद, आपको एक ऐसे पेज पर ले जाया जाएगा जहां इंस्टेंस बनाया जा सकता है. कोई इंस्टेंस नाम डालें और कोई कॉन्फ़िगरेशन चुनें.
आपके पास, क्षेत्रीय या एक से ज़्यादा क्षेत्रों के लिए सेटअप चुनने का विकल्प होता है. क्षेत्रीय सेटअप में, सभी रेप्लिका एक ही क्षेत्र में होंगे. वहीं, एक से ज़्यादा क्षेत्रों वाले सेटअप में, कई क्षेत्रों में रीड-रेप्लिका बनाए जाएंगे. कॉन्फ़िगरेशन की तुलना करने के लिए, "क्षेत्र के कॉन्फ़िगरेशन की तुलना करें" पर क्लिक करें.

कॉन्फ़िगरेशन चुनने के बाद, खास जानकारी दाईं ओर मौजूद पैनल में दिखेगी:

आने वाले समय में, अपने इंस्टेंस को ज़्यादा संसाधन देने के लिए, नोड की संख्या बढ़ाई जा सकती है. इसके अलावा, अगर आपके इंस्टेंस को अतिरिक्त संसाधनों की ज़रूरत नहीं है, तो नोड की संख्या कम की जा सकती है.
इंस्टेंस बनाने के लिए, "बनाएं" पर क्लिक करें.

अब आपका Cloud Spanner इंस्टेंस इस्तेमाल के लिए तैयार है.

5. डेटाबेस बनाना
नया डेटाबेस बनाने के लिए, "डेटाबेस बनाएं" पर क्लिक करें:

अपने नए डेटाबेस का नाम डालें. इस चरण में, स्कीमा भी दिया जा सकता है. हालांकि, यह ज़रूरी नहीं है.

हम इस चरण में स्कीमा नहीं देंगे. साथ ही, खाली डेटाबेस बनाने के लिए "बनाएं" पर क्लिक करेंगे.

"बनाएं" पर क्लिक करने के बाद, एक नया डेटाबेस बन जाएगा:

6. डेटा का सैंपल लोड करना और क्वेरी करना
इस कोडलैब में, हम sampledb का इस्तेमाल करके, सैंपल डेटा लोड करेंगे और उससे जुड़े सवालों के जवाब ढूंढेंगे. Sampledb में कई डेटासेट होते हैं. साथ ही, यह आपके मौजूदा डेटाबेस में डेटा इंपोर्ट कर सकता है.
हम प्रोग्राम को Google Cloud Shell में चलाएंगे. अगर आपने इस प्रोजेक्ट के लिए Google Cloud Shell का इस्तेमाल पहली बार किया है, तो आपको सबसे ऊपर मौजूद नेविगेशन बार पर Google Cloud Shell का लोगो दिखेगा. Cloud Shell को दबाकर रखें और उसे चालू करें.

चालू होने के बाद, आपको सबसे नीचे एक कंसोल दिखेगा:

कंसोल में, sampledb रिपॉज़िटरी का क्लोन बनाएं और डिपेंडेंसी इंस्टॉल करने के लिए, दिए गए निर्देशों का पालन करें:
$ git clone https://github.com/cloudspannerecosystem/sampledb.git
रिपॉज़िटरी को क्लोन करने के बाद, नई डायरेक्ट्री में जाएं. इसके बाद, वर्चुअल एनवायरमेंट बनाएं और ज़रूरी शर्तें पूरी करें:
$ cd sampledb $ virtualenv env $ source env/bin/activate $ pip install -r requirements.txt
डिपेंडेंसी इंस्टॉल हो जाने के बाद, sampledb को चलाया जा सकता है. इससे, सैंपल डेटा के साथ एक नया डेटाबेस बनाया जा सकता है:
$ python batch_import.py my-first-instance my-sample-db
पुष्टि होने के बाद, आपको "my-sample-db" में दो नई टेबल (comments और stories) दिखेंगी:

सैंपल डेटासेट में, Hacker News की कहानियां और टिप्पणियां शामिल हैं. डेटा के बारे में क्वेरी करने और उसे ब्राउज़ करने के लिए, "क्वेरी" पर क्लिक करें:

7. व्यवस्थित करें
यह करना ज़रूरी नहीं है. अगर आपको Cloud Spanner इंस्टेंस के साथ एक्सपेरिमेंट जारी रखना है, तो आपको इसे अभी बंद करने की ज़रूरत नहीं है. हालांकि, जिस प्रोजेक्ट का इस्तेमाल किया जा रहा है उससे इंस्टेंस का शुल्क लिया जाता रहेगा. अगर आपको इस इंस्टेंस की ज़रूरत नहीं है, तो इसे अभी मिटा दें, ताकि आपसे ये शुल्क न लिए जाएं.
ऊपर बाएं कोने में मौजूद "my-first-instance" पर क्लिक करके, इंस्टेंस पेज पर वापस जाएं:

इंस्टेंस को मिटाने के लिए, "मिटाएं" बटन पर क्लिक करें:

किसी इंस्टेंस को मिटाने पर, उसे वापस नहीं लाया जा सकता! उस इंस्टेंस का डेटा वापस नहीं लाया जा सकता. गलती से गलत इंस्टेंस मिटाने से बचने के लिए, आपको पुष्टि करने वाले डायलॉग बॉक्स में इंस्टेंस का नाम डालकर, मिटाने की पुष्टि करनी होगी:

अपने इंस्टेंस का नाम डालें और "मिटाएं" दबाएं.
8. बधाई हो!
आपने एक नया Cloud Spanner इंस्टेंस बनाया है, एक खाली डेटाबेस बनाया है, सैंपल डेटा लोड किया है, और (ज़रूरी नहीं) Cloud Spanner इंस्टेंस को मिटाया है.
हमने क्या-क्या बताया
- Google Cloud Console की मदद से Cloud Spanner इंस्टेंस बनाना.
- Cloud Spanner इंस्टेंस में नया डेटाबेस बनाना.
- सैंपल डेटा को लोड करने और उसके बारे में क्वेरी करने के लिए, sampledb का इस्तेमाल किया जा रहा है.
- Cloud Spanner इंस्टेंस मिटाया जा रहा है.
ज़्यादा जानें
- Google Cloud Spanner से जुड़ा दस्तावेज़ देखें.
- Google Cloud Spanner API और क्लाइंट लाइब्रेरी के बारे में पढ़ें.