З чого складається архітектура MongoDB?
Архітектура MongoDB складається з таких ключових компонентів:
1. MongoDB Server (mongod)
Основний серверний процес. Відповідає за зберігання даних, керування запитами, реплікацію, шардування й безпеку. Усередині нього містяться підсистеми:
- Storage Engine - модуль зберігання (за замовчуванням WiredTiger)
- Query Processor - обробка запитів і оптимізація
- Replication Manager - керування реплікацією
- Sharding Router/Config - логіка розподілу даних по шардах
- Journal/Write-Ahead Log - журнал для відмовостійкості
2. mongos (router у шардованому кластері)
Проксі-процес, який маршрутизує запити застосунку до потрібних шардів, приховуючи розподіленість даних.
3. Storage Engine (наприклад, WiredTiger)
Відповідає за фізичне зберігання даних на диску, стиснення, керування кешем, роботу з журналом і блокуваннями.
4. Replica Set
Група серверів з одним primary (на нього йдуть записи) і кількома secondary (зберігають копії й можуть приймати читання). Забезпечує відмовостійкість і автоматичний failover.
5. Sharded Cluster
Масштабування по горизонталі. Складається з:
- Шардів - набори реплік із частиною даних
- mongos - маршрутизатори запитів
- Config servers - зберігають метадані про розподіл даних
6. Опціональні інтеграції
- Клієнтські драйвери (Node, Python, Go та ін.) - взаємодія застосунків із сервером
- Ops Manager / Atlas - моніторинг, керування, автоматизація
- Security-компоненти - ролі, автентифікація, TLS, аудит
Загалом архітектура MongoDB - це поєднання процесів mongod, за потреби mongos і config-серверів, плюс підсистема зберігання й реплікації, які забезпечують масштабованість, відмовостійкість і доступність.
Коротка відповідь
Для співбесідиКоротка відповідь допоможе вам впевнено відповідати на цю тему під час співбесіди.