কম্পিউটার টিউটোরিয়াল

ডেটাবেসলেস আর্কিটেকচার: ডেটা ম্যানেজমেন্টে পরবর্তী ফ্রন্টিয়ার

আপনি হয়তো চিন্তা করছেন: Redis-এর মত একটি ডেটাবেজ কোম্পানি কেন ডেটাবেসলেস (DBLess) আর্কিটেকচারের কথা বলছে? এবং সেটি কী? এটা স্বাভাবিক, কিন্তু ডিটেইলসে যাওয়ার আগে, আসুন এই ব্র্যান্ড নিউ আর্কিটেকচারের পেছনে থাকা নতুন চিন্তা ধারাটি দেখি।

এটি করতে, আমি একটি কুইক ডিটัวর নিতে চাই এবং একটা জিনিস কথা বলতে চাই যাকে ফার্স্ট প্রিন্সিপল থিংকিং বলা হয়। এটি আপনাকে নিজে চিন্তা করতে বাধ্য করে এবং শুধু ট্র্যাডিশন ফলো করার বদলে, সব কুয়েশান করতে।

ফার্স্ট প্রিন্সিপল-র সারমর্ম হলো যদি আপনি প্রাকৃতিক নিয়মের দিকে না তাকান, যেমন গ্র্যাভিটির ল, প্রতিটি সিস্টেম বা কনসেপ্ট মানব-নির্মিত এবং তার ইনইফিশিয়েন্সি থাকতে পারে। তদুপরি, সময়ের পার হওয়া বা টেকনোলজিকাল ইনোভেশন কনসেপ্টটিকে অপ্রচলিত করে দিতে পারে। এর মানে আপনাকে নিয়মিত ট্র্যাডিশনাল সিস্টেম বা কনসেপ্ট কুয়েশান করতে হবে এবং দেখতে হবে আপনি কি কিছু ভালো বিল্ড করতে পারেন।

এই ইনইফিশিয়েন্সি খুঁজে বের করতে, আপনাকে একটি সিস্টেমেটিক এবং সায়েন্টিফিক অপ্রোচ নিতে হবে সেগুলো ছোট টুকরোতে ভাঙতে মৌলিক সত্য পাওয়ার জন্য। তারপর, দেখুন সময়ের পার হওয়া বা নতুন টেকনোলজির আবিষ্কার কি এই পিসগুলোকে অপ্রচলিত করেছে। যদি হয়, তবে আপনার কাছে একটি চান্স রয়েছে একটি nieu এবং ভালো সিস্টেম বিল্ড করার।

মৌলিকভাবে, মানুষ জানুক বা না জানুক, অধিকাংশ সোশ্যাল, টেকনিক্যাল, এবং ইকোনমিক পরিবর্তন হয়েছে ফার্স্ট প্রিন্সিপল থিংকিং দিয়ে চিন্তা করে এবং ট্র্যাডিশন চ্যালেঞ্জ করার কারণে।

ডেটাবেসলেস আর্কিটেকচার: ডেটা ম্যানেজমেন্টে পরবর্তী ফ্রন্টিয়ার

উপরের ভিডিওতে, এলন মাস্ক ব্যাখ্যা করেন কীভাবে সে ব্যাটারির রॉ ম্যাটেরিয়ালের দিকে তাকিয়ে তার খরচ $৭০০ থেকে $৭০-এ নামিয়ে আনিয়েছেন।

আরেক উদাহরণ ফার্স্ট প্রিন্সিপল থিংকিং এর নিই কারণ এটি ব্যাখ্যা করা সহজ: গ্যাসোলিন কার বনাম ইলেকট্রিক কার।

গ্যাসোলিন কার বনাম ইলেকট্রিক কার

আমরা সবাই জানি যে একটি ইলেকট্রিক ব্যাটারি দিয়ে একটি কার চালানো যায়।

তবে একটি গ্যাসোলিন কার, একটি ব্যাটারি থাকা সত্ত্বেও, সেটি কার চালানোর জন্য ব্যবহার হয় না। এটি ব্যাটারি ব্যবহার করে ইঞ্জিন স্টার্ট করতে, A/C, অডিও সিস্টেম, লাইট, সেন্সর, লক, ইত্যাদি জন্য, কিন্তু কার চালানোর জন্য নয়। বদলে, এটি একটি ইন্টারন্যাল কমবাসচন ইঞ্জিন (ICE)র ওপর নির্ভর করে কার চালানোর জন্য।

পતા চলে, ICE কারগুলো খুব ইনইফিশিয়েন্ট। জেনারেট হওয়া পাওয়ারের শুধু ১৬% থেকে ২৫% আসলে চাকায় পৌঁছায়। অন্যদিকে, ইলেকট্রিক ভেহিকেলগুলো প্রায় ৯০% পাওয়ার চাকায় দেয়! EVs-র এনভায়রনমেন্ট, রিপেয়ার কস্ট, ইত্যাদি ক্ষেত্রেও বড় সুবিধা রয়েছে।

আপনি যদি এটিকে ফার্স্ট প্রিন্সিপল পারস্পেক্টিভ থেকে দেখেন, এমনকি আজ 만들어진 অধিকাংশ কার গ্যাসোলিন কার হলেও, মৌলিক সত্য হলো তারা একটি ইনইফিশিয়েন্ট সিস্টেম ব্যবহার করছে।

এখন আপনি যদি একটি ইলেকট্রিক কার দেখেন, এটি এই ইনইফিশিয়েন্সি দূর করে একটি নতুন টাইপের কার বানাতে। এই কেসে, এটি সিম্পলি কমপ্লেক্স এবং অত্যন্ত ইনইফিশিয়েন্ট ইঞ্জিনকে বাদ দিয়ে দেয় এবং সেটিকে একটি বড় ব্যাটারি এবং একটি মোটর দিয়ে রিপ্লেস করে যা সরাসরি চাকা ঘুরায়।

ডেটাবেসলেস আর্কিটেকচার: ডেটা ম্যানেজমেন্টে পরবর্তী ফ্রন্টিয়ার

তো আপনি দেখতে পাচ্ছেন কীভাবে ফার্স্ট প্রিন্সিপল থিংকিং ইনইফিশিয়েন্সি চিহ্নিত করতে এবং একটি nieu, ভালো সিস্টেম তৈরি করতে লিড করে।

এখন এই আইডিয়াগুলো দেখে, যদি আপনি একটি নতুন কোম্পানি শুরু করতেন, আপনি কি গ্যাসোলিন কার বানাতেন নাকি ইলেকট্রিক কার?

চলুন গিয়ার চেঞ্জ করি এবং ডেটাবেজ ওয়ার্ল্ডে ট্রান্সিশন করি দেখতে একই ফার্স্ট প্রিন্সিপল থিংকিং সেক্টরে প্রয়োগ করা যায় কিনা।

ট্র্যাডিশনাল আর্কিটেকচার বনাম DBLess আর্কিটেকচার

প্রথমে ট্র্যাডিশনাল আর্কিটেকচার দেখি।

ডেটাবেসলেস আর্কিটেকচার: ডেটা ম্যানেজমেন্টে পরবর্তী ফ্রন্টিয়ার

ট্র্যাডিশনাল আর্কিটেকচার-এ, আপনার একটি প্রাইমারি ডেটাবেজ (Postgres, MongoDB, ইত্যাদি) এবং একটি সেকেন্ডারি ডেটাবেজ বা ক্যাশ (যেমন Redis বা Memcached) রয়েছে। প্রাইমারি DB সকল ডেটা স্টোর করতে এবং CRUD অপারেশন সাপোর্ট করতে ব্যবহার হয়। ক্যাশিং DB ক্যাশিং, সেশন স্টোরেজ, রেট-লিমিটিং, IP-whitelisting, Pub/Sub, কিউইং, এবং অন্যান্য অনেক জিনিসের জন্য ব্যবহার হয়।

আপনি যদি চিন্তা করেন, এমনকি যখন একটি ক্যাশ-হিট হয়, আমরা সেকেন্ডারি DB-ও পার্ট অফ CRUD অপারেশন için ব্যবহার করছি। এবং তারপরও আমরা এটিকে একটি প্রাইমারি ডেটাবেজ হিসেবে ফুলি ইউটিলাইজ করছি না।

এটা কি আপনাকে গ্যাসোলিন কার সমস্যা মনে করিয়ে দেয়? ঠিক যেমন তারা ব্যাটারি নিয়ে ঘুরে কার চালানোর ছাড়া সব কাজের জন্য, ট্র্যাডিশনাল আর্কিটেকচার Redis-এর মত জিনিসগুলো সব কাজের জন্য ব্যবহার করে ছাড়া মেইন DB হিসেবে।

আপনি কি সাদৃশ্যগুলো দেখছেন?

কি হবে যদি আমরা ফার্স্ট প্রিন্সিপল থিংকিং ব্যবহার করি ইলেকট্রিক কার যা করলো সেটি করতে? EVs যেভাবে ইঞ্জিনকে বাদ দিয়ে দিলো, কি হবে যদি আমরা স্লো এবং ইনইফিশিয়েন্ট প্রাইমারি ডেটাবেজকে বাদ দিয়ে দিই এবং সিম্পলি ক্যাশ DB-কে মেইন ডেটাবেজ হিসেবে ব্যবহার করি?

ডেটাবেসলেস (DBLess) আর্কিটেকচারের সাথে হ্যালো বলুন।

ডেটাবেসলেস (DBLess) আর্কিটেকচার:

এই আর্কিটেকচার-এ, আপনি প্রাইমারি DB-কে বাদ দিয়ে দেন, তাই নাম DBLess। বদলে, আপনি পুরনো সেকেন্ডারি/ক্যাশ DB-কে নিউ প্রাইমারি ডেটাবেজ হিসেবে ব্যবহার করেন।

কল্পনা করুন যে আমরা Redis বা অন্য সাদৃশ্য ক্যাশিং ডেটাবেজকে প্রাইমারি ডেটাবেজ হিসেবে ব্যবহার করা শুরু করলাম এবং প্রাইমারি DB (যেমন Postgres, MySQL, MongoDB, ইত্যাদি) সম্পূর্ণভাবে বাদ দিয়ে দিলাম।

ডেটাবেসলেস আর্কিটেকচার: ডেটা ম্যানেজমেন্টে পরবর্তী ফ্রন্টিয়ার

গুরুত্বপূর্ণ নোট: এটি শুধু একটি আর্কিটেকচারাল ডিসকাশন। DBLess আর্কিটেকচার কোনো প্রоприেটারি আর্কিটেকচার নয় যা Redis বা Redis Enterprise-এ লিমিটেড, এবং এটি যেকোনো Redis-মত সিস্টেমের সাথে কাজ করবে। এছাড়া মনে রাখবেন যে Redis একটি OSS প্রজেক্ট, তাই আপনি এটা নিজে বিল্ড করতে পারেন বা যেকোনো অন্য Redis-হোস্টেড ক্লাউড প্রোভাইডারে।

কেউ এই আর্কিটেকচার ব্যবহার করছে কি?

হ্যাঁ, অবশ্যই। আপনি কল্পনা করতে পারেন, আমরা হাজার হাজার কাস্টমারের সাথে প্রতিদিন কাজ করি। এবং যদিও Redis এখনও основном একটি সেকেন্ডারি ডেটাবেজ হিসেবে ব্যবহৃত হয়, আমরা গত কয়েক বছরে এই নতুন DBLess আর্কিটেকচার উত্থান দেখেছি। এটি মোমেন্টাম পেলো কারণ Redis নিজে আরও ফিচার-রিচ, পাওয়ারফুল হয়েছে, এবং বেশি মানুষ সাকসেস পেয়েছে। যারা আমাদের কাস্টমারও নয়, যেমন Request Metrics, তারা এই আর্কিটেকচারেই তাদের পুরো স্টার্টআপ বিল্ড করেছে এবং এটিকে অবিশ্বাস্যভাবে সফল পেয়েছে।

ডেটাবেসলেস আর্কিটেকচার: ডেটা ম্যানেজমেন্টে পরবর্তী ফ্রন্টিয়ার

এখন যেহেতু আপনি জানেন এটি রিয়েল, চলুন দেখি কী এটিকে সম্ভব করে।

টেকনিক্যালি বলতে, এটি কীভাবে একটি ট্র্যাডিশনাল প্রাইমারি DB-র সাথে কমপেयर করে?

Redis Enterprise কে উদাহরণ হিসেবে ব্যবহার করি এবং ট্র্যাডিশনাল প্রাইমারি DB-র সাথে তুলনা করি।

ডেটাবেসলেস আর্কিটেকচার: ডেটা ম্যানেজমেন্টে পরবর্তী ফ্রন্টিয়ার

যেনে আপনি দেখতে পাচ্ছেন, সংক্ষিপ্ত উত্তর হলো এটি খুব ভালো করে এবং, আসলে, কিছু ট্র্যাডিশনাল প্রাইমারি DB-র চেয়ে আরও ভালো হতে পারে।

রিমাইন্ডার হিসেবে, আপনি এই আর্কিটেকচার ব্যবহার করতে পারেন শুধু Redis OSS বা অন্যান্য Redis কম্পিটিটর ব্যবহার করে। আপনাকে শুধু একটি সাদৃশ্য কমপেরিজন টেবিল বানাতে হবে দেখতে কতটা ভালো কাজ করে।

কিন্তু, কি Redis সত্যিকারের এই কাজটি করতে পারে? আমি মনে করতাম এটি শুধু একটি ক্যাশ?

আপনি সঠিক। এটি প্রায় দশক আগে একটি ক্যাশ স্টোর হিসেবে শুরু হয়েছিল এবং সেটি এখনও সেই উদ্দেশ্যে চমৎকার।

যাহোক, Redis এবং Redis Enterprise বছরের মধ্যে উল্লেখযোগ্যভাবে এক্সপ্যান্ড করেছে প্রায় সকল ট্র্যাডিশনাল DB-এর ফিচার ইনকর্পোরেট করে — এবং একটি মডিউল ইকোসিস্টেম থাকার কারণে যা কোর Redis-র সাথে নেটিভলি রান করে।

RedisJSON (মার্কেট লিডারের চেয়ে ১০x দ্রুত) নিন। আপনি এটিকে ব্যবহার করতে পারেন এবং এসেনশিয়ালি একটি রিয়েল-টাইম ডকুমেন্ট-লাইক ডেটাবেজ পেতে পারেন, অথবা RediSearch মডিউল (৪x থেকে ১০০x দ্রুত) ব্যবহার করে রিয়েল-টাইম ফুল-টেক্সট সার্চ ইমপ্লিমেন্ট করতে পারেন Elastic Search বা Algolia-র মত।

এবং আপনি এই মডিউলগুলোর যেকোনো একটি Redis OSS-র অংশ হিসেবে ব্যবহার করতে পারেন এবং নিজে হোস্ট করতে পারেন।

এটি সত্যিকারের ভবিষ্যত কি?

আমরা স্ট্রংলি বিশ্বাস করি এই আর্কিটেকচারই ভবিষ্যত ঠিক उसी সেন্সে যে ইলেকট্রিক কারগুলো ভবিষ্যত। এবং এমনকি ইলেকট্রিক কারগুলো সকল কারের কমপক্ষে ১% হলেও, সেগুলো ভবিষ্যত। আমরা মনে করি এটি টেকনোলজির একটি স্বাভাবিক ইভোল্যুশন। আমাদের কাস্টমারদের সাফল্য দেখে, আমরা মনে করি যে যত বেশি মানুষ এই সম্পর্কে জানবে, তত বেশি মানুষ এটি ট্রাই এবং আডপ্ট করবে।

নামে কী রয়েছে?

এটিকে DBLess বলা হয় কারণ আমরা প্রাইমারি DB-কে বাদ দিয়ে দিচ্ছি এবং আমরা মনে করি এটি "stateless," "serverless," "NoSQL," এবং "No Software."-র লাইনে একটি মজার এবং কুয়ার্কি নাম।

কীভাবে শুরু করবেন?

আপনি যদি লাখ লাখ Redis ইউজারদের মধ্যে একজন হন, আপনি লাকি — আপনি আজই একটি কুইক প্রুফ-অফ-কনসেপ্ট করতে পারেন! আমরা আপনাকে কিছু nieu যোগ করতে বলছি না, বরং কিছু ইনইফিশিয়েন্ট জিনিস দূর করতে বলছি।

এখানে কীভাবে করবেন।

আপনি যদি একটি নিউ সিস্টেম বা নিউ ফিচার বিল্ড করছেন, তবে এটি স্ট্রেইটফরওয়ার্ড শুধু এই আর্কিটেকচার ব্যবহার করা শুরু করুন — অথবা কমপক্ষে একটি প্রুফ-অফ-কনসেপ্ট করুন এবং দেখুন এটা আপনার জন্য কাজ করে কিনা।

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

সারাংশ: একজন ফার্স্ট প্রিন্সিপল থিংকার হন

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

DBLess আর্কিটেকচার ট্র্যাডিশনাল থিংকিং-এর একটি অল্টারনেটিভ প্রদান করে। এর বদলে চিন্তা করতে না যেন এটি কাজ করবে কিনা, একটি প্রুফ-অফ-কনসেপ্ট করুন। এটি আপনাকে আশ্চর্য চকিত করতে পারে!

রেফারেন্স

  1. Elon Musk on First Principles

  1. Fedora Silverblue: লিনাক্সের ভবিষ্যৎ? কারণগুলো এখানে

  2. FPGA কী এবং কি এটি ক্রিপ্টো মাইনিংৰ ভবিষ্যৎ?

  3. প্রতিটি MacBook Pro ব্যবহারকারীর জানা উচিত টপ অ্যাপস

  4. Apple Inc.: কেন এটি IT ল্যান্ডস্কেপে প্রভাবশালী