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.