🌐 Detecting your location…
📢 Advertisement — Configure AdSense in Appearance → Customize → AdSense Settings

ডাটাবেস ইন্টারভিউ প্রশ্ন 2026: SQL, নরমালাইজেশন, ACID এবং Sharding

⏱️3 min read  ·  465 words

2026-এ ডেটাবেস ইন্টারভিউ প্রশ্নগুলি SQL মৌলিক, লেনদেন, সূচীকরণ, স্বাভাবিককরণ, NoSQL বনাম SQL, এবং ক্লাউড ডেটাবেস পরিষেবাগুলি কভার করে। এই নির্দেশিকাটি ব্যাকএন্ড বিকাশকারী এবং ডেটা ইঞ্জিনিয়ারের ভূমিকাগুলির জন্য সর্বাধিক জিজ্ঞাসিত ডেটাবেস প্রশ্নগুলিকে কভার করে৷

মূল ডাটাবেস প্রশ্ন

1. স্বাভাবিকীকরণ কি? 1NF, 2NF, 3NF ব্যাখ্যা কর

Normalization: organize tables to reduce redundancy and improve integrity

1NF (First Normal Form):
  - Each column contains atomic (indivisible) values
  - No repeating groups or arrays in columns
  BAD:  users(id, name, phones="555-1234,555-5678")
  GOOD: users(id, name) + phones(id, user_id, phone)

2NF (Second Normal Form):
  - Must be in 1NF
  - All non-key columns depend on the ENTIRE primary key (no partial dependency)
  BAD:  orders(order_id, product_id, product_name, qty)
        product_name depends only on product_id, not full key
  GOOD: orders(order_id, product_id, qty)
        products(product_id, product_name)

3NF (Third Normal Form):
  - Must be in 2NF
  - No transitive dependencies (non-key columns depend only on key)
  BAD:  employees(emp_id, dept_id, dept_name)
        dept_name depends on dept_id, not emp_id
  GOOD: employees(emp_id, dept_id)
        departments(dept_id, dept_name)

2. ACID বৈশিষ্ট্য কি?

  • পরমাণু: লেনদেন সব বা কিছুই নয় — $100 স্থানান্তর: ডেবিট এবং ক্রেডিট উভয়ই সফল বা উভয়ই ব্যর্থ
  • ধারাবাহিকতা: DB এক বৈধ অবস্থা থেকে অন্য অবস্থায় যায় — ভারসাম্য কখনই ঋণাত্মক হতে পারে না
  • আলাদা করা: একযোগে লেনদেন হস্তক্ষেপ করে না — একই আসন বুকিং করা দুই ব্যবহারকারী উভয়ই সফল হয় না
  • স্থায়িত্ব: প্রতিশ্রুতিবদ্ধ ডেটা ক্র্যাশ থেকে বাঁচে — ডিস্কে লেখা, শুধু মেমরি নয়

3. বিচ্ছিন্নতা স্তর এবং তাদের ট্রেড-অফ ব্যাখ্যা করুন

-- Isolation levels (weakest to strongest):

-- READ UNCOMMITTED: can read uncommitted data (dirty reads)
-- Rarely used, maximum performance

-- READ COMMITTED (default in PostgreSQL):
-- Only reads committed data. Prevents dirty reads.
-- Non-repeatable reads possible (same query returns different results)

-- REPEATABLE READ (default in MySQL):
-- Same rows return same data within transaction.
-- Phantom reads possible (new rows can appear)

-- SERIALIZABLE: full isolation, no phantoms
-- Slowest, all transactions run as if sequential
SET TRANSACTION ISOLATION LEVEL SERIALIZABLE;

-- In PostgreSQL
BEGIN TRANSACTION ISOLATION LEVEL REPEATABLE READ;
-- ...
COMMIT;

-- Common choice: READ COMMITTED for most apps
-- REPEATABLE READ for financial reporting
-- SERIALIZABLE for critical financial transactions

4. ক্লাস্টারড এবং নন-ক্লাস্টারড ইনডেক্সের মধ্যে পার্থক্য কী?

  • ক্লাস্টার সূচক: তথ্য সারি সূচী ক্রম সংরক্ষিত. প্রতি টেবিলে একটি। InnoDB ক্লাস্টার হিসাবে প্রাথমিক কী ব্যবহার করে।
  • নন-ক্লাস্টারড: ডেটা সারি নির্দেশ করে পৃথক কাঠামো। প্রতি টেবিলে একাধিক।

-- Clustered: physical order of data = index order
-- PRIMARY KEY automatically creates clustered index in most DBs
CREATE TABLE users (
  id BIGSERIAL PRIMARY KEY,  -- clustered index
  email VARCHAR(255),
  name VARCHAR(100)
);

-- Non-clustered: lookup structure → pointer to data
CREATE INDEX idx_email ON users(email);  -- non-clustered

-- Covering index: includes all needed columns
-- Allows index-only scan (never touches data pages)
CREATE INDEX idx_user_lookup ON users(email) INCLUDE (id, name);
-- SELECT id, name FROM users WHERE email = 'alice@example.com'
-- Can be answered entirely from index — very fast!

5. আপনি কখন এসকিউএল এর পরিবর্তে NoSQL বেছে নেবেন?

যখন SQL নির্বাচন করুন যখন NoSQL বেছে নিন
জটিল সম্পর্ক (JOIN) সহজ অ্যাক্সেস প্যাটার্ন (কী-মান)
এসিআইডি লেনদেন প্রয়োজন বিশাল স্কেল (শার্ডিং প্রয়োজন)
জটিল প্রশ্ন, সমষ্টি নমনীয় স্কিমা
আর্থিক, জায় তথ্য উচ্চ লেখার থ্রুপুট
দল এসকিউএল জানে JSON নথি, নেস্টেড ডেটা

6. ডাটাবেস শর্ডিং ব্যাখ্যা কর

শেয়ারিং: একাধিক ডাটাবেস উদাহরণ জুড়ে অনুভূমিকভাবে ডেটা বিভাজন।

Sharding strategies:

Range-based: shard by value range
  Shard 1: user_id 1-1M
  Shard 2: user_id 1M-2M
  Pros: range queries efficient
  Cons: hot spots (newest users all on last shard)

Hash-based: shard_num = hash(user_id) % num_shards
  Even distribution
  Cons: range queries hit all shards, resharding is hard

Directory-based: lookup table maps key → shard
  Flexible, easy to rebalance
  Cons: lookup overhead, single point of failure

Cross-shard challenges:
  - JOINs must be done in application layer
  - Distributed transactions are complex
  - Global uniqueness (use UUIDs instead of auto-increment)

ডাটাবেস ইন্টারভিউ পরীক্ষার প্রস্থ (SQL, স্বাভাবিককরণ, ACID) এবং গভীরতা (কোয়েরি অপ্টিমাইজেশান, ইন্ডেক্সিং কৌশল)। কীভাবে ব্যাখ্যা বিশ্লেষণ ব্যবহার করতে হয় তা জানুন, প্রতিটি সূচকের ধরন কখন সাহায্য করে তা বুঝুন এবং শার্ডিং ট্রেড-অফগুলি স্পষ্টভাবে ব্যাখ্যা করুন। উৎপাদন প্রশ্ন প্রায়ই সংযোগ পুলিং, প্রতিলিপি ল্যাগ, এবং N+1 প্রশ্নগুলি পরিচালনা করে।

✍️ Leave a Comment

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

🌐 Read in:🇬🇧 English🇩🇪 Deutsch🇧🇷 Português🇸🇦 العربية🇮🇳 हिन्दी🇧🇩 বাংলা