Petit état des lieux du NoSQL

65
7
mai
2012
Base de données

Pendant longtemps, les bases de données relationnelles ont été l'unique solution pour enregistrer des données, ou en tout cas, la solution adoptée par défaut par beaucoup de monde sans plus de réflexion sur le sujet. Pourtant, certaines personnes considèrent que le problème de stockage de données est en fait multiple et qu'il convient de se poser de nombreuses questions :

  • Est-ce que les données sont fortement structurées ou non ?
  • Quel est le ratio entre les lectures et les écritures ?
  • Est-il acceptable de perdre un enregistrement sur un million ? Sur un milliard ?
  • Est-ce que les données sont réparties sur plusieurs data-centres ?
  • Est-ce que la taille des données peut être multipliée par 10 en l'espace d'un mois ?
  • Quelle indisponibilité du service peut-on se permettre ?
  • Etc.

Les bases de données relationnelles proposent leurs réponses à ces questions ; elles peuvent paraître raisonnables dans bien des cas, mais pas toujours. Par exemple, les bases de données relationnelles sont très mal adaptées quand on veut privilégier les performances plutôt que la garantie d'écriture des données.
Aussi, pour répondre à ces problématiques différentes, un mouvement, NoSQL, a proposé d'adopter des outils différents, spécialisés pour certains cas d'usage. Certaines bases de données NoSQL sont destinées à traiter d'énormes volumes de données, d'autres sont conçues pour maximiser le nombre de requêtes par seconde qu'un serveur pourra traiter, etc. Notons en particulier que la plupart des plus gros sites web ont quitté le monde relationnel (Google, Facebook, Twitter, Amazon), ce qui tend à valider le besoin d'avoir d'autres outils que les bases de données relationnelles.

Logo nosql

NdA : Merci à Christophe Turbout, Thomas Douillard, Buf, olivierweb, Spack, baud123, Bruno Michel, mike.simonson et rakoo pour leur aide lors de la rédaction de cette dépêche

CouchDB passe la seconde vitesse

Posté par  (site web personnel) . Édité par Davy Defaud, Xavier Teyssier et Benoît Sibaud. Modéré par Xavier Teyssier. Licence CC By‑SA.
Étiquettes :
49
20
sept.
2016
Base de données

CouchDB est une base de données de la famille NoSQL. C’est même l’une des plus anciennes, sortie en 2005. Elle est ensuite devenue un projet Apache en 2008. Elle a pris du retard sur ses concurrents sur de nombreux aspects, mais sa grande force, la réplication entre instances primaires, reste inégalée. Pouchdb, un portage de CouchDB en JavaScript capable de tourner dans les navigateurs, est compatible avec le protocole de réplication de CouchDB et la combinaison des deux est très intéressante pour développer des applications Web dites « progressives » (PWA), capables de travailler sans connexion Internet. Il existe d’autres implémentations compatibles avec ce protocole de réplication, dont Couchbase lite pour mobile.

La version 2.0 de CouchDB est attendue depuis plusieurs années et a pris beaucoup de retard. Elle vient enfin de sortir avec de grandes nouveautés, dont la prise en charge du clustering, un nouveau moteur de « requêtage » et une interface d’administration plus moderne.

Logo de CouchDB

Logiciel libre et Big Data

Posté par  (site web personnel) . Édité par Florent Zara, tuiu pol, claudex et baud123. Modéré par patrick_g. Licence CC By‑SA.
Étiquettes :
41
14
mar.
2012
Base de données

Je viens de publier un livre blanc sur ce que je pense être la convergence inévitable du Big Data et du logiciel libre / open source. Après une définition du big data (« ensembles de données qui deviennent tellement gros qu'ils en deviennent difficiles à travailler avec des outils classiques de gestion de base de données », d'après Wikipedia) et de ses caractéristiques (les « 3 V » de Stonebraker ou les « 4 V » de Popescu), j'expose les raisons pour lesquels les principaux logiciels du domaine ont été mis en open source, et j'en fais un panorama.

Le même jour, le magazine InfoDSI publie un article sur le décollage du Big Data, citant une étude de marché d'IDC qui évalue le marché à 3.2 milliards de $US en 2010 et potentiellement presque 17 milliards de $US en 2015 et qui met en avant également le dynamisme des projets open source dans le domaine.

Pour en revenir à mon livre blanc, il s'agit de la première édition, forcément incomplète. Vos commentaires, qu'ils soient posté sur mon blog ou ici-même, seront pris en compte (s'ils sont pertinents ;-)).

NdM: le livre est sous licence CC BY-SA 3.0.

Sortie de Redis en version 2.2

Posté par  (site web personnel) . Modéré par baud123.
Étiquettes :
34
27
fév.
2011
Base de données

Redis est une base de données de type clé-valeur, sous licence BSD. On peut voir Redis comme une sorte de Memcached boosté aux stéroïdes.

La version 2.2.0 est sortie la semaine dernière, très rapidement suivie de la version 2.2.1. Cette version apporte principalement des optimisations par rapport à Redis 2.0 :

  • importante diminution de la consommation mémoire (à ce sujet, je vous conseille la lecture des astuces pour optimiser la mémoire) ;
  • réplication non-bloquante ;
  • la commande Watch pour faire du check and set ;
  • l'Algorithme LRU pour l'éviction des données quand la mémoire consommée par Redis est limitée ;
  • nouvelles commandes : SETBIT, GETBIT, SETRANGE et GETRANGE permettant d'accéder à des valeurs de type « chaînes de caractères », comme s'il s'agissait de tableaux.

Pour la suite, antirez (le principal développeur) souhaite se concentrer sur la prise en charge des grappes de serveurs (clusters) et sur diskstore (un stockage sur disque des données pour les instances où tout faire tenir en mémoire n'est pas une option).

UnQL : all your bases are belong to us

Posté par  . Modéré par baud123. Licence CC By‑SA.
Étiquettes :
31
2
sept.
2011
Base de données

Le mois dernier, Richard Hipp et Damien Katz (respectivement, les créateurs de SQLite et CouchDB) ont annoncé la création d'un groupe de travail ouvert autour d'un nouveau langage de requêtes pour les bases de données NoSQL : UnQL (Unstructured Query Language). L'objectif étant de libérer les bases de données orientés documents des interfaces spécifiques et éviter la dépendance envers un fournisseur.

Journal Tour d'horizon de l'état des bases NoSQL

Posté par  (site web personnel) . Licence CC By‑SA.
Étiquettes :
29
22
déc.
2023

Les bases NoSQL sont passées de mode depuis longtemps (dernière dépêche en 2012), remplacées par la Blockchain, les NFT, les IA génératives et probablement plein d'autres choses déjà oubliées entre les deux. À l'origine, l'avantage était de pouvoir mieux passer à l'échelle en distribuant les données sur de multiples serveurs. Un autre des avantages avancés (et qui m'intéresse plus) était de simplifier les développements en éliminant la rigidité des bases de données relationnelles, permettant de livrer plus rapidement (…)

En bref : du 17 au 21 octobre

Posté par  . Modéré par baud123. Licence CC By‑SA.
27
21
oct.
2011
Linux

Cette dépêche retrace l’actualité des logiciels libres du lundi 17 octobre au vendredi 21 octobre 2011, autour :

  • d’Android : Firefox Mobile et la version 4.0 dite Ice Cream Sandwich ;
  • de GNU/Linux : OpenMediaVault, OpenELEC, Ubuntu 12.04 et Rekonq 0.8 ;
  • du développement : IcedTea, Redis et OpenCL.

Les détails dans la seconde partie de la dépêche.

Journal NoSQL ou pas ?

Posté par  . Licence CC By‑SA.
Étiquettes :
26
29
avr.
2012

Je cherche à faire quelques projets orientés Web. Pour donner une idée, je compte partir sur deux projets :

Le but est de redécouvrir les technologies Web, un monde qui bouge beaucoup ces derniers temps, et enfin de me lancer avec Django.

La nouvelle mode des bases NoSQL me pousse à réfléchir sur l'utilisation de celles-ci. Cependant, étant sûrement trop formaté (…)

En vrac : Drizzle, MongoDB et Webdis

Posté par  (site web personnel) . Modéré par Xavier Teyssier.
Étiquettes :
23
20
mar.
2011
Base de données

Drizzle

Drizzle est un fork de MySQL allégé et spécialement adapté pour le web et les infrastructures Cloud. Contrairement à MySQL qui est la propriété d'Oracle, Drizzle est développé et conduit par la communauté. Parmi les autres différences avec MySQL, on peut également citer :

  • l'absence des vues, triggers et procédures stockées ;
  • la non prise en charge de Windows ;
  • un nouveau moteur, HailDB ;
  • une configuration optimisée par défaut pour 1024 connexions simultanées…

La version 2011.03.13 a été déclarée General Availability (GA), c'est-à-dire prête pour la production, et ce trois ans après l'annonce du fork.

MongoDB

MongoDB est une base de données NoSQL de type documents, sous licence GNU AGPL. La version 1.8 est sortie le 16 mars et apporte :

Webdis

Redis est une base de données de type clé-valeur, un memcached boosté aux stéroïdes. Webdis est une interface HTTP au-dessus de Redis, sous licence BSD.

Il permet d'interroger une base de données Redis en appelant un chemin de la forme /Commande/Argument1/Argument2/.../ArgumentN. Le retour sera par défaut du JSON, mais il est également possible d'utiliser du JSONP ou d'autres formats : HTML, texte brut, etc. Webdis intègre également une gestion des droits en fonction de l'adresse IP, de l'authentification HTTP ou des deux.

Petites brêves : ODF et Cassandra

Posté par  . Édité par Nÿco, khalahan, Nils Ratusznik et Brndan. Modéré par Pierre Jarillon. Licence CC By‑SA.
23
28
avr.
2012
Technologie

Apache Cassandra 1.1 est sortie

La base de donnée NoSQL de la fondation Apache est sortie en version 1.1, cette base de données est destinée à stocker beaucoup de données sur une architecture distribuée tout en étant tolérante aux pannes et offrants de grandes performances.

Les nouveautés sont un cache amélioré, une amélioration du langage de requête CQL (Cassandra Query Language, un sous-ensemble de SQL), un contrôle du stockage, une intégration d'Hadoop, un contrôle du répertoire des données et une amélioration de la montée en charge.

Microsoft Office 15 prendra en charge ODF 1.2

Microsoft a annoncé à la conférence ODF plugfest, hébergée par Microsoft, que sa suite Office intégrerait la gestion d'ODF 1.2 dans sa version 15

Le gouvernement hongrois soutient le développement d'ODF

Le gouvernement hongrois a annoncé investir 370 millions de Forints (environ 1,25 millions d'Euros) dans le développement d'applications utilisant le format ODF. La somme sera répartie entre le département d'informatique de l'université de Szeged et la société Multiráció qui développe EuroOffice, une suite bureautique issue d'OpenOffice.

Journal Cassandra 4 qui la testent, un qui l'Hécube

Posté par  (site web personnel) . Licence CC By‑SA.
20
4
août
2021

Bonjour Nal,

Je t'écris pour te signaler la sortie de la base de données Apache Cassandra 4.0.

Cette base orientée colonne grecque est devenue l'un des stockages les plus utilisées pour les titanodonnées. Écrite en Java (pour les perfs), elle utilisable via son langage de requête CQL ou via des API dans tous les bons langages mais aussi en Python ou Node.js.

Voici les nouveautés de cette version:

  • le support de Java 11 : c'est important, car il s'agit (…)

Sortie de MongoDB 2.0 RC

Posté par  (site web personnel) . Modéré par Lucas Bonnet. Licence CC By‑SA.
Étiquettes :
19
31
août
2011
Base de données

Moins de dix mois après la sortie de sa dernière version stable, l'entreprise 10gen a sorti la nouvelle mouture de sa base de données : MongoDB 2.0. Cette version ne propose rien de révolutionnaire, mais apporte tout de même un certain nombre de fonctionnalités appréciables. On retrouvera notamment :

  • la journalisation activée par défaut ;
  • l'amélioration de l'efficacité spatiale et temporelle des index ;
  • la gestion plus fine des priorités pour la réplication ;
  • et la datacenter awereness de certaines opérations.

N. D. M. : MongoDB est publiée sous licence AGPL v3.0.

N. D. M. : la version 2.0 de MongoDB n'est encore qu'en release candidate.

Hudson devient Jenkins, Riak 0.14, Chrome abandonne H264

Posté par  (site web personnel) . Modéré par patrick_g.
Étiquettes :
19
12
jan.
2011
Technologie
s/Hudson/Jenkins/

Hudson, le serveur d'intégration continue en Java, va devenir plus indépendant d'Oracle. Cela a plusieurs conséquences :
  • Hudson est une marque déposée et en l'absence de garanties d'Oracle, le dépositaire, il a été décidé de changer de nom : ce sera maintenant Jenkins ;
  • Le dépôt pour le code sera hébergé par Github ;
  • Le reste de l'infrastructure va également sortir du giron d'Oracle, à commencer par les mailing-lists.


++Riak

Riak est une base de données NoSQL de type clé-valeur dont l'intérêt principal est de pouvoir ajouter ou supprimer des nœuds très simplement. La version 0.14 est sortie début janvier :
  • Le map-reduce de Riak a bénéficié d'améliorations très conséquentes ;
  • Deux nouveaux outils permettent de débugger plus simplement les clusters ;
  • Bitcask, le moteur de stockage par défaut de Riak, est plus efficace et on peut configurer les périodes de temps plus favorables pour les opérations de nettoyage.


cat H.264 > /dev/null

Google a annoncé que les prochaines versions de Chrome ne vont plus prendre en charge le codec H.264. Cette décision fait partie de la stratégie de Google de mettre en avant son codec WebM.

NoSQL : Neo4J, Riak, Kyoto Cabinet et Graylog2

Posté par  (site web personnel) . Modéré par Nÿco.
17
3
août
2010
Base de données
Petite compilation de brèves autour de divers projets de type NoSQL :

Neo4J est une base de données de type graphes sous licence AGPLv3. La version 1.1, sortie fin juillet, apporte 7 grandes nouveautés :
  1. Un package d'algorithmes classiques pour les graphes avec, par exemple, Dijkstra et A* ;
  2. La possibilité d’exécuter du code sur des événements comme un commit ;
  3. Une bibliothèque de traversée de graphes (vous donnez des instructions comme l'ordre de parcours dans le graphe ou les types d'arcs à suivre et Neo4J vous renvoient les chemins parcourus) ;
  4. Monitoring avec JMX ;
  5. Optimisation du kernel ;
  6. Amélioration de l'indexation avec Lucene ;
  7. Inclusion de l'outil de sauvegarde à chaud.

Riak est une base de données distribuée de type clé-valeur, sous licence Apache 2. Depuis la précédente dépêche sur LinuxFr.org, deux versions sont sorties : la 0.11 et la 0.12. Bitcask est maintenant le moteur de stockage par défaut. Pour le reste, pas de grands changements, mais un bon nombre de corrections de bogues et de petites améliorations diverses.

Kyoto Cabinet est une base de données très rapide de type clé-valeur. Un nouveau type de stockage a été introduit dans la version 1.1.0 : Directory Database. Celui-ci n'est qu'une fine abstraction au-dessus des systèmes de fichiers et fonctionne particulièrement bien avec Ext3 et ReiserFS pour stocker des valeurs très grosses.

La version 1.2.0 a également été l'occasion d'introduire un nouveau type de stockage : ForestDB. Son implémentation est un B-tree au-dessus de DirDB et dont les performances sont étonnamment bonnes.

Enfin, Graylog2 est une implémentation Open Source de syslog qui enregistre les logs dans MongoDB. Il se compose d'un serveur en Java qui accepte les logs en TCP ou UDP et les enregistre dans la base de données, et d'une interface de consultation des logs écrite en Ruby on Rails. Les captures d'écran montrent les possibilités de configuration et de filtrage des messages de cet outil.