OrientDB - Temel Kavramlar
OrientDB'nin ana özelliği çok modelli nesneleri desteklemesidir, yani Belge, Grafik, Anahtar / Değer ve Gerçek Nesne gibi farklı modelleri destekler. Tüm bu dört modeli desteklemek için ayrı bir API içerir.
Belge Modeli
Terminoloji Belge modeli NoSQL veritabanına aittir. Verilerin Belgelerde saklandığı ve Belgeler grubunun şu şekilde adlandırıldığı anlamına gelir:Collection. Teknik olarak belge, bir dizi anahtar / değer çifti anlamına gelir veya alanlar veya özellikler olarak da adlandırılır.
OrientDB, belgeleri depolamak, gruplamak ve analiz etmek için sınıflar, kümeler ve bağlantı gibi kavramları kullanır.
Aşağıdaki tablo ilişkisel model, belge modeli ve OrientDB belge modeli arasındaki karşılaştırmayı göstermektedir -
İlişkisel Model | Belge Modeli | OrientDB Belge Modeli |
---|---|---|
Tablo | Toplamak | Sınıf veya Küme |
Kürek çekmek | Belge | Belge |
Sütun | Anahtar / değer çifti | Belge alanı |
İlişki | Müsait değil | Bağlantı |
Grafik Modeli
Bir grafik veri yapısı, Verileri Kenarlar (Yaylar) ile birbirine bağlanan Tepe Noktaları (Düğümler) biçiminde depolayabilen bir veri modelidir. OrientDB grafik veritabanı fikri mülkiyet grafiğinden geldi. Tepe ve kenar, Grafik modelinin ana yapılarıdır. Bunların belgelere benzer görünmesini sağlayan özellikleri içerirler.
Aşağıdaki tablo, grafik modeli, ilişkisel veri modeli ve OrientDB grafik modeli arasındaki bir karşılaştırmayı göstermektedir.
İlişkisel Model | Grafik Modeli | OrientDB Grafik Modeli |
---|---|---|
Tablo | Köşe ve Kenar Sınıfı | "V" (Köşe için) ve "E" (Kenarlar için) genişleten sınıf |
Kürek çekmek | Köşe | Köşe |
Sütun | Köşe ve Kenar özelliği | Köşe ve Kenar özelliği |
İlişki | Kenar | Kenar |
Anahtar / Değer Modeli
Anahtar / Değer modeli, verilerin, değerlerin basit ve karmaşık türlerde olabileceği anahtar / değer çifti biçiminde depolanabileceği anlamına gelir. Belgeleri ve grafik öğelerini değerler olarak destekleyebilir.
Aşağıdaki tablo ilişkisel model, anahtar / değer modeli ve OrientDB anahtar / değer modeli arasındaki karşılaştırmayı göstermektedir.
İlişkisel Model | Anahtar / Değer Modeli | OrientDB Anahtar / Değer Modeli |
---|---|---|
Tablo | Kova | Sınıf veya Küme |
Kürek çekmek | Anahtar / Değer çifti | Belge |
Sütun | Müsait değil | Belge alanı veya Köşe / Kenar özelliği |
İlişki | Müsait değil | Bağlantı |
Nesne Modeli
Bu model, Nesne Yönelimli programlama tarafından miras alınmıştır ve Inheritance türler arasında (alt türler süper türleri genişletir), Polymorphism bir temel sınıfa atıfta bulunduğunuzda ve Direct binding programlama dillerinde kullanılan nesnelere / nesnelere.
Aşağıdaki tablo ilişkisel model, Nesne modeli ve OrientDB Nesne modeli arasındaki karşılaştırmayı göstermektedir.
İlişkisel Model | Nesne Modeli | OrientDB Nesne Modeli |
---|---|---|
Tablo | Sınıf | Sınıf veya Küme |
Kürek çekmek | Nesne | Belge veya Köşe |
Sütun | Nesne özelliği | Belge alanı veya Köşe / Kenar özelliği |
İlişki | Işaretçi | Bağlantı |
Ayrıntılı olarak ilerlemeden önce, OrientDB ile ilgili temel terminolojiyi bilmek daha iyidir. Aşağıda önemli terminolojilerden bazıları verilmiştir.
Kayıt
Veritabanından yükleyebileceğiniz ve veritabanında depolayabileceğiniz en küçük birim. Kayıtlar dört tipte saklanabilir.
- Document
- Baytları Kaydet
- Vertex
- Edge
Kayıt Kimliği
OrientDB bir kayıt oluşturduğunda, veritabanı sunucusu kayda otomatik olarak RecordID (RID) adı verilen bir birim tanımlayıcı atar. RID, # <küme>: <konum> şeklinde görünür. <küme>, küme kimlik numarası anlamına gelir ve <konum>, küme içindeki kaydın mutlak konumu anlamına gelir.
Belgeler
Belge, OrientDB'de bulunan en esnek kayıt türüdür. Belgeler yumuşak bir şekilde yazılır ve tanımlanmış kısıtlamalara sahip şema sınıfları tarafından tanımlanır, ancak belgeyi herhangi bir şema olmadan da ekleyebilirsiniz, yani şemasız modu da destekler.
Belgeler, JSON formatında dışa ve içe aktarım yoluyla kolayca işlenebilir. Örneğin, aşağıdaki JSON örnek belgesine bir göz atın. Belge ayrıntılarını tanımlar.
{
"id" : "1201",
"name" : "Jay",
"job" : "Developer",
"creations" : [
{
"name" : "Amiga",
"company" : "Commodore Inc."
},
{
"name" : "Amiga 500",
"company" : "Commodore Inc."
}
]
}
RecordBytes
Kayıt Türü, RDBMS'deki BLOB türü ile aynıdır. OrientDB, ikili verilerle birlikte belge Kayıt türünü yükleyebilir ve saklayabilir.
Köşe
OrientDB veritabanı yalnızca bir Belge veritabanı değil, aynı zamanda bir Grafik veritabanıdır. Vertex ve Edge gibi yeni kavramlar, verileri grafik biçiminde depolamak için kullanılır. Grafik veritabanlarında, en temel veri birimi, OrientDB'de köşe olarak adlandırılan düğümdür. Vertex, veritabanı için bilgileri depolar.
Kenar
Bir tepe noktasını diğerine bağlayan Edge adında ayrı bir kayıt türü vardır. Kenarlar çift yönlüdür ve yalnızca iki köşeyi birbirine bağlayabilir. OrientDB'de biri normal, diğeri hafif olmak üzere iki tür kenar vardır.
Sınıf
Sınıf, bir tür veri modeli ve Nesne yönelimli programlama paradigmasından alınan kavramdır. Geleneksel belge veritabanı modeline dayalı olarak, veriler toplama biçiminde saklanırken, İlişkisel veritabanı modelinde veriler tablolarda depolanır. OrientDB, OPPS paradigmasıyla birlikte Document API'yi takip eder. Kavram olarak, OrientDB'deki sınıf ilişkisel veritabanlarında tabloyla en yakın ilişkiye sahiptir, ancak (tabloların aksine) sınıflar şemasız, şema dolu veya karışık olabilir. Sınıflar, diğer sınıflardan miras alabilir ve sınıf ağaçları oluşturabilir. Her sınıfın kendi kümesi veya kümeleri vardır (hiçbiri tanımlanmamışsa varsayılan olarak oluşturulur).
Küme
Küme, kayıtları, belgeleri veya köşeleri depolamak için kullanılan önemli bir kavramdır. Basit bir deyişle, Küme, bir grup kaydın depolandığı bir yerdir. OrientDB, varsayılan olarak sınıf başına bir küme oluşturacaktır. Bir sınıfın tüm kayıtları, sınıfla aynı ada sahip aynı kümede saklanır. Bir veritabanında en çok 32.767 (2 ^ 15-1) küme oluşturabilirsiniz.
CREATE sınıfı, belirli bir ada sahip bir küme oluşturmak için kullanılan bir komuttur. Küme oluşturulduktan sonra, herhangi bir veri modelinin oluşturulması sırasında adı belirterek kayıtları kaydetmek için kümeyi kullanabilirsiniz.
İlişkiler
OrientDB iki tür ilişkiyi destekler: referanslı ve gömülü. Referenced relationships ilişkilerin hedef nesnelerine doğrudan bağlantı depoladığı anlamına gelir. Embedded relationshipsilişkiyi onu yerleştiren kayıt içinde depoladığı anlamına gelir. Bu ilişki referans ilişkisinden daha güçlüdür.
Veri tabanı
Veritabanı, gerçek depolamaya erişmek için bir arayüzdür. BT, sorgular, şemalar, meta veriler, endeksler vb. Gibi üst düzey kavramları anlar. OrientDB ayrıca birden fazla veritabanı türü sağlar. Bu türler hakkında daha fazla bilgi için, bkz. Veritabanı Türleri.