OrientDB - Conceptos básicos

La característica principal de OrientDB es admitir objetos de múltiples modelos, es decir, admite diferentes modelos como Documento, Gráfico, Clave / Valor y Objeto Real. Contiene una API separada para admitir estos cuatro modelos.

Modelo de documento

El modelo de documento de terminología pertenece a la base de datos NoSQL. Significa que los datos se almacenan en los Documentos y el grupo de Documentos se llama comoCollection. Técnicamente, documento significa un conjunto de pares clave / valor o también se denomina campos o propiedades.

OrientDB utiliza conceptos como clases, clústeres y enlaces para almacenar, agrupar y analizar los documentos.

La siguiente tabla ilustra la comparación entre el modelo relacional, el modelo de documento y el modelo de documento de OrientDB:

Modelo relacional Modelo de documento Modelo de documento de OrientDB
Mesa Colección Clase o Cluster
Fila Documento Documento
Columna Par clave / valor Campo de documento
Relación No disponible Enlace

Modelo gráfico

Una estructura de datos de gráfico es un modelo de datos que puede almacenar datos en forma de vértices (nodos) interconectados por bordes (arcos). La idea de la base de datos de gráficos OrientDB surgió de la propiedad gráfica. El vértice y el borde son los principales artefactos del modelo Graph. Contienen las propiedades que pueden hacer que parezcan similares a los documentos.

La siguiente tabla muestra una comparación entre el modelo de gráfico, el modelo de datos relacionales y el modelo de gráfico de OrientDB.

Modelo relacional Modelo gráfico Modelo gráfico de OrientDB
Mesa Clase de vértice y borde Clase que extiende "V" (para vértice) y "E" (para bordes)
Fila Vértice Vértice
Columna Propiedad Vertex y Edge Propiedad Vertex y Edge
Relación Borde Borde

El modelo clave / valor

El modelo clave / valor significa que los datos se pueden almacenar en forma de par clave / valor donde los valores pueden ser de tipos simples y complejos. Puede admitir documentos y elementos gráficos como valores.

La siguiente tabla ilustra la comparación entre el modelo relacional, el modelo clave / valor y el modelo clave / valor de OrientDB.

Modelo relacional Modelo clave / valor Modelo de clave / valor de OrientDB
Mesa Cubeta Clase o Cluster
Fila Par clave / valor Documento
Columna No disponible Campo de documento o propiedad Vertex / Edge
Relación No disponible Enlace

El modelo de objetos

Este modelo ha sido heredado por la programación orientada a objetos y admite Inheritance entre tipos (subtipos amplía los supertipos), Polymorphism cuando te refieres a una clase base y Direct binding desde / hacia Objetos utilizados en lenguajes de programación.

La siguiente tabla ilustra la comparación entre el modelo relacional, el modelo de objeto y el modelo de objeto de OrientDB.

Modelo relacional Modelo de objeto Modelo de objetos de OrientDB
Mesa Clase Clase o Cluster
Fila Objeto Documento o vértice
Columna Propiedad del objeto Campo de documento o propiedad Vertex / Edge
Relación Puntero Enlace

Antes de seguir adelante en detalle, es mejor conocer la terminología básica asociada con OrientDB. A continuación se presentan algunas de las terminologías importantes.

Grabar

La unidad más pequeña desde la que puede cargar y almacenar en la base de datos. Los registros se pueden almacenar en cuatro tipos.

  • Document
  • Bytes de registro
  • Vertex
  • Edge

ID de registro

Cuando OrientDB genera un registro, el servidor de la base de datos asigna automáticamente un identificador de unidad al registro, llamado RecordID (RID). El RID se parece a # <cluster>: <position>. <cluster> significa número de identificación del cluster y <position> significa posición absoluta del registro en el cluster.

Documentos

El documento es el tipo de registro más flexible disponible en OrientDB. Los documentos se escriben suavemente y se definen mediante clases de esquema con una restricción definida, pero también puede insertar el documento sin ningún esquema, es decir, también admite el modo sin esquema.

Los documentos se pueden manejar fácilmente exportándolos e importándolos en formato JSON. Por ejemplo, eche un vistazo al siguiente documento de muestra JSON. Define los detalles del documento.

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

RecordBytes

El tipo de registro es el mismo que el tipo BLOB en RDBMS. OrientDB puede cargar y almacenar el tipo de registro de documentos junto con datos binarios.

Vértice

La base de datos de OrientDB no es solo una base de datos de documentos, sino también una base de datos de gráficos. Los nuevos conceptos como Vertex y Edge se utilizan para almacenar los datos en forma de gráfico. En las bases de datos de grafos, la unidad de datos más básica es el nodo, que en OrientDB se llama vértice. Vertex almacena información para la base de datos.

Borde

Existe un tipo de registro separado llamado Edge que conecta un vértice con otro. Los bordes son bidireccionales y solo pueden conectar dos vértices. Hay dos tipos de bordes en OrientDB, uno es regular y otro ligero.

Clase

La clase es un tipo de modelo de datos y el concepto extraído del paradigma de programación orientada a objetos. Según el modelo de base de datos de documentos tradicional, los datos se almacenan en forma de recopilación, mientras que en el modelo de base de datos relacional los datos se almacenan en tablas. OrientDB sigue la API de documentos junto con el paradigma OPPS. Como concepto, la clase en OrientDB tiene la relación más cercana con la tabla en las bases de datos relacionales, pero (a diferencia de las tablas) las clases pueden ser sin esquema, con esquema completo o mixtas. Las clases pueden heredar de otras clases, creando árboles de clases. Cada clase tiene su propio clúster o clústeres (creados de forma predeterminada, si no hay ninguno definido).

Racimo

Clúster es un concepto importante que se utiliza para almacenar registros, documentos o vértices. En palabras simples, Cluster es un lugar donde se almacena un grupo de registros. De forma predeterminada, OrientDB creará un clúster por clase. Todos los registros de una clase se almacenan en el mismo grupo con el mismo nombre que la clase. Puede crear hasta 32,767 (2 ^ 15-1) clústeres en una base de datos.

La clase CREATE es un comando que se usa para crear un clúster con un nombre específico. Una vez que se crea el clúster, puede utilizarlo para guardar registros especificando el nombre durante la creación de cualquier modelo de datos.

Relaciones

OrientDB admite dos tipos de relaciones: referenciadas e integradas. Referenced relationships significa que almacena el enlace directo a los objetos de destino de las relaciones. Embedded relationshipssignifica que almacena la relación dentro del registro que lo incrusta. Esta relación es más fuerte que la relación de referencia.

Base de datos

La base de datos es una interfaz para acceder al almacenamiento real. TI comprende conceptos de alto nivel como consultas, esquemas, metadatos, índices, etc. OrientDB también proporciona varios tipos de bases de datos. Para obtener más información sobre estos tipos, consulte Tipos de bases de datos.