OrientDB - Conceitos Básicos
A principal característica do OrientDB é oferecer suporte a objetos de vários modelos, ou seja, ele suporta diferentes modelos como Documento, Gráfico, Chave / Valor e Objeto Real. Ele contém uma API separada para oferecer suporte a todos esses quatro modelos.
Modelo de Documento
A terminologia Document model pertence ao banco de dados NoSQL. Isso significa que os dados são armazenados nos Documentos e o grupo de Documentos são chamados deCollection. Tecnicamente, documento significa um conjunto de pares de chave / valor ou também conhecido como campos ou propriedades.
OrientDB usa os conceitos como classes, clusters e link para armazenar, agrupar e analisar os documentos.
A tabela a seguir ilustra a comparação entre o modelo relacional, modelo de documento e modelo de documento OrientDB -
Modelo Relacional | Modelo de Documento | Modelo de Documento OrientDB |
---|---|---|
Mesa | Coleção | Classe ou Cluster |
Linha | Documento | Documento |
Coluna | Par chave / valor | Campo de documento |
Relação | Não disponível | Ligação |
Modelo de Gráfico
Uma estrutura de dados de gráfico é um modelo de dados que pode armazenar dados na forma de vértices (nós) interconectados por arestas (arcos). A ideia do banco de dados gráfico OrientDB veio do gráfico de propriedades. O vértice e a aresta são os principais artefatos do modelo Graph. Eles contêm as propriedades, o que pode fazer com que pareçam semelhantes a documentos.
A tabela a seguir mostra uma comparação entre o modelo de gráfico, o modelo de dados relacionais e o modelo de gráfico OrientDB.
Modelo Relacional | Modelo de Gráfico | Modelo de gráfico OrientDB |
---|---|---|
Mesa | Classe Vertex e Edge | Classe que estende "V" (para vértices) e "E" (para bordas) |
Linha | Vértice | Vértice |
Coluna | Propriedade de vértice e borda | Propriedade de vértice e borda |
Relação | Beira | Beira |
O Modelo Chave / Valor
O modelo Chave / Valor significa que os dados podem ser armazenados na forma de par chave / valor, onde os valores podem ser de tipos simples e complexos. Ele pode suportar documentos e elementos gráficos como valores.
A tabela a seguir ilustra a comparação entre o modelo relacional, modelo de chave / valor e modelo de chave / valor OrientDB.
Modelo Relacional | Modelo de chave / valor | Modelo de chave / valor OrientDB |
---|---|---|
Mesa | Balde | Classe ou Cluster |
Linha | Par chave / valor | Documento |
Coluna | Não disponível | Campo do documento ou propriedade Vértice / Borda |
Relação | Não disponível | Ligação |
O modelo de objeto
Este modelo foi herdado pela programação orientada a objetos e suporta Inheritance entre tipos (subtipos estendem os supertipos), Polymorphism quando você se refere a uma classe base e Direct binding de / para Objetos usados em linguagens de programação.
A tabela a seguir ilustra a comparação entre o modelo relacional, o modelo de objeto e o modelo de objeto OrientDB.
Modelo Relacional | Modelo de Objeto | Modelo de Objeto OrientDB |
---|---|---|
Mesa | Classe | Classe ou Cluster |
Linha | Objeto | Documento ou vértice |
Coluna | Propriedade do objeto | Campo do documento ou propriedade Vértice / Borda |
Relação | Pointer | Ligação |
Antes de prosseguir em detalhes, é melhor conhecer a terminologia básica associada ao OrientDB. A seguir estão algumas das terminologias importantes.
Registro
A menor unidade que você pode carregar e armazenar no banco de dados. Os registros podem ser armazenados em quatro tipos.
- Document
- Bytes de registro
- Vertex
- Edge
ID de registro
Quando OrientDB gera um registro, o servidor de banco de dados atribui automaticamente um identificador de unidade ao registro, chamado RecordID (RID). O RID se parece com # <cluster>: <position>. <cluster> significa número de identificação do cluster e <position> significa posição absoluta do registro no cluster.
Documentos
O Documento é o tipo de registro mais flexível disponível no OrientDB. Os documentos são digitados suavemente e são definidos por classes de esquema com restrição definida, mas você também pode inserir o documento sem qualquer esquema, ou seja, ele também suporta o modo sem esquema.
Os documentos podem ser facilmente exportados e importados no formato JSON. Por exemplo, dê uma olhada no seguinte documento de amostra JSON. Ele define os detalhes do documento.
{
"id" : "1201",
"name" : "Jay",
"job" : "Developer",
"creations" : [
{
"name" : "Amiga",
"company" : "Commodore Inc."
},
{
"name" : "Amiga 500",
"company" : "Commodore Inc."
}
]
}
RecordBytes
O tipo de registro é igual ao tipo BLOB no RDBMS. OrientDB pode carregar e armazenar o tipo de registro de documento junto com dados binários.
Vértice
O banco de dados OrientDB não é apenas um banco de dados de documentos, mas também um banco de dados Graph. Os novos conceitos como Vertex e Edge são usados para armazenar os dados na forma de gráfico. Em bancos de dados gráficos, a unidade de dados mais básica é o nó, que no OrientDB é chamado de vértice. O Vertex armazena informações para o banco de dados.
Beira
Há um tipo de registro separado denominado Edge que conecta um vértice a outro. As arestas são bidirecionais e podem conectar apenas dois vértices. Existem dois tipos de arestas no OrientDB, uma é regular e outra leve.
Classe
A classe é um tipo de modelo de dados e o conceito extraído do paradigma de programação orientada a objetos. Com base no modelo de banco de dados de documentos tradicional, os dados são armazenados na forma de coleção, enquanto no modelo de banco de dados Relacional os dados são armazenados em tabelas. OrientDB segue a API do Documento junto com o paradigma OPPS. Como conceito, a classe em OrientDB tem o relacionamento mais próximo com a tabela em bancos de dados relacionais, mas (ao contrário das tabelas) as classes podem ser sem esquema, com esquema completo ou mistas. As classes podem herdar de outras classes, criando árvores de classes. Cada classe tem seu próprio cluster ou clusters (criados por padrão, se nenhum estiver definido).
Grupo
Cluster é um conceito importante usado para armazenar registros, documentos ou vértices. Em palavras simples, Cluster é um local onde um grupo de registros é armazenado. Por padrão, o OrientDB criará um cluster por classe. Todos os registros de uma classe são armazenados no mesmo cluster com o mesmo nome da classe. Você pode criar até 32.767 (2 ^ 15-1) clusters em um banco de dados.
A classe CREATE é um comando usado para criar um cluster com um nome específico. Uma vez que o cluster é criado, você pode usar o cluster para salvar registros, especificando o nome durante a criação de qualquer modelo de dados.
Relacionamentos
OrientDB oferece suporte a dois tipos de relacionamentos: referenciado e incorporado. Referenced relationships significa que ele armazena link direto para os objetos de destino dos relacionamentos. Embedded relationshipssignifica que ele armazena o relacionamento dentro do registro que o incorpora. Esse relacionamento é mais forte do que o relacionamento de referência.
Base de dados
O banco de dados é uma interface para acessar o armazenamento real. A TI entende conceitos de alto nível, como consultas, esquemas, metadados, índices e assim por diante. OrientDB também fornece vários tipos de banco de dados. Para obter mais informações sobre esses tipos, consulte Tipos de banco de dados.