8. Data Storage at Global Scale (গ্লোবাল স্কেলে ডেটা স্টোরেজ)
ধরুন আপনি একটি অ্যাপ বানালেন—ABCShop
গ্রাহক আছে: বাংলাদেশ, ভারত, দুবাই, ইউরোপ, কানাডা, যুক্তরাষ্ট্রে।
এখন আপনার সিস্টেম এমন হতে হবে—
-
লক্ষ কোটি রিকুয়েস্ট সামলাতে পারবে
-
ডেটা সবসময় সঠিক থাকবে
-
সার্ভার ডাউন হলেও সিস্টেম চলবে
-
ডেটা বিশ্বে বিভিন্ন জায়গায় কপি থাকবে
-
পড়া (Read) এবং লেখা (Write) দুটোই দ্রুত হবে
এই পুরো বিষয়টাই হলো Global Scale Data Storage—যেখানে ডেটা বহু দেশ/রিজিয়নে থাকে এবং পুরো সিস্টেমকে স্কেল করার বিভিন্ন কৌশল ব্যবহার করা হয়।
1️⃣ Relational Databases & ACID Transactions (রিলেশনাল ডেটাবেস ও ACID)
রিলেশনাল ডেটাবেস হলো টেবিল-ভিত্তিক ডেটাবেস।
যেমন:
-
SQL Server
-
PostgreSQL
-
MySQL
-
Oracle
✨ কীভাবে কাজ করে?
আপনি যখন “Users”, “Orders”, “Products”—এমন টেবিল বানান, সেগুলো পরস্পরের সাথে সম্পর্কিত থাকে।
উদাহরণ টেবিল:
Users Table:
Id | Name | Email -------------------------------- 1 | ABC | abc@example.com 2 | XYZ | xyz@example.com
Orders Table:
OrderId | UserId | Amount -------------------------- 1001 | 1 | 2500 1002 | 1 | 3200
এখন UserId → Orders টেবিলকে কানেক্ট করে।
🔥 ACID — ডেটাকে “অক্ষত, সঠিক ও নির্ভরযোগ্য” রাখার ৪ নীতি
A – Atomicity
একটা ট্রানজ্যাকশন হয় পুরোটাই সফল, না হলে পুরোটাই ব্যর্থ।
উদাহরণ: আপনি টাকা পাঠালেন—
-
আপনার অ্যাকাউন্ট থেকে টাকা কমল
-
প্রাপক পেল
– দুটোই হবে। যেকোনো একটি অসম্পূর্ণ হলে rollback।
C – Consistency
ডেটাবেসে কোন ভুল বা অসম্পূর্ণ অবস্থা থাকতে পারবে না।
I – Isolation
অনেক লোক একই সময়ে ডেটা লিখলেও তারা একে অন্যকে প্রভাবিত করবে না।
D – Durability
সার্ভার নষ্ট হলেও, ডেটা হারাবে না।
Write → transaction log → disk → durable.
2️⃣ Non-Relational Databases (NoSQL)
রিলেশনাল টেবিলের বাইরে যে ধরনের ডেটাবেস, তাকে NoSQL বলা হয়।
কেন ব্যবহার করা হয়?
-
বড় স্কেল
-
Flexible Schema
-
খুব দ্রুত পড়া/লেখা
-
JSON-ভিত্তিক ডেটা
📌 জনপ্রিয় ধরনগুলো
1. Document Store (JSON)
উদাহরণ: MongoDB
{
"id": 1,
"name": "ABC",
"orders": [ 1001, 1002 ],
"location": "Bangladesh"
}
2. Key-Value Store
উদাহরণ: Redis
"user:1" → "ABC"
3. Wide Column Store
উদাহরণ: Cassandra
এটি লাখ কোটি ডেটার জন্য ব্যবহার হয়।
4. Graph Database
উদাহরণ: Neo4j
ফেসবুক/ইনস্টাগ্রামের ফলোয়ার, রিকমেন্ডেশন এ ব্যবহার হয়।
3️⃣ Techniques to Improve Performance, Availability & Scalability
গ্লোবাল স্কেলে ডেটাবেস চালাতে হলে নিচের টেকনিকগুলো ব্যবহার করতেই হবে।
🔹 1. Indexing
একটি বইয়ের ইনডেক্সের মত কাজ করে।
কুয়েরি 100 গুণ দ্রুত হয়।
CREATE INDEX IX_Users_Email ON Users(Email);
🔹 2. Caching
Hot data RAM-এ রাখে—Redis / Memcached।
উদাহরণ—ব্যবহারকারীর টোকেন, প্রোফাইল, প্রোডাক্ট ক্যাটালগ।
🔹 3. Read Replica
ডেটার কপি অনেক সার্ভারে রাখা।
Write (Master)
Read (Replica 1, Replica 2…)
🔹 4. Sharding
ডেটাকে horizontal ভাবে ভাগ করা।
| Shard | User Range |
|---|---|
| 1 | 1–10M |
| 2 | 10M–20M |
🔹 5. Load Balancing
রিকুয়েস্ট অনেক সার্ভারে ছড়িয়ে দেওয়া হয়।
🔹 6. CQRS
Command Query Responsibility Segregation
Write model এবং Read model আলাদা করা হয়।
4️⃣ Brewer’s (CAP) Theorem
CAP Theorem অনুযায়ী, কোনো distributed system একসাথে এই ৩টি সুবিধা দিতে পারে না—
-
C → Consistency
সব সার্ভারে একই ডেটা -
A → Availability
সবসময় রেসপন্স পাওয়া -
P → Partition Tolerance
নেটওয়ার্ক ভেঙে গেলেও কাজ চালানো
একসাথে ২টা পাওয়া যায়, ১টা ছাড়তে হয়।
উদাহরণ:
🔹 MongoDB → AP
Availability + Partition Tolerance
Consistency পরে।
🔹 SQL Server Cluster → CP
Consistency + Partition Tolerance
Availability sacrifice।
🔹 Cassandra → AP
Consistency eventual।
5️⃣ Scalable Unstructured Data Storage
যে ডেটার নির্দিষ্ট কাঠামো নেই—
-
ভিডিও
-
ছবি
-
লগ
-
PDF/Doc
-
সেন্সর ডেটা
এসবকে বলা হয় Unstructured Data।
এগুলোর জন্য সবচেয়ে ভালো সমাধান হলো Object Storage।
Object Storage Features:
-
অপরিমিত স্কেল
-
খুব সস্তা
-
Highly resilient
-
Geo-replication
-
Versioning
6️⃣ Cloud & Open Source Solutions for Unstructured Data Storage
☁️ Cloud Solutions
1. Azure Blob Storage
-
Hot / Cool / Archive tier
-
Lifecycle rules
-
Private endpoints
-
SAS Token
2. Amazon S3
-
Industry gold standard
-
Versioning
-
Cross-region replication
-
Event triggers
3. Google Cloud Storage
-
Multi-region buckets
-
Low latency
🔓 Open Source Solutions
1. MinIO
Self-hosted object storage, S3 compatible।
DevOps টিমে খুব জনপ্রিয়।
2. Ceph
Hyper scalable storage cluster
Petabyte level data store করতে পারে।
3. HDFS (Hadoop File System)
বিগ ডেটা অ্যানালিটিক্সে ব্যাপকভাবে ব্যবহৃত।
🧠 সিনারিও: গ্লোবাল স্কেল ই-কমার্স অ্যাপ (ABCShop)
| ডেটা টাইপ | সেরা সল্যুশন |
|---|---|
| User Info | PostgreSQL (ACID) |
| Orders | MongoDB |
| Product Catalog | Redis Cache + SQL |
| Images | Azure Blob / S3 |
| Logs | Elasticsearch / BigQuery |
| Recommendation | Neo4j |
| Analytics | Cassandra / Databricks |