OrientDB - Podstawowe pojęcia
Główną cechą OrientDB jest obsługa obiektów wielomodelowych, tj. Obsługuje różne modele, takie jak Dokument, Wykres, Klucz / Wartość i Obiekt rzeczywisty. Zawiera oddzielne API do obsługi wszystkich tych czterech modeli.
Model dokumentu
Model dokumentu terminologicznego należy do bazy danych NoSQL. Oznacza to, że dane są przechowywane w Dokumentach, a grupa dokumentów nosi nazwęCollection. Z technicznego punktu widzenia dokument oznacza zestaw par klucz / wartość lub określany również jako pola lub właściwości.
OrientDB używa pojęć, takich jak klasy, klastry i łącze do przechowywania, grupowania i analizowania dokumentów.
Poniższa tabela ilustruje porównanie między modelem relacyjnym, modelem dokumentu i modelem dokumentu OrientDB -
Model relacyjny | Model dokumentu | Model dokumentu OrientDB |
---|---|---|
Stół | Kolekcja | Klasa lub klaster |
Rząd | Dokument | Dokument |
Kolumna | Para klucz / wartość | Pole dokumentu |
Związek | Niedostępne | Połączyć |
Model wykresu
Struktura danych wykresu to model danych, który może przechowywać dane w postaci wierzchołków (węzłów) połączonych ze sobą krawędziami (łukami). Idea bazy danych grafów OrientDB pochodzi z grafu własności. Wierzchołek i krawędź to główne artefakty modelu Graph. Zawierają właściwości, które mogą sprawiać, że będą wyglądać podobnie do dokumentów.
W poniższej tabeli przedstawiono porównanie między modelem wykresu, relacyjnym modelem danych i modelem wykresu OrientDB.
Model relacyjny | Model wykresu | Model wykresu OrientDB |
---|---|---|
Stół | Klasa wierzchołków i krawędzi | Klasa, która stanowi rozszerzenie „V” (dla wierzchołków) i „E” (dla krawędzi) |
Rząd | Wierzchołek | Wierzchołek |
Kolumna | Właściwość Vertex and Edge | Właściwość Vertex and Edge |
Związek | Brzeg | Brzeg |
Model klucz / wartość
Model klucz / wartość oznacza, że dane mogą być przechowywane w postaci pary klucz / wartość, przy czym wartości mogą być typu prostego i złożonego. Może obsługiwać dokumenty i elementy wykresów jako wartości.
W poniższej tabeli przedstawiono porównanie między modelem relacyjnym, modelem klucz / wartość i modelem klucz / wartość OrientDB.
Model relacyjny | Model klucz / wartość | Model klucz / wartość OrientDB |
---|---|---|
Stół | Wiadro | Klasa lub klaster |
Rząd | Para klucz / wartość | Dokument |
Kolumna | Niedostępne | Pole dokumentu lub właściwość Wierzchołek / Krawędź |
Związek | Niedostępne | Połączyć |
Model obiektowy
Ten model został odziedziczony przez programowanie zorientowane obiektowo i obsługuje Inheritance między typami (podtypy stanowią rozszerzenie nadtypów), Polymorphism kiedy odnosisz się do klasy bazowej i Direct binding from / to Obiekty używane w językach programowania.
Poniższa tabela ilustruje porównanie między modelem relacyjnym, modelem obiektowym i modelem obiektowym OrientDB.
Model relacyjny | Model obiektowy | Model obiektowy OrientDB |
---|---|---|
Stół | Klasa | Klasa lub klaster |
Rząd | Obiekt | Dokument lub wierzchołek |
Kolumna | Właściwość obiektu | Pole dokumentu lub właściwość Wierzchołek / Krawędź |
Związek | Wskaźnik | Połączyć |
Zanim przejdziemy dalej szczegółowo, lepiej poznać podstawową terminologię związaną z OrientDB. Poniżej znajduje się kilka ważnych terminologii.
Rekord
Najmniejsza jednostka, z której można ładować i przechowywać w bazie danych. Rekordy mogą być przechowywane w czterech typach.
- Document
- Rekord bajtów
- Vertex
- Edge
Identyfikator rekordu
Kiedy OrientDB generuje rekord, serwer bazy danych automatycznie przypisuje do rekordu identyfikator jednostki o nazwie RecordID (RID). Identyfikator RID wygląda następująco: # <klaster>: <pozycja>. <klaster> oznacza numer identyfikacyjny klastra, a <pozycja> oznacza bezwzględną pozycję rekordu w klastrze.
Dokumenty
Dokument jest najbardziej elastycznym typem rekordu dostępnym w OrientDB. Dokumenty są wpisywane miękko i są definiowane przez klasy schematu ze zdefiniowanym ograniczeniem, ale można również wstawić dokument bez schematu, tj. Obsługuje również tryb bez schematu.
Dokumenty można łatwo obsługiwać poprzez eksport i import w formacie JSON. Na przykład spójrz na następujący przykładowy dokument JSON. Określa szczegóły dokumentu.
{
"id" : "1201",
"name" : "Jay",
"job" : "Developer",
"creations" : [
{
"name" : "Amiga",
"company" : "Commodore Inc."
},
{
"name" : "Amiga 500",
"company" : "Commodore Inc."
}
]
}
RecordBytes
Typ rekordu jest taki sam, jak typ BLOB w RDBMS. OrientDB może ładować i przechowywać dokument Typ rekordu wraz z danymi binarnymi.
Wierzchołek
Baza danych OrientDB to nie tylko baza danych dokumentów, ale także baza danych Graph. Nowe koncepcje, takie jak Vertex i Edge, służą do przechowywania danych w postaci wykresu. W grafowych bazach danych najbardziej podstawową jednostką danych jest węzeł, który w OrientDB nazywany jest wierzchołkiem. Vertex przechowuje informacje dla bazy danych.
Brzeg
Istnieje oddzielny typ rekordu zwany Edge, który łączy jeden wierzchołek z drugim. Krawędzie są dwukierunkowe i mogą łączyć tylko dwa wierzchołki. W OrientDB istnieją dwa rodzaje krawędzi, jeden jest zwykły, a drugi lekki.
Klasa
Klasa jest rodzajem modelu danych i koncepcją zaczerpniętą z paradygmatu programowania obiektowego. W oparciu o tradycyjny model bazy dokumentów dane przechowywane są w postaci kolekcji, natomiast w modelu relacyjnej bazy danych dane są przechowywane w tabelach. OrientDB jest zgodny z interfejsem API dokumentów wraz z paradygmatem OPPS. Zgodnie z koncepcją klasa w OrientDB ma najbliższy związek z tabelą w relacyjnych bazach danych, ale (w przeciwieństwie do tabel) klasy mogą być bezschematyczne, pełne lub mieszane. Klasy mogą dziedziczyć po innych klasach, tworząc drzewa klas. Każda klasa ma własny klaster lub klastry (tworzone domyślnie, jeśli nie zostały zdefiniowane).
Grupa
Klaster to ważna koncepcja, która służy do przechowywania rekordów, dokumentów lub wierzchołków. W prostych słowach Cluster to miejsce, w którym przechowywana jest grupa rekordów. Domyślnie OrientDB utworzy jeden klaster na klasę. Wszystkie rekordy klasy są przechowywane w tym samym klastrze i mają taką samą nazwę jak klasa. W bazie danych można utworzyć do 32767 (2 ^ 15-1) klastrów.
Klasa CREATE to polecenie używane do tworzenia klastra o określonej nazwie. Po utworzeniu klastra można go użyć do zapisania rekordów, określając nazwę podczas tworzenia dowolnego modelu danych.
Relacje
OrientDB obsługuje dwa rodzaje relacji: przywoływane i osadzone. Referenced relationships oznacza, że przechowuje bezpośrednie łącze do obiektów docelowych relacji. Embedded relationshipsoznacza, że przechowuje relację w rekordzie, który go osadza. Ta zależność jest silniejsza niż relacja referencyjna.
Baza danych
Baza danych jest interfejsem umożliwiającym dostęp do rzeczywistego magazynu. Dział IT rozumie pojęcia wysokiego poziomu, takie jak zapytania, schematy, metadane, indeksy i tak dalej. OrientDB udostępnia również wiele typów baz danych. Aby uzyskać więcej informacji na temat tych typów, zobacz typy baz danych.