Přeskočit na obsah
_CORE
AI & Agentic Systems Core Informační Systémy Cloud & Platform Engineering Data Platforma & Integrace Security & Compliance QA, Testing & Observability IoT, Automatizace & Robotika Mobile & Digital Banky & Finance Pojišťovnictví Veřejná správa Obrana & Bezpečnost Zdravotnictví Energetika & Utility Telco & Média Průmysl & Výroba Logistika & E-commerce Retail & Loyalty
Reference Technologie Blog Knowledge Base O nás Spolupráce Kariéra
Pojďme to probrat

MongoDB — kdy dává smysl dokumentová databáze

22. 06. 2014 1 min čtení CORE SYSTEMSdata

Relační databáze řeší 90 % našich potřeb. Ale co těch zbylých 10 %? Logy, události, flexibilní formuláře, data bez fixního schématu. Pro tyto případy jsme zkusili MongoDB — a zjistili, že NoSQL není žádná magie ani hrozba.

Use case: IoT senzorová data

Každý typ senzoru posílal jiná data v jiném formátu. V relační databázi bychom potřebovali EAV model nebo desítky tabulek. MongoDB umožňuje uložit dokument tak, jak přijde.

Schema-less neznamená schema-free

Největší mýtus. I v MongoDB potřebujete konvence. Bez nich skončíte s nekonzistentními daty — někde „createdDate”, jinde „created_date”. Zavedli jsme Mongoose pro schéma na aplikační vrstvě.

Indexy a aggregation pipeline

db.readings.createIndex({ sensorId: 1, timestamp: -1 });
db.sensors.createIndex({ location: "2dsphere" });
db.logs.createIndex({ createdAt: 1 }, { expireAfterSeconds: 2592000 });

Aggregation pipeline v MongoDB 2.6 je překvapivě mocný. GROUP BY, JOIN (lookup), transformace — vše v jednom pipeline.

Kdy ANO, kdy NE

ANO: Proměnlivé schéma, hierarchická data, prototypování, geo dotazy. NE: Transakční systémy (bez multi-document ACID), komplexní reporting, malé projekty.

Správný nástroj pro správný problém

MongoDB není náhrada relační databáze, je to doplněk. PostgreSQL pro transakční data, MongoDB pro senzory a logy. Klíčové je nepodlehnout hype.

mongodbnosqldatabázejson