paint-brush
अगली पीढ़ी के डेटा समाधान विकसित करना: सिंगलस्टोर, मिनियो और आधुनिक डेटालेक स्टैकद्वारा@minio
4,002 रीडिंग
4,002 रीडिंग

अगली पीढ़ी के डेटा समाधान विकसित करना: सिंगलस्टोर, मिनियो और आधुनिक डेटालेक स्टैक

द्वारा MinIO6m2024/06/05
Read on Terminal Reader

बहुत लंबा; पढ़ने के लिए

singlestore.io एक क्लाउड-नेटिव डेटाबेस है जिसे डेटा-इंटेंसिव वर्कलोड के लिए डिज़ाइन किया गया है। यह SQL क्वेरीज़ को मशीन कोड में संकलित करता है और इसे विभिन्न वातावरणों में तैनात किया जा सकता है, जिसमें ऑन-प्रिमाइसेस इंस्टॉलेशन, पब्लिक/प्राइवेट क्लाउड और Kubernetes ऑपरेटर के माध्यम से कंटेनर शामिल हैं।
featured image - अगली पीढ़ी के डेटा समाधान विकसित करना: सिंगलस्टोर, मिनियो और आधुनिक डेटालेक स्टैक
MinIO HackerNoon profile picture
0-item
1-item


सिंगलस्टोर डेटा-गहन कार्यभार के लिए डिज़ाइन किया गया एक क्लाउड-नेटिव डेटाबेस है। यह एक वितरित, रिलेशनल SQL डेटाबेस प्रबंधन प्रणाली है जो ANSI SQL का समर्थन करती है और मान्यता प्राप्त डेटा इंजेस्ट, ट्रांजेक्शन प्रोसेसिंग और क्वेरी प्रोसेसिंग में इसकी गति के लिए। सिंगलस्टोर रिलेशनल, JSON, ग्राफ और टाइम सीरीज़ डेटा स्टोर कर सकता है, जो HTAP जैसे मिश्रित कार्यभार और OLTP और OLAP दोनों उपयोग मामलों को पूरा करता है। यह SQL क्वेरी को मशीन कोड में संकलित करता है और इसे विभिन्न वातावरणों में तैनात किया जा सकता है, जिसमें ऑन-प्रिमाइसेस इंस्टॉलेशन, पब्लिक/प्राइवेट क्लाउड और कुबेरनेट्स ऑपरेटर के माध्यम से कंटेनर शामिल हैं।

आधुनिक डेटालेक वास्तुकला

में आधुनिक डेटालेक वास्तुकला , सिंगलस्टोर प्रोसेसिंग लेयर में पूरी तरह से फिट बैठता है। यह लेयर वह जगह है जहाँ ट्रांसफ़ॉर्मेशन के लिए प्रोसेसिंग इंजन, दूसरे टूल्स के लिए डेटा सर्व करना, डेटा एक्सप्लोरेशन और दूसरे इस्तेमाल के मामले रहते हैं। सिंगलस्टोर जैसे प्रोसेसिंग लेयर टूल दूसरों के साथ अच्छी तरह से काम करते हैं: अक्सर कई प्रोसेसिंग लेयर टूल एक ही डेटालेक से सिप करते हैं। आमतौर पर, यह डिज़ाइन टूल स्पेशलाइज़ेशन के मामले में लागू किया जाता है। उदाहरण के लिए, हाइब्रिड वेक्टर और फुल-टेक्स्ट सर्च के साथ सिंगलस्टोर जैसे सुपर-फास्ट इन-मेमोरी डेटा प्रोसेसिंग प्लेटफ़ॉर्म AI वर्कलोड के लिए ऑप्टिमाइज़ किए गए हैं, विशेष रूप से जनरेटिव एआई उपयोग मामलों के लिए।

आवश्यक शर्तें

इस ट्यूटोरियल को पूरा करने के लिए, आपको कुछ सॉफ़्टवेयर की ज़रूरत होगी। आपको क्या-क्या चाहिए, इसका विवरण इस प्रकार है:


  • डॉकर इंजन यह शक्तिशाली उपकरण आपको कंटेनर नामक मानकीकृत सॉफ्टवेयर इकाइयों में अनुप्रयोगों को पैकेज करने और चलाने की अनुमति देता है।

  • डॉकर कंपोज़ : यह एक ऑर्केस्ट्रेटर के रूप में कार्य करता है, जो मल्टी-कंटेनर अनुप्रयोगों के प्रबंधन को सरल बनाता है। यह जटिल अनुप्रयोगों को आसानी से परिभाषित करने और चलाने में मदद करता है।


स्थापना: यदि आप नए सिरे से शुरुआत कर रहे हैं, तो डॉकर डेस्कटॉप इंस्टॉलर आपके विशिष्ट प्लेटफ़ॉर्म (विंडोज, मैकओएस या लिनक्स) पर डॉकर और डॉकर कंपोज़ दोनों को इंस्टॉल करने के लिए एक सुविधाजनक वन-स्टॉप समाधान प्रदान करता है। यह अक्सर उन्हें अलग-अलग डाउनलोड करके इंस्टॉल करने से ज़्यादा आसान साबित होता है।


एक बार जब आप Docker Desktop या Docker और Docker Compose का संयोजन स्थापित कर लेते हैं, तो आप अपने टर्मिनल में निम्नलिखित कमांड चलाकर उनकी उपस्थिति सत्यापित कर सकते हैं:


 docker-compose --version


आपको सिंगलस्टोर लाइसेंस की भी आवश्यकता होगी, जिसे आप प्राप्त कर सकते हैं यहाँ .



अपनी लाइसेंस कुंजी और रूट पासवर्ड दोनों को नोट करके रखें। आपके खाते को एक यादृच्छिक रूट पासवर्ड असाइन किया जाएगा, लेकिन आप SingleStore UI का उपयोग करके अपना रूट पासवर्ड बदल सकेंगे।

शुरू करना

यह ट्यूटोरियल इस पर निर्भर करता है यह भंडार . रेपो को अपनी पसंद के स्थान पर क्लोन करें।


इस रेपो में सबसे महत्वपूर्ण फ़ाइल docker-compose.yaml है जो एक SingleStore डेटाबेस ( singlestore ), एक MinIO इंस्टेंस ( minio ) और एक mc कंटेनर के साथ Docker वातावरण का वर्णन करती है जो MinIO सेवा पर निर्भर करता है।


mc कंटेनर में एक entrypoint स्क्रिप्ट होती है जो पहले MinIO के पहुँच योग्य होने तक प्रतीक्षा करती है, MinIO को होस्ट के रूप में जोड़ती है, classic-books बकेट बनाती है, पुस्तक डेटा युक्त books.txt फ़ाइल अपलोड करती है, बकेट नीति को सार्वजनिक पर सेट करती है, और फिर बाहर निकल जाती है।


 version: '3.7' services: singlestore: image: 'singlestore/cluster-in-a-box' ports: - "3306:3306" - "8080:8080" environment: LICENSE_KEY: "" ROOT_PASSWORD: "" START_AFTER_INIT: 'Y' minio: image: minio/minio:latest ports: - "9000:9000" - "9001:9001" volumes: - data1-1:/data1 - data1-2:/data2 environment: MINIO_ROOT_USER: minioadmin MINIO_ROOT_PASSWORD: minioadmin command: ["server", "/data1", "/data2", "--console-address", ":9001"] mc: image: minio/mc:latest depends_on: - minio entrypoint: > /bin/sh -c " until (/usr/bin/mc config host add --quiet --api s3v4 local http://minio:9000 minioadmin minioadmin) do echo '...waiting...' && sleep 1; done; echo 'Title,Author,Year' > books.txt; echo 'The Catcher in the Rye,JD Salinger,1945' >> books.txt; echo 'Pride and Prejudice,Jane Austen,1813' >> books.txt; echo 'Of Mice and Men,John Steinbeck,1937' >> books.txt; echo 'Frankenstein,Mary Shelley,1818' >> books.txt; /usr/bin/mc cp books.txt local/classic-books/books.txt; /usr/bin/mc policy set public local/classic-books; exit 0; " volumes: data1-1: data1-2:


दस्तावेज़ संपादक का उपयोग करके, प्लेसहोल्डर्स को अपनी लाइसेंस कुंजी और रूट पासवर्ड से बदलें।


टर्मिनल विंडो में, उस स्थान पर जाएँ जहाँ आपने रेपो को क्लोन किया था और सभी कंटेनरों को शुरू करने के लिए निम्नलिखित कमांड चलाएँ:


 docker-compose up


एक ब्राउज़र विंडो खोलें और नेविगेट करें http://लोकलहोस्ट:8080/ , और उपयोगकर्ता नाम `root` और अपने रूट पासवर्ड के साथ लॉग इन करें।


मिनियो की जाँच करें

पर जाए http://127.0.0.1:9001 मिनियो वेबयूआई लॉन्च करने के लिए। minioadmin:minioadmin के लिए यूजरनेम और पासवर्ड के साथ लॉगिन करें। आप देखेंगे कि mc कंटेनर ने classic-books नामक एक बकेट बनाई है और बकेट में एक ऑब्जेक्ट है।


SQL के साथ अन्वेषण करें

SingleStore में, SQL संपादक पर जाएँ और निम्नलिखित चलाएँ आदेश :


 -- Create a new database named 'books' CREATE DATABASE books; -- Switch to the 'books' database USE books; -- Create a table named 'classic_books' to store information about classic books CREATE TABLE classic_books ( title VARCHAR(255), author VARCHAR(255), date VARCHAR(255) ); -- Define a pipeline named 'minio' to load data from an S3 bucket called 'classic-books' -- The pipeline loads data into the 'classic_books' table CREATE PIPELINE IF NOT EXISTS minio AS LOAD DATA S3 'classic-books' CONFIG '{"region": "us-east-1", "endpoint_url":"http://minio:9000/"}' CREDENTIALS '{"aws_access_key_id": "minioadmin", "aws_secret_access_key": "minioadmin"}' INTO TABLE classic_books FIELDS TERMINATED BY ','; -- Start the 'minio' pipeline to initiate data loading START PIPELINE minio; -- Retrieve and display all records from the 'classic_books' table SELECT * FROM classic_books; -- Drop the 'minio' pipeline to stop data loading DROP PIPELINE minio; -- Drop the 'classic_books' table to remove it from the database DROP TABLE classic_books; -- Drop the 'books' database to remove it entirely DROP DATABASE books;


यह SQL स्क्रिप्ट क्लासिक पुस्तकों से संबंधित डेटा को संभालने के लिए क्रियाओं का एक क्रम आरंभ करती है। यह books नामक एक नया डेटाबेस स्थापित करके शुरू होता है। इस डेटाबेस के भीतर, classic_books नामक एक तालिका बनाई जाती है, जिसे शीर्षक, लेखक और प्रकाशन तिथि जैसे विवरण रखने के लिए डिज़ाइन किया गया है।


इसके बाद, minio नामक पाइपलाइन को classic-books नामक S3 बकेट से डेटा निकालने और उसे classic_books टेबल में लोड करने के लिए सेट किया जाता है। इस पाइपलाइन के लिए कॉन्फ़िगरेशन पैरामीटर, जिसमें क्षेत्र, एंडपॉइंट URL और प्रमाणीकरण क्रेडेंशियल शामिल हैं, परिभाषित किए गए हैं।


इसके बाद, डेटा पुनर्प्राप्ति और पॉपुलेशन की प्रक्रिया शुरू करने के लिए 'मिनियो' पाइपलाइन सक्रिय हो जाती है। एक बार जब डेटा सफलतापूर्वक तालिका में लोड हो जाता है, तो एक SELECT क्वेरी classic_books में संग्रहीत सभी रिकॉर्ड को पुनर्प्राप्त और प्रदर्शित करती है।


डेटा निष्कर्षण और देखने के पूरा होने के बाद, minio पाइपलाइन को रोक दिया जाता है और हटा दिया जाता है, classic_books टेबल को books डेटाबेस से हटा दिया जाता है और books डेटाबेस को ही हटा दिया जाता है, जिससे एक साफ स्लेट सुनिश्चित होती है और डेटा प्रबंधन संचालन समाप्त हो जाता है। यह स्क्रिप्ट आपको सिंगलस्टोर में मिनियो में डेटा के साथ खेलना शुरू करने में मदद करेगी।


इस स्टैक पर निर्माण करें

यह ट्यूटोरियल तेजी से एक मजबूत डेटा स्टैक सेट करता है जो ऑब्जेक्ट स्टोरेज में डेटा को स्टोर करने, प्रोसेस करने और क्वेरी करने के साथ प्रयोग करने की अनुमति देता है। सिंगलस्टोर, एक क्लाउड-नेटिव डेटाबेस जो अपनी गति और बहुमुखी प्रतिभा के लिए जाना जाता है, का मिनियो के साथ एकीकरण आधुनिक डेटालेक स्टैक में एक महत्वपूर्ण ईंट बनाता है।


चूंकि उद्योग का रुझान स्टोरेज और कंप्यूट के पृथक्करण की ओर झुकता है, इसलिए यह सेटअप डेवलपर्स को अभिनव डेटा प्रबंधन रणनीतियों का पता लगाने में सक्षम बनाता है। चाहे आप डेटा-गहन एप्लिकेशन बनाने, उन्नत एनालिटिक्स को लागू करने या AI वर्कलोड के साथ प्रयोग करने में रुचि रखते हों, यह ट्यूटोरियल एक लॉन्चिंग पैड के रूप में कार्य करता है।


हम आपको इस डेटा स्टैक पर निर्माण करने, विभिन्न डेटासेट और कॉन्फ़िगरेशन के साथ प्रयोग करने और अपने डेटा-संचालित अनुप्रयोगों की पूरी क्षमता को उजागर करने के लिए आमंत्रित करते हैं। किसी भी प्रश्न या विचार के लिए, [email protected] पर हमसे संपर्क करने या हमारे साथ जुड़ने के लिए स्वतंत्र महसूस करें स्लैक चैनल .