8. Data Storage at Global Scale (গ্লোবাল স্কেলে ডেটা স্টোরেজ)

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


Mohammad Zubair

I'm Mohammad Zubair, a passionate software engineer working in the dynamic world of IT. Currently, I'm proud to be a part of HawarIT, a thriving Dutch-Bangladeshi joint venture company, where I contribute my expertise and enthusiasm to the field of software engineering.

Leave a Reply

Your email address will not be published. Required fields are marked *