Greboca  

Suport technique et veille technologique

Aujourd’hui, les grandes entreprises et administrations publiques hésitent entre continuer à utiliser des logiciels propriétaires ou basculer vers les Logiciels Libres. Pourtant, la plupart des logiciels libres sont capables de bien traiter les données issues des logiciels propriétaire, et parfois avec une meilleur compatibilité.

C’est alors la barrière de la prise en main qui fait peur, et pourtant...

Les logiciels libres

L’aspect « Logiciel Libre » permet une évolution rapide et une plus grande participation des utilisateurs. Les aides et tutoriels foisonnent sur Internet ou sont directement inclus dans le logiciel lui-même.

Enfin, les concepteurs sont plus proches des utilisateurs, ce qui rend les logiciels libres plus agréable à utiliser et conviviaux.

Grâce à la disponibilité des logiciels libres, vous trouverez facilement des services de support techniques et la licence n’est plus un frein à l’utilisation de ces logiciels par votre personnel.

Notre support technique concerne essentiellement les logiciels libres, que ce soit sous forme de services ponctuels ou de tutoriels.

LinuxFr.org : les journaux  -  Tour d'horizon de l'état des bases NoSQL

 -  Décembre 2023 - 

Sommaire

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 s'économisant des contraintes liées aux bases relationnelles.

Historiquement, nous utilisions ZODB/ZEO au bureau qui n'est pas une base NoSQL mais une base objet Python. Étant donné que nous écrivons nos services en Python, cela était adapté à notre besoin. Cependant, suite à des problèmes de performance sur de grosses quantités de données (sans qu'il y ait besoin de les répartir sur plusieurs machines), j'enquête sur d'autres possibilités. Cet article résume les recherche effectuées.

Pour notre besoin, ce serait une base libre, plutôt orientée colonne ou document et idéalement facile à installer.

 Bases NoSQL disponibles

La liste des bases provient de la page Wikipedia NoSQL. Les informations résumées sur chaque base est issue de sites, présentations et dépôts de sources. Les assertions de performances, de compatibilités ou d'installation n'ont pas été vérifiées.

 Accumulo

Accumulo est sous licence Apache ; la dernière version est sortie en août 2023. Accumulo est basé sur Hadoop avec des fonctions de sécurité augmentées et Zookeeper. La base semble être de type clef/valeur.

 Berkeley DB

Aujourd'hui propriété d'Oracle Corporation, deux versions sont disponibles : une licence libre et une propriétaire. La dernière version publiée est la 18.1.40 sortie en 29 mai 2020. C'est une base clef/valeur. La version libre est empaquetée dans de nombreuses distributions. Debian fournit Berkeley DB dans le paquet db5.3.

BigTable

BigTable est produit par Google. Cette base est sous licence propriétaire.

 Hypertable

Hypertable est sous licence GPL 2.0 et supporte Hadoop, GlusterFS ou encore Cloudstore. Le dernier commit visible sur github date de 8 ans.
Le logiciel est soit mort, soit devenu propriétaire.

 Cassandra

Cassandra est sous Licence Apache 2.0 et est utilisé (ou a été utilisé) par Twitter et Digg. La dernière version est la 4.1.3 qui date du 24 juillet 2023.

CouchDB

CouchDB est sous licence Apache 2.0. C'est une base orientée document. La dernière version est la 3.3.2 qui date du 25 avril 2023. Les données enregistrées sont une collection de documents JSON. C'est le format reçu lors de requêtes faites à CouchDB. La dépêche de 2012 indique que CouchDB était passé de mode lors de sa publication. Il semble aussi que cet état n'ait pas changé depuis.

 DEX/Sparksee

Base orientée graphe dont la dernière version est la 6.0 (2021). Cette base est sous licence propriétaire.

 DocumentDB

DocumentDB est un produit Microsoft. Cette base est sous licence propriétaire.

 DynamoDB

DynamoDB est un produit Amazon. Cette base est sous licence propriétaire.

Elassandra

Elassandra est une version augmentée de Cassandra intégrant un moteur de recherche Elasticsearch. Elassandra est sous licence Apache mais le projet est mort :

  • le site elassandra.io est un site parking
  • le dernier commit dans le dépôt a 3 ans
  • la documentation indique la fourniture de paquets .deb et .rpm, mais sur d'anciennes versions de la distribution et le domaine les hébergeant a disparu depuis.

 HBase

HBase est sous licence Apache 2.0. Cette base est utilisée (ou a été utilisée) par Facebook. C'est la base de données d'Hadoop. La dernière version est la 2.5.6 sorti le 25 octobre 2023. Une version 3 est en préparation .

 MongoDB

MongoDB est historiquement sous licence AGPL mais un changement de licence du serveur a eu lieu en 2018 vers une licence non-libre pour limiter l'exploitation par des fournisseurs SaaS sans en récupérer des subsides. Les outils annexes restent libres. Le site pousse à l'utilisation d'une version cloud (Mongo DB Atlas). Suite au changement de licence, MongoDB a été exclu de certaines distributions linux.
MongoDB Inc. (l'entreprise derrière MonDB) fournit une image sur DockerHub et des paquets pour RedHat, Debian et Ubuntu et Suse (documentation d'installation).
MongoDB est la base NoSQL la plus populaire selon db-engines.com.

 Neo4j

Neo4j est une base orientée graphe sous licences GPLv3 et GNU AGPLv3. La base est hébergeable soi-même mais le site pousse à un usage en SaaS (nommé Neo4j AuraDB). Le dépôt neo4j est sous licence GPL3 est encore actif, mais calme. Le dépôt graphQL est sous licence Apache 2 et regroupe neo4j et graphql. Il est plus actif que le précédent.

 OrientDB

OrientDB est sous licence Apache 2.0 et est une base multiparadigme (graphe, documents et clef/valeur).
La dernière version est la 3.0.43, sortie le 09 Août 2022. La publication de nouvelles versions semble ralentie mais le dépôt reste actif.
La documentation promet une installation rapide (docker, ansible et binaire fourni).
Un pilote pour Python existe aussi.

 projet Voldemort

Originellement maintenu par LinkedIn et publié sous licence Apache, le projet est officiellement arrêté (cf. le README sur le dépôt). Il est suggéré de passer à Venice qui est activement maintenu. La base est basé sur du clef/valeur.

 Redis

Redis est sous licence BSD. La dernière version est la 7.2.3, sortie le 1er novembre 2023. La base est de type clef/valeur, mais est utilisable en mode document.
Redis semble aujourd'hui utilisé surtout pour du cache plutôt que pour du stockage persistant.

 Riak

Le lien est cassé mais la version descendante semble correspondre à Riak KV aujourd'hui.
Riak est sous licence apache selon les en-têtes de fichier mais il n'y a pas de fichier de licence à la raçine du dépôt.
L'entreprise derrière Riak a fourni des paquets qui ne sont plus à jour. Le service semble plus simple d'installation que des bases de données basées sur Hadoop.
Une seule personne fait partie de l'organisation basho sur github.

 ScyllaDB

ScyllaDB est sous licence AGPL et est utilisé (ou a été utilisé) par Discord20 et Rakuten. La base est en mode colonne et est compatible avec Cassandra, avec plus de performance. La dernière version stable est la 5.2.11, sortie le 28 novembre 2023. Une offre cloud est aussi proposée.
Des images docker sont disponibles. ScyllaDB est écrit en C++ et semble assez simple à compiler si on en croit les commandes listées dans la documentation.

 SimpleDB

SimpleDB est un produit Amazon, mis à disposition via Amazon Web Services.

 Oracle NoSQL

Oracle NoSQL est un produit Oracle Corporation. Cette base est sous licence propriétaire.

 MentDB Weak

Originellement sous licence GPLv3, comme base NoSQL et gestionnaire de processus. Je n'ai pas trouvé de lien vers le code source.

MentDB WEak est devenu une fusion d'ETL (Extract Transform and Load), ESB (Enterprise Service Bus), SOA (Service Oriented Architecture), WebAPP (Web Application Framework) et AI(Weak) (pour Weak Artificial Intelligence). Le schéma de présentation montre une base SQL comme composant de MentDB.

Une autre solution, non NoSQL ?

Une piste pas encore explorée serait l'usage d'une base temporelle comme Kafka et la reconstruction des objets en mémoire. Apparemment, ça se fait. Cela suppose aussi un changement d'architecture vers de l'Event Sourcing, donc probablement plus invasif en terme de changement des services.

Conclusion

Cette recherche a permis un premier tri permettant en particulier d'éliminer les projets abandonnés ou non pertinents (uniquement SaaS, etc.) et de découvrir certaines bases que je ne connaissais pas et qui semblent intéressantes (OrientDB et ScyllaDB par exemple).

Commentaires : voir le flux Atom ouvrir dans le navigateur

par srb

LinuxFr.org : les journaux

LinuxFr.org : Journaux

antistress adventure in Flatpak land

 -  30 avril - 

Hello nal, ça faisait un bail !Certain (il se reconnaîtra) m'a demandé de le tenir au courant lorsque j'aurai basculé sur un usage de Firefox (...)


Téléphone sous Linux ?

 -  25 avril - 

Aujourd'hui, avoir un téléphone avec un Android libéré, c'est possible, on pense en particulier à Murena.Avoir un téléphone sous GNU/Linux, c'est (...)


Quand votre voiture vous espionne… et vous le fait payer

 -  23 avril - 

Ceci se passe aux États-Unis, pour l’instant, aucune preuve qu’une telle fuite existe en Europe. Mais… si votre assurance augmente brutalement, (...)


firefox, nouvelle fenêtre dans une session isolée

 -  15 avril - 

Les fenêtres de navigation privées de firefox partagent leurs cookies de session or je souhaitais avoir des fenêtres de navigation isolées, (qui ne (...)


Pretendo tente de déprogrammer l'obsolescence des consoles Nintendo

 -  9 avril - 

Ah Nal,Gros N vient de faire un gros doigt aux utilisateurs de ses consoles 3DS et Wii U en annonçant la fermeture des services en ligne pour (...)