{Le lien de téléchargement a expiré. Veuillez actualiser la page et réessayer.}

RethinkDB - Maîtriser son langage d'interrogation

Base de donneés PDF 18 pages 427.58 Ko 930
RethinkDB - Maîtriser son langage d'interrogation
PDF 18 p. 427.58 Ko
Télécharger

Lien sécurisé — 5 min

par Rodolphe CHAZELLE

À propos de ce cours

Table des matières

  • Introduction
  • Présentation et caractéristiques du systéme RethinkDB
  • Présentation des données et import dans RethinkDB
  • Langage de requête REQL

Programme du cours

Objectifs d'apprentissage

  • Comprendre les concepts fondamentaux de RethinkDB et son architecture distribuée.
  • Maîtriser les opérations de base avec REQL pour interroger et manipuler les données.
  • Apprendre à importer et structurer des données dans RethinkDB.
  • Découvrir les fonctionnalités avancées telles que les changements en temps réel et les jointures.
  • Savoir optimiser les requêtes pour des performances accrues.

Public cible

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.

Introduction

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.

Présentation et caractéristiques du système RethinkDB

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 :

  • Modèle de données JSON : Stockage flexible sans schéma prédéfini.
  • Changefeeds : Permet de surveiller les modifications en temps réel.
  • Cluster natif : Réplication et sharding transparents.
  • REQL : Langage de requête intégré, utilisable depuis plusieurs langages (JavaScript, Python, etc.).

Présentation des données et import dans RethinkDB

Les données dans RethinkDB sont organisées en bases de données, tables et documents JSON. Pour importer des données :

  1. Créer une base de données et une table via l'interface Admin ou REQL.
  2. Utiliser des outils comme rethinkdb import pour charger des fichiers JSON/CSV.
  3. Valider la structure avec des requêtes simples (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);

Langage de requête REQL

REQL combine la puissance des requêtes SQL avec une syntaxe fluide et programmatique. Principales opérations :

  • Sélection : r.table('users').filter({ age: 30 })
  • Agrégation : r.table('logs').group('severity').count()
  • Jointures : r.table('authors').eqJoin('book_id', r.table('books'))
  • Changements temps réel : r.table('messages').changes()

REQL supporte également les transactions, les index secondaires et les opérations géospatiales.

Optimisation et bonnes pratiques

Pour des performances optimales :

  • Créer des index sur les champs fréquemment interrogés (r.table('users').indexCreate('email')).
  • Limiter l'utilisation de orderBy sur de grands jeux de données.
  • Profiler les requêtes avec r.expr(...).profile().