OrientDB - Concepts de base

La principale caractéristique d'OrientDB est de prendre en charge les objets multimodèles, c'est-à-dire qu'il prend en charge différents modèles comme Document, Graphique, Clé / Valeur et Objet réel. Il contient une API distincte pour prendre en charge ces quatre modèles.

Modèle de document

Le modèle de document terminologique appartient à la base de données NoSQL. Cela signifie que les données sont stockées dans les documents et que le groupe de documents est appelé commeCollection. Techniquement, document signifie un ensemble de paires clé / valeur ou également appelé champs ou propriétés.

OrientDB utilise les concepts tels que les classes, les clusters et les liens pour stocker, regrouper et analyser les documents.

Le tableau suivant illustre la comparaison entre le modèle relationnel, le modèle de document et le modèle de document OrientDB -

Modèle relationnel Modèle de document Modèle de document OrientDB
Table Collection Classe ou cluster
Rangée Document Document
Colonne Paire clé / valeur Champ de document
Relation Indisponible Lien

Modèle de graphique

Une structure de données de graphique est un modèle de données qui peut stocker des données sous forme de sommets (nœuds) interconnectés par des arêtes (arcs). L'idée de la base de données de graphes OrientDB est venue du graphe de propriétés. Le sommet et l'arête sont les principaux artefacts du modèle Graph. Ils contiennent les propriétés qui peuvent les faire ressembler à des documents.

Le tableau suivant montre une comparaison entre le modèle de graphique, le modèle de données relationnel et le modèle de graphique OrientDB.

Modèle relationnel Modèle de graphique Modèle de graphe OrientDB
Table Classe Vertex et Edge Classe qui étend "V" (pour Vertex) et "E" (pour Edges)
Rangée Sommet Sommet
Colonne Propriété Vertex and Edge Propriété Vertex and Edge
Relation Bord Bord

Le modèle clé / valeur

Le modèle clé / valeur signifie que les données peuvent être stockées sous la forme d'une paire clé / valeur où les valeurs peuvent être de types simples et complexes. Il peut prendre en charge des documents et des éléments graphiques en tant que valeurs.

Le tableau suivant illustre la comparaison entre le modèle relationnel, le modèle clé / valeur et le modèle clé / valeur OrientDB.

Modèle relationnel Modèle clé / valeur Modèle clé / valeur OrientDB
Table Seau Classe ou cluster
Rangée Paire clé / valeur Document
Colonne Indisponible Champ de document ou propriété Vertex / Edge
Relation Indisponible Lien

Le modèle objet

Ce modèle a été hérité par la programmation orientée objet et prend en charge Inheritance entre types (les sous-types étend les super-types), Polymorphism lorsque vous faites référence à une classe de base et Direct binding from / to Objets utilisés dans les langages de programmation.

Le tableau suivant illustre la comparaison entre le modèle relationnel, le modèle objet et le modèle objet OrientDB.

Modèle relationnel Modèle d'objet Modèle d'objet OrientDB
Table Classe Classe ou cluster
Rangée Objet Document ou sommet
Colonne Propriété de l'objet Champ de document ou propriété Vertex / Edge
Relation Aiguille Lien

Avant d'aller plus loin dans les détails, il est préférable de connaître la terminologie de base associée à OrientDB. Voici quelques-unes des terminologies importantes.

Record

La plus petite unité que vous pouvez charger et stocker dans la base de données. Les enregistrements peuvent être stockés dans quatre types.

  • Document
  • Octets d'enregistrement
  • Vertex
  • Edge

ID d'enregistrement

Lorsque OrientDB génère un enregistrement, le serveur de base de données attribue automatiquement un identifiant d'unité à l'enregistrement, appelé RecordID (RID). Le RID ressemble à # <cluster>: <position>. <cluster> signifie le numéro d'identification du cluster et la <position> signifie la position absolue de l'enregistrement dans le cluster.

Des documents

Le document est le type d'enregistrement le plus flexible disponible dans OrientDB. Les documents sont typés doucement et sont définis par des classes de schéma avec une contrainte définie, mais vous pouvez également insérer le document sans aucun schéma, c'est-à-dire qu'il prend également en charge le mode sans schéma.

Les documents peuvent être facilement traités par exportation et importation au format JSON. Par exemple, jetez un œil à l'exemple de document JSON suivant. Il définit les détails du document.

{ 
   "id"        : "1201", 
   "name"      : "Jay", 
   "job"       : "Developer", 
   "creations" : [ 
      { 
         "name"    : "Amiga", 
         "company" : "Commodore Inc." 
      }, 
		
      { 
         "name"    : "Amiga 500", 
         "company" : "Commodore Inc." 
      } 
   ] 
}

RecordBytes

Le type d'enregistrement est le même que le type BLOB dans le SGBDR. OrientDB peut charger et stocker le type d'enregistrement de document avec des données binaires.

Sommet

La base de données OrientDB n'est pas seulement une base de données de documents, mais également une base de données Graph. Les nouveaux concepts tels que Vertex et Edge sont utilisés pour stocker les données sous forme de graphique. Dans les bases de données de graphes, l'unité de données la plus élémentaire est le nœud, qui dans OrientDB est appelé un sommet. Le sommet stocke les informations de la base de données.

Bord

Il existe un type d'enregistrement distinct appelé Edge qui connecte un sommet à un autre. Les arêtes sont bidirectionnelles et ne peuvent relier que deux sommets. Il existe deux types d'arêtes dans OrientDB, l'un est régulier et l'autre léger.

Classe

La classe est un type de modèle de données et le concept tiré du paradigme de programmation orientée objet. Sur la base du modèle de base de données documentaire traditionnel, les données sont stockées sous forme de collection, tandis que dans le modèle de base de données relationnelle, les données sont stockées dans des tables. OrientDB suit l'API Document avec le paradigme OPPS. En tant que concept, la classe dans OrientDB a la relation la plus proche avec la table dans les bases de données relationnelles, mais (contrairement aux tables) les classes peuvent être sans schéma, complètes ou mixtes. Les classes peuvent hériter d'autres classes, créant des arbres de classes. Chaque classe a son ou ses propres clusters (créés par défaut, si aucun n'est défini).

Grappe

Le cluster est un concept important utilisé pour stocker des enregistrements, des documents ou des sommets. En termes simples, Cluster est un endroit où un groupe d'enregistrements est stocké. Par défaut, OrientDB créera un cluster par classe. Tous les enregistrements d'une classe sont stockés dans le même cluster ayant le même nom que la classe. Vous pouvez créer jusqu'à 32 767 clusters (2 ^ 15-1) dans une base de données.

La classe CREATE est une commande utilisée pour créer un cluster avec un nom spécifique. Une fois le cluster créé, vous pouvez utiliser le cluster pour enregistrer des enregistrements en spécifiant le nom lors de la création de tout modèle de données.

Des relations

OrientDB prend en charge deux types de relations: référencées et intégrées. Referenced relationships signifie qu'il stocke un lien direct vers les objets cibles des relations. Embedded relationshipssignifie qu'il stocke la relation dans l'enregistrement qui l'intègre. Cette relation est plus forte que la relation de référence.

Base de données

La base de données est une interface pour accéder au stockage réel. Le service informatique comprend des concepts de haut niveau tels que les requêtes, les schémas, les métadonnées, les index, etc. OrientDB fournit également plusieurs types de bases de données. Pour plus d'informations sur ces types, consultez Types de base de données.