Introduction to NoSQL and MongoDB for Rails Developers

Introduction

az SQL-t először az 1970-es években fejlesztették ki, és az adattárolás relációs modellje a mai napig fennmaradt. Az SQL adatbázis-adminisztrátorok és a fejlesztők továbbra is nagy igényeket támasztanak, így az SQL és a hozzá kapcsolódó technológiák tanulása továbbra is érdemes törekvés. De az elmúlt évtizedben egy új szószó terjedt el az adatbázis világában: a NoSQL. Mi a NoSQL (“nem csak SQL”), és miért releváns ma?

amikor az SQL-t az 1970-es években hozták létre, a számítógépes tudósok teljesen más elképzelésekkel rendelkeztek arról, hogyan lehet az adatokat tárolni és mit lehet tenni. Az adattárolás drága volt, ezért az adatok duplikációjának csökkentése volt a legfontosabb. A duplikáció elkerülése érdekében az SQL adatbázisok fix sémákat használnak elsődleges és idegen kulcsokkal a modellek közötti kapcsolatok kifejezésére. Arra összpontosítanak, hogy minden adat számára egyetlen igazságforrást hozzanak létre.

tárolási költségek az idő múlásával USD-ben

merev sémák esetén az SQL adatbázisok megváltoztatása nehéz és időigényes az alkalmazásfejlesztési életciklus során. A NoSQL adatbázisok azonban rugalmasak, és lehetővé teszik a fejlesztők számára, hogy elkerüljék a sémaalapú relációs adatbázisok korlátait. Mivel az agilis fejlesztési gyakorlatok viharba vitték a tech világot, a NoSQL adatbázisok egyedülálló helyzetben voltak, hogy kielégítsék a fejlesztők igényeit, hogy alkalmazkodó adattároló rendszerekkel rendelkezzenek.

bár általában négy különböző típusú NoSQL adatbázis létezik (dokumentum, kulcsérték, széles oszloptároló és grafikon), a dokumentumadatbázisok váltak a legszélesebb körben használt opcióvá. A dokumentumszerkezet olyan módon tárolja az adatokat, hogy ismerős legyen minden olyan fejlesztő számára, aki dolgozott a JSON dokumentumokkal. MongoDB a legnépszerűbb dokumentum adatbázis ma elérhető.

Dokumentum Adatbázis Struktúra (MongoDB)

Sínek: ActiveRecord és Mongoid

amikor először tanultam Rails, ActiveRecord állt ki, mint a legtöbb “mágikus” darab az egészet. Bár az ActiveRecord csak szabványos SQL lekérdezéseket indít a motorháztető alatt, lehetővé teszi a fejlesztők számára, hogy komplex asszociációkat és lekérdezési adatokat hozzanak létre könnyedén. Objektum-relációs Leképezőként (ORM) az ActiveRecord lehetővé teszi a programozók számára, hogy az adatbázis-táblákban tárolt információkkal úgy lépjenek kapcsolatba, mintha egy hagyományos Ruby objektum lenne. A felhasználó blogbejegyzéseihez való hozzáférés olyan egyszerű, mint a User.first.posts – nincs szükség komplex SQL JOIN és SELECT lekérdezésekre.

míg az ActiveRecord egy ORM (hangsúly a R relációs), Mongoid egy ODM (Object-Document-Mapper), amely leképezi az objektumokat MongoDB, egy dokumentum adatbázis.

Vélemény, hozzászólás?

Az e-mail-címet nem tesszük közzé.