Description générale
Le livre «Sept bases de données en sept semaines» d'Eric Redmond et Jim R. Wilson — est un guide pratique des systèmes modernes de stockage de données destiné aux développeurs qui souhaitent aller au-delà des bases de données relationnelles classiques. Contrairement aux manuels SQL traditionnels, ce livre présente au lecteur différents types de solutions NoSQL et montre comment choisir la base de données appropriée pour des tâches spécifiques.
Les auteurs structurent leur propos autour de sept systèmes différents, chacun représentant une approche distincte du stockage et du traitement des données. Parmi eux figurent la base de données relationnelle PostgreSQL, les magasins clé-valeur Redis et Riak, les bases de données orientées documents MongoDB et CouchDB, la base de données orientée colonnes HBase et la base de données orientée graphes Neo4j. Cette sélection permet de couvrir un large éventail d'architectures et de concepts.
Le livre suit un format d'apprentissage intensif : chaque base de données est étudiée au cours d'une «semaine» virtuelle à travers des exemples pratiques. Il aborde les opérations de base (CRUD), la création d'index, les spécificités des requêtes, les questions de scalabilité, de réplication et de cohérence des données. Une attention particulière est portée aux différences entre les systèmes et à leur place dans le théorème CAP, ce qui aide à comprendre les compromis à faire lors du choix d'une technologie.
La principale valeur de ce livre réside dans son approche comparative. Il ne s'attarde pas trop en profondeur sur les détails de chaque base spécifique, mais offre une vision globale de la manière dont le monde moderne du stockage de données est structuré et des outils dont dispose le développeur. Cela en fait un excellent point de départ pour une étude plus approfondie de technologies spécifiques.
Avis personnel
Contrairement au livre précédent, le titre de celui-ci parle de lui-même. Bien entendu, je n'ai pas fait traîner la lecture sur sept semaines, mais je l'ai terminé en environ un mois avec de courtes pauses. Le livre traite de sept bases de données complètement différentes : une relationnelle (Postgres), deux magasins clé-valeur (Riak, Redis), une base orientée colonnes (HBase), deux orientées documents (MongoDB, CouchDB) et une orientée graphes (Neo4j). La moitié d'entre elles étaient totalement nouvelles pour moi, si bien que par moments l'information était difficile à retenir et qu'à d'autres moments elle devenait assez confuse.
Dans l'ensemble, ce livre est très utile et convient parfaitement à une prise de contact superficielle avec l'une ou l'autre base de données. Pour chaque base, il aborde des thèmes tels que la syntaxe et les commandes pour les opérations CRUD, la construction d'index (lorsque c'est possible), la réplication, les transactions (de nouveau, pour les bases qui les prennent en charge), les interfaces et moyens d'accès à la base de données, sa place dans le théorème CAP et bien d'autres choses encore.