Ce cours couvre les fondamentaux de RethinkDB et son langage d'interrogation ReQL pour manipuler et interroger des bases de données NoSQL de manière efficace. Il aborde les concepts clés tels que les requêtes temps réel, la modélisation des données et les opérations CRUD, ainsi que les fonctionnalités avancées comme les changements en continu et la réplication distribuée. Ce PDF de 18 pages par Rodolphe CHAZELLE propose un guide pratique pour télécharger et configurer RethinkDB, avec des exemples concrets de requêtes ReQL. Il inclut également des exercices pour maîtriser l'utilisation de cette base de données orientée documents, idéale pour les applications nécessitant des mises à jour en temps réel et une scalabilité horizontale.
Ce cours s'adresse aux développeurs, administrateurs de bases de données et architectes logiciels souhaitant explorer une solution NoSQL moderne et scalable. Une connaissance de base des bases de données (relationnelles ou NoSQL) et de JavaScript/Node.js est recommandée pour tirer pleinement profit du contenu.
RethinkDB est une base de données NoSQL open-source conçue pour stocker des documents JSON de manière scalable et performante. Son langage de requête, REQL (RethinkDB Query Language), permet une interaction fluide avec les données via des opérations chaînables. Contrairement aux bases SQL traditionnelles, RethinkDB offre des fonctionnalités uniques comme les changements en temps réel (changefeeds) et une réplication intégrée.
RethinkDB se distingue par son architecture distribuée, sa tolérance aux pannes et sa facilité de mise à l'échelle horizontale. Parmi ses caractéristiques clés :
Les données dans RethinkDB sont organisées en bases de données, tables et documents JSON. Pour importer des données :
rethinkdb import
pour charger des fichiers JSON/CSV.r.table('users').limit(5)
).Exemple d'insertion :
r.db('test').table('posts').insert([ { title: "Premier article", tags: ["tech", "db"] }, { title: "RethinkDB guide", author: "Alice" } ]).run(connection);
REQL combine la puissance des requêtes SQL avec une syntaxe fluide et programmatique. Principales opérations :
r.table('users').filter({ age: 30 })
r.table('logs').group('severity').count()
r.table('authors').eqJoin('book_id', r.table('books'))
r.table('messages').changes()
REQL supporte également les transactions, les index secondaires et les opérations géospatiales.
Pour des performances optimales :
r.table('users').indexCreate('email')
).orderBy
sur de grands jeux de données.r.expr(...).profile()
.Partner sites PDF Tutorials (English) | PDF Manuales (Spanish) | Cours PDF (French)