Foundationপ্রথম নীতি থেকে
LEVEL 8

ডেটাবেজ সিস্টেম

Database Systems

এই মডিউল যে প্রশ্নের উত্তর দেয়বিদ্যুৎ চলে গেলেও আমার committed transaction টিকে থাকে কীভাবে?

Database একটা "table রাখার জায়গা" না — এটা একটা storage engine, একটা query optimizer, একটা concurrency control system, আর একটা crash recovery system একসাথে। PostgreSQL হবে আমাদের dissection subject।

১৯ লেসন৪ প্রজেক্ট~১৩০ ঘণ্টাপড়ার সময় ১৮ ঘণ্টা0%

লেসন

  1. 01Storage Engine — file, page, slotted page, tupleDatabase table আসলে fixed-size page-এর file — PostgreSQL-এর ৮ KB page খুলে দেখি: header, line pointer array, উল্টো দিক থেকে বাড়া tuple, slotted-page design-এর যুক্তি, আর প্রতিটা row-র লুকানো overhead।অ্যাডভান্সড১ ঘণ্টাEXPERIMENTBUILD
  2. 02Buffer Pool — disk যখন memory-তে ভাড়া থাকেPage disk-এ থাকে, কাজ হয় RAM-এ — buffer manager কীভাবে frame ভাড়া দেয়, LRU-র ভিলেন-দৃশ্য থেকে CLOCK আর PostgreSQL-র ring buffer পর্যন্ত replacement policy-র রাজনীতি, hit-rate math আর mmap debate।কঠিন৫০ মিনিটEXPERIMENTBUILD
  3. 03B+ Tree Index — database index-এর কারখানাCREATE INDEX-এর ভেতরে কী হয় — PostgreSQL nbtree-র metapage-root-internal-leaf anatomy, high key আর deduplication, index scan-এর ctid-পথ, covering ও index-only scan, প্রতি INSERT-এর per-index খাজনা, bloat, আর leftmost-prefix নিয়ম।অ্যাডভান্সড১ ঘণ্টা ৫ মিনিটEXPERIMENTBUILD
  4. 04LSM Tree ও SSTable — write-optimized-এর বিপ্লবপ্রতিটা INSERT-এ random page-write নয় — লিখুন memory-তে, flush করুন immutable sorted file-এ, background-এ merge করুন: LSM-tree-র বিপ্লব, compaction-এর দুই school, amplification ত্রিভুজ, bloom filter আর tombstone-র হিসাব।রিসার্চ-লেভেল১ ঘণ্টাEXPERIMENTBUILD
  5. 05Hash, Bitmap, GiST, GIN, BRIN — এক index-এর জুগলবন্দি নাB-tree সব খায় না — equality-তে hash, low-cardinality AND/OR-এ bitmap scan, geometry-KNN-এ GiST, jsonb/full-text-এ GIN inverted index, append-only timestamp-এ KB-size BRIN; শেষে কোন query-shape-এ কোনটা — flowchart।কঠিন৪৫ মিনিটEXPERIMENTBUILD
  6. 06Query Processing — SQL text থেকে result rowsআপনার SQL text database-এর ভেতরে ছোট্ট একটা program হয়ে যায় — parse, rewrite, plan, execute-এর চার-ধাপের যাত্রা, আর সেই যাত্রার X-ray হলো EXPLAIN।কঠিন৫৫ মিনিটEXPERIMENTBUILD
  7. 07Join Algorithms — nested loop, hash, mergeএকই join তিনভাবে করা যায় আর তিনভাবের খরচ দশগুণে দশগুণ আলাদা — nested loop, hash, merge-এর গণিত, আর PostgreSQL-এ প্রতিটাকে জোর করে চালিয়ে মাপার পদ্ধতি।অ্যাডভান্সড১ ঘণ্টা ৫ মিনিটEXPERIMENTBUILD
  8. 08Query Optimizer — cost model আর plan searchOptimizer একটা search engine: কোটি সম্ভাব্য plan-এর ভেতর থেকে cost model-এর চোখ দিয়ে একটা বাছে — System-R থেকে geqo পর্যন্ত সেই খোঁজের architecture।রিসার্চ-লেভেল১ ঘণ্টা ৫ মিনিটEXPERIMENTBUILD
  9. 09Statistics ও Cardinality Estimation — optimizer-এর চোখOptimizer-এর সব জ্ঞানের উৎস ক'শো page-এর একটা sample — histogram, MCV, n_distinct, correlation কীভাবে সেই sample থেকে জন্ম নেয় আর কখন প্রতারণা করে।অ্যাডভান্সড৫৫ মিনিটEXPERIMENTBUILD
  10. 10Transactions ও ACID — all-or-nothing-এর চার প্রতিশ্রুতিএকটা bank transfer দুইটা UPDATE — প্রথমটা হলো, দ্বিতীয়টা constraint ভেঙে মরলে প্রথমটাও ফিরে যায় কীভাবে? BEGIN/COMMIT/ROLLBACK-এর শৃঙ্খলা, ACID-এর চার প্রতিশ্রুতির আসল মেকানিজম, savepoint-এর আংশিক undo, fsync-এর durability story।কঠিন৫০ মিনিটEXPERIMENTBUILD
  11. 11Isolation Levels ও Anomalies — কতটা 'একা' দরকারDirty read, phantom, write skew — প্রতিটা anomaly-র দুই-session নাটক, চার-ধাপ ladder কোথায় কী আটকায়, PostgreSQL আর MySQL কেন একই নামে ভিন্ন গল্প বলে, আর SERIALIZABLE-এর SSI জাদু।অ্যাডভান্সড১ ঘণ্টাEXPERIMENTBUILD
  12. 12Locking ও 2PL — strict two-phase আর deadlock-এর খেলাLock-এর শৃঙ্খলা: S/X আর intention-matrix থেকে two-phase rule-এর proof-sketch, strict 2PL-এর cascading-abort নিষেধ, wait-for graph-এ বৃত্ত খুঁজে victim বাছাই — pg_locks-এ সব live।অ্যাডভান্সড১ ঘণ্টাEXPERIMENTBUILD
  13. 13MVCC — PostgreSQL-এর বাস্তব implementationReaders-never-block-writers-এর ইঞ্জিন: xmin/xmax versioning, snapshot horizon, clog, dead tuples, HOT update, VACUUM-অপরিহার্যতা আর long-transaction-এর বিষ — PostgreSQL concurrency-র হৃৎপিণ্ড খোলা।রিসার্চ-লেভেল১ ঘণ্টা ৫ মিনিটEXPERIMENTBUILD
  14. 14WAL ও ARIES Recovery — crash-এর পরে হিসাবCrash যেকোনো মুহূর্তে আসতে পারে, আর buffer pool disk-এ যা-ই লিখে ফেলতে পারে — WAL আর ARIES-এর তিন-pass recovery কীভাবে সব committed কাজ ফিরিয়ে আনে আর সব uncommitted কাজ নীরবে মুছে দেয়।রিসার্চ-লেভেল১ ঘণ্টা ৫ মিনিটEXPERIMENTBUILD
  15. 15Checkpoint ও Vacuum — জমাট বাঁধা housekeepingRecovery-র জানালা ছোট রাখতে checkpoint, MVCC-র ময়লা সাফাতে vacuum — দুটোই background housekeeping, দুটোই নিজের নিজের trade-off-এ ভরা।অ্যাডভান্সড৫০ মিনিটEXPERIMENTBUILD
  16. 16Replication — streaming আর logical-এর দুই পথWAL stream অন্য machine-এ গেলেই replica — কিন্তু কাঁচা byte না decoded row? Streaming আর logical পথের দুই জগৎ, lag-এর গণিত, আর failover-এর রক্তক্ষয়ী সত্যগুলো।অ্যাডভান্সড১ ঘণ্টাEXPERIMENTBUILD
  17. 17Partitioning ও Sharding — বড় table ভাঙার গণিতএক machine-এ table ভাঙা আর অনেক machine-এ data ছড়ানো — একই মনস্তত্ত্বের দুই scale; key-বাছাইয়ের ত্রিভুজ আর consistent-hashing-এর minimal-movement গণিত।অ্যাডভান্সড৫৫ মিনিটEXPERIMENTBUILD
  18. 18CAP ও PACELC — theorem যেটা সবাই ভুল বোঝেPartition হলে Consistency না Availability — বাধ্যত-বাছাই; partition না থাকলে Latency না Consistency — PACELC-ই CAP-এর আসল operational অনুবাদ।কঠিন৪৫ মিনিটEXPERIMENTBUILD
  19. 19NoSQL — document, KV, wide-column, graphKey-value, document, wide-column, graph — চার পরিবারের NoSQL-এর জন্মকথা, ভেতরের যন্ত্র, লুকানো বিল; আর JSONB-যুগে সীমানা ঝাপসা হয়ে যাওয়ার গল্প।কঠিন৫০ মিনিটEXPERIMENTBUILD

যা যা থাকছে

  • Storage — files, pages, slotted pages, tuples
  • Buffer pool ও replacement policy
  • Indexes — B+ tree structure ও operations
  • LSM trees, SSTables, compaction
  • Hash indexes, bitmap, GiST, GIN
  • Query processing — parse, plan, execute
  • Join algorithms — nested loop, hash join, merge join
  • Query optimization ও cost models
  • Statistics ও cardinality estimation
  • Transactions ও ACID
  • Isolation levels ও anomalies
  • Locking — 2PL, deadlock detection
  • MVCC (PostgreSQL-এর বাস্তব implementation)
  • WAL ও ARIES recovery
  • Checkpointing ও vacuum
  • Replication — streaming, logical
  • Partitioning ও sharding
  • CAP theorem ও তার প্রকৃত অর্থ
  • NoSQL — document, KV, wide-column, graph

প্রজেক্ট

Key-Value Store

●●●○○

Append-only log + in-memory index + compaction।

B+ Tree Implementation

●●●●○

Disk page সহ insert/delete/split/merge।

Mini SQL Engine

●●●●●

SELECT/WHERE/JOIN parse করে execute করা।

PostgreSQL Internals Lab

●●●○○

EXPLAIN ANALYZE, pg_stat, page inspection দিয়ে তদন্ত।