\ud83e\udd14 What Is a Distributed Database?
A distributed database spreads data across multiple servers (nodes) in different locations. The CAP theorem says you can only guarantee two of three properties: Consistency (every read sees the latest write), Availability (every request gets a response), and Partition Tolerance (the system works despite network splits).
Why does this matter? Every major internet service from Google to Netflix relies on distributed databases. Understanding the tradeoffs between consistency and availability is essential for building reliable, scalable systems that serve billions of users.
📖 গভীরভাবে জানুন
উপমা 1
5টি শহরে শাখা সহ একটি লাইব্রেরি সিস্টেম কল্পনা করুন, সব একই ক্যাটালগ ভাগ করে। যখন কেউ শাখা A-তে একটি বই পরীক্ষা করে, তখন অন্য সব শাখাকে তাদের রেকর্ড আপডেট করতে হবে। যদি ব্রাঞ্চ সি-তে ফোন লাইন নিচে চলে যায় (একটি নেটওয়ার্ক পার্টিশন), ব্রাঞ্চ সি এখনও বইটি উপলভ্য হিসাবে দেখাতে পারে - এটি একটি সামঞ্জস্যের সমস্যা। শাখা সি পুনরায় সংযোগ না করা পর্যন্ত আপনি সমস্ত ঋণ লক করতে পারেন (সংগতি নির্বাচন করা), অথবা প্রতিটি শাখাকে স্বাধীনভাবে ঋণ দেওয়া চালিয়ে যেতে দিন এবং পরে পুনর্মিলন করতে দিন (প্রাপ্যতা বেছে নিন)।
উপমা 2
বিভিন্ন দেশে বন্ধুদের সাথে একটি গ্রুপ চ্যাট চিন্তা করুন. আপনি যখন একটি বার্তা পাঠান, প্রত্যেককে একই ক্রমে দেখতে হবে। কিন্তু যদি কারো ইন্টারনেট ড্রপ হয়, তাহলে তারা বার্তা মিস করে এবং পুরানো তথ্যের উত্তর দিতে পারে — পরস্পরবিরোধী কথোপকথন থ্রেড তৈরি করে। বিতরণ করা ডাটাবেসগুলি ব্যাপক আকারে এই সঠিক সমস্যার মুখোমুখি হয় এবং যখন সবাই পুনরায় সংযোগ করে তখন বিশৃঙ্খলার সমাধান করতে ভেক্টর ঘড়ি এবং CRDT-এর মতো কৌশলগুলি ব্যবহার করে৷
🎯 সিমুলেটর টিপস
শিক্ষানবিস
5টি নোড এবং রেপ্লিকেশন ফ্যাক্টর 3 দিয়ে শুরু করুন - এর মানে প্রতিটি ডেটা 5টি নোডের মধ্যে 3টিতে সংরক্ষণ করা হয়
মধ্যবর্তী
তুলনা লিখুন সামঞ্জস্যতা সব বনাম এক — সবই ধীর তবে গ্যারান্টি দেয় প্রতিটি প্রতিরূপের সর্বশেষ ডেটা রয়েছে
বিশেষজ্ঞ
ভেক্টর ঘড়ি নিষ্ক্রিয় করুন এবং অমীমাংসিত দ্বন্দ্বগুলি পর্যবেক্ষণ করতে পার্টিশনের সময় সমসাময়িক লেখাগুলি ট্রিগার করুন
📚 শব্দকোষ
🏆 মূল ব্যক্তিত্ব
Eric Brewer (2000)
ইউসি বার্কলেতে সিএপি উপপাদ্য প্রণয়ন করে, একই সাথে সামঞ্জস্য, প্রাপ্যতা এবং পার্টিশন সহনশীলতার গ্যারান্টি দেওয়ার অসম্ভবতা প্রমাণ করে বিতরণকৃত ডাটাবেস ডিজাইনকে মৌলিকভাবে আকার দেয়।
Leslie Lamport (1998)
প্যাক্সোস কনসেনসাস অ্যালগরিদম তৈরি করেছেন এবং লজিক্যাল ক্লক, ল্যামপোর্ট টাইমস্ট্যাম্প এবং বাইজেন্টাইন জেনারেলস প্রবলেমের মতো ধারণার সাথে বিতরণ করা সিস্টেমের তত্ত্বের পথপ্রদর্শক।
Diego Ongaro (2014)
স্ট্যানফোর্ডে র্যাফ্ট কনসেনসাস অ্যালগরিদম ডিজাইন করা হয়েছে, যা etcd এবং CockroachDB-এর মতো বাস্তব-জগতের সিস্টেমের জন্য বিতরণকৃত ঐক্যমতকে বোধগম্য এবং ব্যবহারিক করে তুলেছে
Werner Vogels (2007)
আমাজনের ডায়নামোর ডিজাইনের নেতৃত্ব দিয়েছেন, যা ধারাবাহিক হ্যাশিং, ভেক্টর ঘড়ি এবং স্লোপি কোরাম প্রবর্তন করেছে — ক্যাসান্ড্রা, রিয়াক এবং সমগ্র NoSQL আন্দোলনকে অনুপ্রাণিত করেছে
Jeff Dean & Wilson Hsieh (2012)
সহ-পরিকল্পিত Google স্প্যানার, TrueTime API এবং GPS/পারমাণবিক ঘড়ি সিঙ্ক্রোনাইজেশন ব্যবহার করে বাহ্যিকভাবে সামঞ্জস্যপূর্ণ লেনদেনের সাথে প্রথম বিশ্বব্যাপী বিতরণ করা ডাটাবেস
Marc Shapiro (2011)
INRIA-তে অগ্রগামী দ্বন্দ্ব-মুক্ত প্রতিলিপিকৃত ডেটা টাইপস (CRDTs), সমন্বয়-মুক্ত ঘটনাগত সামঞ্জস্যের জন্য গাণিতিক ভিত্তি প্রদান করে
🎓 শিক্ষার উৎস
- Brewer's Conjecture and the Feasibility of Consistent, Available, Partition-Tolerant Web Services [paper]
CAP উপপাদ্যের আনুষ্ঠানিক প্রমাণ, বিতরণ করা সিস্টেমের জন্য মৌলিক অসম্ভবতার ফলাফল প্রতিষ্ঠা করে (ACM SIGACT News, 2002) - Dynamo: Amazon's Highly Available Key-value Store [paper]
সামঞ্জস্যপূর্ণ হ্যাশিং, ভেক্টর ঘড়ি এবং স্লোপি কোরাম (SOSP 2007) ব্যবহার করে শেষ পর্যন্ত সামঞ্জস্যপূর্ণ বিতরণকৃত স্টোরেজের উপর Amazon-এর প্রভাবশালী কাগজ - Spanner: Google's Globally Distributed Database [paper]
Google-এর TrueTime-ভিত্তিক বিশ্বব্যাপী সামঞ্জস্যপূর্ণ ডাটাবেস GPS এবং পারমাণবিক ঘড়ি সিঙ্ক্রোনাইজেশনের মাধ্যমে বাহ্যিক সামঞ্জস্য অর্জন করে (OSDI 2012) - In Search of an Understandable Consensus Algorithm (Raft) [paper]
রাফ্ট কনসেনসাস অ্যালগরিদম বোঝার জন্য ডিজাইন করা হয়েছে, যা এখন etcd, CockroachDB, এবং TiKV (USENIX ATC 2014) এ ব্যবহৃত হয় - Designing Data-Intensive Applications [article]
ডিস্ট্রিবিউটেড সিস্টেমের মৌলিক বিষয়, প্রতিলিপি, বিভাজন, এবং সামঞ্জস্যপূর্ণ মডেলের জন্য মার্টিন ক্লেপম্যানের ব্যাপক নির্দেশিকা - Jepsen.io [article]
কাইল কিংসবারির কঠোর পরীক্ষা এবং বাস্তব ব্যর্থতার শর্তে বিতরণকৃত ডাটাবেসের সঠিকতা দাবির বিশ্লেষণ - The Raft Consensus Algorithm Visualization [article]
ধাপে ধাপে নেতা নির্বাচন এবং লগ প্রতিলিপি সহ রাফ্ট কনসেনসাস অ্যালগরিদমের ইন্টারেক্টিভ ভিজ্যুয়ালাইজেশন