OrientDB

Un article de Wikipédia, l'encyclopédie libre.
OrientDB
Description de l'image OrientDB Logo 2014 280x177.jpg.

Informations
Créateur OrientDB
Développé par OrientDB Ltd.
Dernière version 2.2.22
Dépôt github.com/orientechnologies/orientdbVoir et modifier les données sur Wikidata
Assurance qualité Intégration continueVoir et modifier les données sur Wikidata
Écrit en Java
Système d'exploitation MultiplateformeVoir et modifier les données sur Wikidata
Environnement Machine virtuelle JavaVoir et modifier les données sur Wikidata
Type Base de données orientée graphe
Système de gestion de base de données
SGBD NoSQL
Multi-model database (en)Voir et modifier les données sur Wikidata
Licence Apache 2 Licence
Site web orientdb.com

OrientDB[1] est un logiciel de système de gestion de base de données NoSQL open source écrit en Java.

C’est une base de données multi-modèles, prenant en charge les graphes, documents, clé/valeur, et les modèles objet[2] mais les relations sont gérées comme des bases de données orientées graphes avec des connexions directes entre les enregistrements. Il prend en charge les modes sans schéma, avec schéma complet et schéma mixte. Il a un système de profilage avec un niveau de sécurité élevé basé sur les utilisateurs et les fonctions et prend en charge les requêtes avec Gremlin ainsi qu’avec SQL étendu pour parcourir le graphique. OrientDB utilise plusieurs mécanismes d’indexation basés sur B-tree et Extendible hashing le dernier d'entre eux est connu comme « hash index », il est prévu de mettre en œuvre les index basés sur LSM-tree (en) et Fractal tree index (en). Chaque enregistrement a une clé de substitution qui indique la position de l’enregistrement à l’intérieur de la liste Array, les liens entre les enregistrements sont conservés en tant que valeur unique de la position de l’enregistrement stockée à l’intérieur de la référence ou comme B-tree des positions d’enregistrement (enregistrement appelés ID ou RID) qui permettent des parcours rapide (avec complexité O(1) ) d’une à plusieurs relations et l’ajout/suppression rapide de nouveaux liens. OrientDB est la base de données orientée graphes la plus populaire selon le classement de base de données orientées graphes DB-Engines[3].

Le développement d’OrientDB repose encore sur une communauté open source dirigée par OrientDB SARL créée par son créateur original Luca Garulli. Le projet utilise GitHub[4] pour gérer les sources, les collaborateurs et le contrôle de version, Google Group[5] et Stack Overflow[6] pour fournir une assistance gratuite aux utilisateurs dans le monde entier. OrientDB offre également un cours gratuit Udemy[7] pour ceux qui espèrent apprendre les bases et commencer avec OrientDB.

Moteur[modifier | modifier le code]

OrientDB est construit avec un moteur graphe/document multi-modèles. OrientDB est ressenti comme une base de données de graphes tout d’abord, mais il n’y a aucune raison que la base de données clé-valeur ne puisse être utilisée d’elle-même. Tandis qu’OrientDB inclut une couche SQL, le soutien aux arcs signifie que ceux-ci peuvent être utilisés pour parcourir les relations plutôt que d’employer une déclaration JOIN[8]. OrientDB gère chaque dossier / document comme un objet et le lien entre les objets / documents ne se fait pas par le biais de références, c’est une liaison directe (enregistrement d’un pointeur vers l’objet). Cela conduit à une récupération rapide de données reliées par rapport aux jointures dans un SGBDR[9].

Éditions et licences[modifier | modifier le code]

OrientDB Community Edition est gratuite pour toute utilisation (licence Apache 2). Le logiciel open source repose sur une communauté de développeurs. Des fonctionnalités telles que l’échelle horizontale, la tolérance, le clustering, le sharding, et la réplication ne sont pas désactivées dans OrientDB Community Edition.

OrientDB Enterprise Edition est l’extension commerciale d’OrientDB Community Edition créée pour gérer des cas d’usage plus solides et exigeants. OrientDB Enterprise Edition inclut des fonctionnalités supplémentaires comme un profileur de requête, une configuration de clustering distribuée, l’enregistrement de paramètres, un moniteur direct, un téléporteur (un outil de migration) et des alertes configurables[10].

Caractéristiques[modifier | modifier le code]

  • Installation rapide. OrientDB peut être installé et exécuté en moins de 60 secondes[11].
  • Entièrement transactionnel : il prend en charge les transactions ACID  garantissant que toutes les transactions des bases de données soient traitées de manière fiable et en cas d’accident, tous les documents en attente sont récupérés et sauvegardés.
  • Modèle de données orienté graphe : gestion native des graphes. Entièrement compatible avec le Apache TinkerPop[12] Gremlin (anciennement Blueprints)[13] cadriciel open source de calcul de graphes.
  • SQL : prend en charge les requêtes SQL avec des extensions pour gérer les relations sans SQL join, gère les arbres et les graphes des documents connectés.
  • Technologies web : prise en charge native le HTTP, le protocole RESTful, et des bibliothèques ou composants supplémentaires de JSON.
  • Distribué : support complet pour réplication multimaster y compris des grappes distribués géographiquement.
  • S’exécute partout : la mise en place à l’aide de Java pure lui permet d’être exécuté sur Linux, OS X, Windows, ou n’importe quel système compatible JVM .
  • Incorporable : le mode local utilise la base de données sans passer par le serveur. Parfait pour les scénarios où la base de données est incorporée.
  • Licence Apache 2 : toujours gratuite pour toute utilisation. Pas de frais ou de redevances pour l’utiliser.
  • Le serveur complet a un encombrement d’environ 512 MB .
  • Un support commercial est disponible avec OrientDB.
  • Pattern matching : introduite dans la version 2.2, la déclaration Match interroge la base de données de façon déclarative, en utilisant des filtrages.
  • Les fonctionnalités de sécurité introduites dans OrientDB 2.2 fournissent un cadre extensible permettant d’ajouter des authentificateurs externes, la validation de mot de passe, l’importation LDAP des fonctions et des utilisateurs de la base de données, des capacités audit avancées et la prise en charge de syslog. OrientDB Enterprise Edition offre la prise en charge SPNEGO de l’authentification de l’ensemble du navigateur Kerberos (protocole) . Quand il s’agit de chiffrement de base de données, depuis la version 2.2, OrientDB peut chiffrer les dossiers sur le disque. Cela empêche les utilisateurs non autorisés d’accéder au contenu de la base de données ou même de contourner la sécurité OrientDB.
  • Téléporteur : permet à des bases de données relationnelles d’être importées rapidement sur OrientDB en quelques étapes simples[14].
  • Cloud ready : OrientDB peut être déployé dans le cloud et prend en charge les fournisseurs suivants : Amazon Web Services, Microsoft Azure, Cloud Qwest, Jelastic, DigitalOcean[15].

Applications[modifier | modifier le code]

  • Services bancaires
  • Données volumineuses
  • Prévention de la fraude[16]
  • Logiciel de gestion de prêt (Floify)[17]
  • Maîtrise de la gestion des données[18],[19]
  • Base de données interaction humaine non-coding RNA[20]
  • Moteurs de recommandation[21]
  • Réseaux sociaux
  • Systèmes de gestion du trafic[22]

Histoire[modifier | modifier le code]

OrientDB a été initialement créé par Luca Garulli en 2010. Luca l’a écrit comme une réécriture Java de la couche rapide persistante de la base de données ODBMS Orient, qui fut originellement écrit en C++. Pendant les années 2012-2014  le moteur de stockage a été réaménagé par Andrey Lomakin. Il a obtenu le nouveau nom « plocal » qui signifie « paginated local ». Ce nom implique que le nouveau moteur de stockage est basé sur le concept d’un partage de fichiers de données par pages et la page est traitée comme une seule unité atomique de changement. Depuis 2012, le projet est parrainé par LTD OrientDB (anciennement Orient Technologies LTD), une société à but lucratif avec Luca comme PDG et fondateur. En 2013 Andrey Lomakin a rejoint la société comme principal ingénieur R & D et copropriétaire de l’entreprise[23],[24].

OrientDB a été couvert par les médias et fut le lauréat du prix Infoworld Bossie 2015[25].  

Notes et références[modifier | modifier le code]

  1. (en-US) « OrientDB - Distributed Graph/Document Multi-Model Database », sur OrientDB Distributed Multi-Model Graph/Document Database (consulté le )
  2. SAP Enterprise OrientDB
  3. (en) « DB-Engines Ranking », sur DB-Engines (consulté le ).
  4. orientdb: OrientDB is the most versatile DBMS supporting Graph, Document, Reactive, Full-Text, Geospatial and Key-Value models in one Multi-Model product. OrientDB can run distributed (Multi-Maste.., OrientDB, (lire en ligne)
  5. « Google Groupes », sur groups.google.com (consulté le )
  6. « Posts containing 'orientdb' - Stack Overflow » (consulté le )
  7. « OrientDB - Getting Started - Udemy », sur Udemy (consulté le )
  8. (en) Bloor Research International Ltd., « Diaku: more than governance | Bloor », sur www.bloorresearch.com (consulté le )
  9. (en) « Hidden Gems of Web Mobile Development » [archive du ]
  10. (en-US) « OrientDB - Distributed Multi-Model and Graph Database », sur orientdb.com (consulté le )
  11. OrientDB, « OrientDB setup », (consulté le )
  12. (en) Apache TinkerPop, « Apache TinkerPop », sur tinkerpop.incubator.apache.org (consulté le )
  13. (en) « Blueprints TinkerPop » [archive du ]
  14. « Teleporter · OrientDB Manual », sur orientdb.com (consulté le )
  15. (en-US) « OrientDB in the Cloud - Scalable and with Zero Configuration », sur orientdb.com (consulté le )
  16. (en-US) « Harness graphs & documents for Real-time Fraud Prevention », sur orientdb.com (consulté le )
  17. (en) « Why I Use OrientDB on Production Applications - DZone Database », sur dzone.com (consulté le )
  18. (en-US) « Diaku Axon - Data Governance powered by OrientDB », sur orientdb.com (consulté le )
  19. (en) Nuix, « Nuix 7 Conquers Customer Challenges for Today and Builds Hyper-Scale Capacity for the Future », sur www.prnewswire.com (consulté le )
  20. Vincenzo Bonnici, Francesco Russo, Nicola Bombieri et Alfredo Pulvirenti, « Comprehensive Reconstruction and Visualization of Non-Coding Regulatory Networks in Human », Frontiers in Bioengineering and Biotechnology, vol. 2,‎ (ISSN 2296-4185, PMID 25540777, PMCID PMC4261811, DOI 10.3389/fbioe.2014.00069, lire en ligne, consulté le )
  21. « MovieLens recommendation engine with OrientDB | Pizza Connections » (consulté le )
  22. (en-US) « Traffic Management Systems with OrientDB », sur orientdb.com (consulté le )
  23. admin, « Intervista a Luca Garulli – JavaStaff.com » (consulté le )
  24. (en-US) « Expert Interview with Luca Garulli Of OrientDB On Multi-Model Database Management For Big Data », Bigstep Blog,‎ (lire en ligne, consulté le )
  25. (en) InfoWorld staff, « Bossie Awards 2015: The best open source application development tools », InfoWorld,‎ (lire en ligne, consulté le )

Liens externes[modifier | modifier le code]