paint-brush
নেক্সট-জেন ডেটা সলিউশন তৈরি করা: একক স্টোর, মিনিও এবং আধুনিক ডেটালেক স্ট্যাকদ্বারা@minio
3,998 পড়া
3,998 পড়া

নেক্সট-জেন ডেটা সলিউশন তৈরি করা: একক স্টোর, মিনিও এবং আধুনিক ডেটালেক স্ট্যাক

দ্বারা MinIO6m2024/06/05
Read on Terminal Reader

অতিদীর্ঘ; পড়তে

singlestore.io হল একটি ক্লাউড-নেটিভ ডাটাবেস যা ডেটা-ইনটেনসিভ ওয়ার্কলোডের জন্য ডিজাইন করা হয়েছে। এটি মেশিন কোডে SQL কোয়েরি কম্পাইল করে এবং কুবারনেটস অপারেটরের মাধ্যমে অন-প্রিমিসেস ইনস্টলেশন, পাবলিক/প্রাইভেট ক্লাউড এবং কন্টেইনার সহ বিভিন্ন পরিবেশে স্থাপন করা যেতে পারে।
featured image - নেক্সট-জেন ডেটা সলিউশন তৈরি করা: একক স্টোর, মিনিও এবং আধুনিক ডেটালেক স্ট্যাক
MinIO HackerNoon profile picture
0-item
1-item


একক দোকান ডেটা-নিবিড় কাজের চাপের জন্য ডিজাইন করা একটি ক্লাউড-নেটিভ ডাটাবেস। এটি একটি বিতরণ করা, রিলেশনাল এসকিউএল ডাটাবেস ম্যানেজমেন্ট সিস্টেম যা ANSI SQL সমর্থন করে এবং হয় স্বীকৃত ডেটা ইনজেস্ট, লেনদেন প্রক্রিয়াকরণ, এবং ক্যোয়ারী প্রক্রিয়াকরণের গতির জন্য। SingleStore রিলেশনাল, JSON, গ্রাফ, এবং টাইম সিরিজ ডেটা সঞ্চয় করতে পারে, HTAP-এর মতো মিশ্রিত কাজের চাপ এবং OLTP এবং OLAP উভয় ক্ষেত্রেই ব্যবহার করতে পারে। এটি মেশিন কোডে SQL কোয়েরি কম্পাইল করে এবং কুবারনেটস অপারেটরের মাধ্যমে অন-প্রিমিসেস ইনস্টলেশন, পাবলিক/প্রাইভেট ক্লাউড এবং কন্টেইনার সহ বিভিন্ন পরিবেশে স্থাপন করা যেতে পারে।

আধুনিক দাতালকে স্থাপত্য

মধ্যে আধুনিক দাতালকে স্থাপত্য , SingleStore প্রসেসিং লেয়ারে চৌকোভাবে ফিট করে। এই স্তরটি যেখানে রূপান্তরের জন্য ইঞ্জিন প্রক্রিয়াকরণ, অন্যান্য সরঞ্জামগুলির জন্য ডেটা পরিবেশন করা, ডেটা অনুসন্ধান এবং অন্যান্য ব্যবহারের ক্ষেত্রে লাইভ। প্রসেসিং লেয়ার টুলস, যেমন SingleStore, অন্যদের সাথে ভাল কাজ করে: প্রায়ই একাধিক প্রসেসিং লেয়ার টুল একই ডেটালেক থেকে চুমুক দেয়। সাধারণত, এই নকশাটি টুল বিশেষীকরণের ক্ষেত্রে প্রয়োগ করা হয়। উদাহরণস্বরূপ, হাইব্রিড ভেক্টর সহ SingleStore এবং ফুল-টেক্সট অনুসন্ধানের মতো সুপার-ফাস্ট ইন-মেমরি ডেটা প্রসেসিং প্ল্যাটফর্মগুলি এআই ওয়ার্কলোডের জন্য অপ্টিমাইজ করা হয়েছে, বিশেষ করে জেনারেটিভ এআই ব্যবহারের ক্ষেত্রে।

পূর্বশর্ত

এই টিউটোরিয়ালটি সম্পূর্ণ করতে, আপনাকে কিছু সফ্টওয়্যার দিয়ে সেট আপ করতে হবে। আপনার যা প্রয়োজন তা এখানে একটি ব্রেকডাউন রয়েছে:


  • ডকার ইঞ্জিন : এই শক্তিশালী টুল আপনাকে কন্টেইনার নামক প্রমিত সফ্টওয়্যার ইউনিটগুলিতে অ্যাপ্লিকেশনগুলি প্যাকেজ এবং চালানোর অনুমতি দেয়৷

  • ডকার রচনা : এটি একটি অর্কেস্ট্রেটর হিসাবে কাজ করে, মাল্টি-কন্টেইনার অ্যাপ্লিকেশনগুলির পরিচালনাকে সহজ করে৷ এটা সহজে জটিল অ্যাপ্লিকেশন সংজ্ঞায়িত এবং চালাতে সাহায্য করে।


ইনস্টলেশন: আপনি যদি তাজা শুরু করছেন, তাহলে ডকার ডেস্কটপ ইনস্টলার আপনার নির্দিষ্ট প্ল্যাটফর্মে (Windows, macOS, বা Linux) ডকার এবং ডকার কম্পোজ উভয় ইনস্টল করার জন্য একটি সুবিধাজনক ওয়ান-স্টপ সমাধান প্রদান করে। এটি প্রায়শই পৃথকভাবে ডাউনলোড এবং ইনস্টল করার চেয়ে সহজ বলে প্রমাণিত হয়।


একবার আপনি ডকার ডেস্কটপ বা ডকার এবং ডকার কম্পোজের সংমিশ্রণ ইনস্টল করার পরে, আপনি আপনার টার্মিনালে নিম্নলিখিত কমান্ডটি চালিয়ে তাদের উপস্থিতি যাচাই করতে পারেন:


 docker-compose --version


আপনার একটি SingleStore লাইসেন্সেরও প্রয়োজন হবে, যা আপনি পেতে পারেন এখানে .



আপনার লাইসেন্স কী এবং আপনার রুট পাসওয়ার্ড উভয়ই নোট রাখুন। আপনার অ্যাকাউন্টে একটি এলোমেলো রুট পাসওয়ার্ড বরাদ্দ করা হবে, কিন্তু আপনি SingleStore UI ব্যবহার করে আপনার রুট পাসওয়ার্ড পরিবর্তন করতে সক্ষম হবেন।

শুরু হচ্ছে

এই টিউটোরিয়াল নির্ভর করে এই ভান্ডার . আপনার পছন্দের জায়গায় রেপো ক্লোন করুন।


এই রেপোর সবচেয়ে গুরুত্বপূর্ণ ফাইলটি হল docker-compose.yaml যা একটি SingleStore ডাটাবেস ( singlestore ), একটি MinIO উদাহরণ ( minio ) এবং একটি mc কন্টেইনার সহ একটি ডকার পরিবেশ বর্ণনা করে যা 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://localhost:8080/ , এবং ব্যবহারকারীর নাম `root` এবং আপনার রুট পাসওয়ার্ড দিয়ে লগ ইন করুন।


MinIO চেক করুন

নেভিগেট করুন http://127.0.0.1:9001 MinIO WebUI চালু করতে। minioadmin:minioadmin এর জন্য ব্যবহারকারীর নাম এবং পাসওয়ার্ড দিয়ে লগইন করুন। আপনি দেখতে পাবেন যে mc কন্টেইনারটি classic-books নামে একটি বালতি তৈরি করেছে এবং বালতিতে একটি বস্তু রয়েছে।


এসকিউএল দিয়ে অন্বেষণ করুন

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 নামে একটি টেবিল তৈরি করা হয়েছে, যা শিরোনাম, লেখক এবং প্রকাশের তারিখের মতো বিবরণ রাখার জন্য ডিজাইন করা হয়েছে।


এটি অনুসরণ করে, classic-books লেবেলযুক্ত একটি S3 বাকেট থেকে ডেটা বের করতে এবং classic_books টেবিলে লোড করার জন্য minio নামে একটি পাইপলাইন সেট আপ করা হয়েছে। এই পাইপলাইনের জন্য কনফিগারেশন পরামিতি, অঞ্চল, এন্ডপয়েন্ট URL, এবং প্রমাণীকরণ শংসাপত্র সহ, সংজ্ঞায়িত করা হয়েছে।


পরবর্তীকালে, তথ্য পুনরুদ্ধার এবং জনসংখ্যার প্রক্রিয়া শুরু করতে 'মিনিও' পাইপলাইন সক্রিয় করা হয়। একবার টেবিলে ডেটা সফলভাবে লোড হয়ে গেলে, একটি SELECT ক্যোয়ারী classic_books সংরক্ষিত সমস্ত রেকর্ড পুনরুদ্ধার করে এবং প্রদর্শন করে।


ডেটা নিষ্কাশন এবং দেখার সমাপ্তির পরে, minio পাইপলাইনটি থামানো হয় এবং সরানো হয়, classic_books টেবিলটি books ডাটাবেস থেকে বাদ দেওয়া হয় এবং books ডাটাবেসটি নিজেই সরানো হয়, একটি পরিষ্কার স্লেট নিশ্চিত করে এবং ডেটা পরিচালনার ক্রিয়াকলাপগুলি সমাপ্ত করে৷ এই স্ক্রিপ্টটি আপনাকে SingleStore-এ MinIO-তে ডেটা নিয়ে খেলা শুরু করা উচিত।


এই স্ট্যাকের উপর তৈরি করুন

এই টিউটোরিয়ালটি দ্রুত একটি শক্তিশালী ডেটা স্ট্যাক সেট আপ করে যা অবজেক্ট স্টোরেজে ডেটা সংরক্ষণ, প্রক্রিয়াকরণ এবং অনুসন্ধানের সাথে পরীক্ষা করার অনুমতি দেয়। SingleStore-এর ইন্টিগ্রেশন, একটি ক্লাউড-নেটিভ ডাটাবেস যা তার গতি এবং বহুমুখীতার জন্য পরিচিত, MinIO এর সাথে আধুনিক ডেটালেক স্ট্যাকের একটি গুরুত্বপূর্ণ ইট তৈরি করে।


যেহেতু শিল্পের প্রবণতা স্টোরেজ এবং গণনার বিচ্ছিন্নতার দিকে ঝুঁকছে, এই সেটআপটি ডেভেলপারদের উদ্ভাবনী ডেটা পরিচালনার কৌশলগুলি অন্বেষণ করার ক্ষমতা দেয়। আপনি ডেটা-ইনটেনসিভ অ্যাপ্লিকেশন তৈরি করতে, উন্নত অ্যানালিটিক্স প্রয়োগ করতে বা AI ওয়ার্কলোড নিয়ে পরীক্ষা করতে আগ্রহী হন না কেন, এই টিউটোরিয়ালটি একটি লঞ্চিং প্যাড হিসাবে কাজ করে।


আমরা আপনাকে এই ডেটা স্ট্যাক তৈরি করতে, বিভিন্ন ডেটাসেট এবং কনফিগারেশন নিয়ে পরীক্ষা করার জন্য এবং আপনার ডেটা-চালিত অ্যাপ্লিকেশনগুলির সম্পূর্ণ সম্ভাবনা উন্মোচন করার জন্য আমন্ত্রণ জানাচ্ছি। কোনো প্রশ্ন বা ধারণার জন্য, নির্দ্বিধায় আমাদের সাথে [email protected] এ পৌঁছান বা আমাদের সাথে যোগ দিন স্ল্যাক চ্যানেল .