Database Architecture (1-tier, 2-tier, 3-tier): comparison, advantages, disadvantages

Database architecture इस बारे में है कि user को data से कितनी परतें अलग करती हैं: 1-tier सब एक machine पर है, 2-tier में client सीधे server से बात करता है, और 3-tier एक बीच का application server जोड़ता है जिसे ज़्यादातर आधुनिक web apps इस्तेमाल करते हैं।

10 min read · 9 cards · 2 checks

Read in: English · हिन्दी · ગુજરાતી


Theory

एक counter, या पूरी कंपनी?

Meera का data उसके business के बढ़ते हुए तीन अलग दुनियाओं में रहता है:

1. सिर्फ वह, एक PC पर, Excel इस्तेमाल करती।

2. counter computer पर एक billing app जो पीछे के कमरे के database से बात करता है।

3. एक online store जहाँ customers के browsers एक website के ज़रिए उसके data तक पहुँचते हैं।

हर एक user और data के बीच एक परत जोड़ता है। वह परत-गिनती, 1-tier, 2-tier, 3-tier, database architecture है, और सही चुनना एक असली design फ़ैसला है (और एक मानक exam तुलना)।

Theory

पानी पाना: कुआँ, नल, शहरी आपूर्ति

1-tier: अपने आँगन में एक कुआँ, आप खुद पानी खींचते हैं, कोई और शामिल नहीं। 2-tier: सीधे टंकी से जुड़ा एक नल, आप खोलते हैं और पानी आता है, एक सीधा link। 3-tier: शहरी जल प्रणाली, आपका नल एक treatment plant से जुड़ता है जो जलाशय से जुड़ता है, बीच में परतें जो पूरे शहर के लिए filter, control और scale करती हैं। ज़्यादा tiers, ज़्यादा अलगाव, ज़्यादा control।

At a glance

तीन tiers

ArchitectureStructureआम इस्तेमाल
1-tierUser, app, data एक ही machine परExcel, अकेला desktop tool
2-tierClient app सीधे DB server से बात करता हैछोटे office का billing app
3-tierClient > app server > DB serverWeb और mobile apps

Theory

3-tier ने web क्यों जीता

3-tier में, client (browser) कभी database को सीधे नहीं छूता। यह एक बीच के application server से बात करता है जो business logic रखता है और DB से बात करता है। वह बीच की परत तीन चीज़ें देती है:

  • Security: database credentials server पर रहते हैं, कभी client में नहीं।
  • Scalability: हज़ारों clients app server पर आते हैं, जो DB से connections pool करता है।
  • Maintainability: logic को एक जगह (बीच) बदलिए बिना हर client update किए।

ठीक इसीलिए लगभग हर website, Gri-Learn समेत, 3-tier है।

Quiz

एक 3-tier architecture में, क्या client (browser) database से सीधे बात करता है?

  1. नहीं, यह एक बीच के application server से बात करता है, जो database से बात करता है
  2. हाँ, client सीधे database को SQL भेजता है
  3. हाँ, पर सिर्फ पढ़ने के लिए, लिखने के लिए नहीं
  4. 3-tier में कोई client नहीं होता
Show the answer

नहीं, यह एक बीच के application server से बात करता है, जो database से बात करता है

3-tier की परिभाषित विशेषता बीच का application/logic server है: client उससे बात करता है, और सिर्फ वही database से बात करता है। Client कभी DB को सीधे नहीं देखता, यही 3-tier को इसकी security (credentials छिपे) और scalability देता है। एक client सीधे DB को SQL भेजता हुआ 2-tier (client-server) का वर्णन है, ठीक वह contrast जो exams test करते हैं।

Think first

Meera का online store passwords लीक करता है?

मान लीजिए Meera ने अपना online store 2-tier के रूप में बनाया: customer का browser सीधे उसके database से बात करता है। गति से परे, यह कौन सी गंभीर समस्या पैदा करता है, और 3-tier इसे कैसे ठीक करता है?

Show the answer

Browser को database के login credentials चाहिए होते, जिसका मतलब है हर customer का device असल में उसके पूरे database की चाबियाँ रखता है, एक विनाशकारी security छेद (कोई भी सारा data पढ़ या बर्बाद कर सकता है)। 3-tier इसे ठीक करता है: credentials सिर्फ बीच के application server पर रहते हैं; browser बस server से विनम्रता से पूछता है और कभी database या उसका password नहीं देखता। Data को एक logic परत के पीछे छिपाना एक मुख्य security कारण है कि 3-tier web पर हावी है।

Watch out

Marks कहाँ कटते हैं

Tiers गलत गिनना: 1-tier = एक machine, 2-tier = client सीधे DB server से बात करता, 3-tier = इनके बीच एक परत। यह कहना कि 3-tier का client DB से बात करता है, वह नहीं करता, वह 2-tier है। और advantages/disadvantages सवालों में, इन्हें जोड़ीदार कीजिए: 1-tier (सरल पर share नहीं होता), 2-tier (सीधा/तेज़ पर भारी client, कमज़ोर scaling/security), 3-tier (सुरक्षित/scalable पर ज़्यादा जटिल)। संतुलित pros-and-cons पूरे marks दिलाते हैं।

Theory

आप 3-tier में जी रहे हैं

अभी: आपका browser (tier 1, presentation) Gri-Learn के server (tier 2, logic) से बात करता है जो एक database (tier 3, data) से बात करता है। इस app की बनावट ही exam जवाब है। जब आप अपना BCA project एक web app के रूप में बनाएँगे, आप उसे भी 3-tier बनाएँगे, यह theory नहीं, यह आपके भविष्य के काम का आकार है। आगे: database MODELS, data को खुद व्यवस्थित करने के अलग तरीके।

Summary

Key takeaways

  • Architecture user और data के बीच की परतें गिनता है।
  • 1-tier: user, app और data एक machine पर (Excel, एक local tool)। सरल, share नहीं होता।
  • 2-tier: एक client app सीधे एक database server से बात करता है (client-server)। तेज़ पर भारी client, कमज़ोर scaling/security।
  • 3-tier: client > बीच का application server > database server। Client कभी DB को नहीं छूता।
  • 3-tier की बीच की परत security (छिपे credentials), scalability और maintainability देती है, web मानक।
  • याद रखने का hook: कुआँ (1) बनाम नल-से-टंकी (2) बनाम शहरी जल प्रणाली (3)।

Study this properly

This page is the lesson to read. In Gri-Learn the same topic is a graded deck: the self-checks are scored and your weak topics are tracked. Free to start.

Start this topic

Already have an account? Sign in

More from Concepts of Database

Gri-Learn · syllabus-mapped B.C.A. lessons in English, Hindi and Gujarati

Database Architecture (1-tier, 2-tier, 3-tier): comparison, advantages, disadvantages · Data Processing and Analysis (DPA) · Gri-Learn