ArangoDB - Veri Modelleri ve Modelleme

Bu bölümde aşağıdaki konulara odaklanacağız -

  • Veritabanı Etkileşimi
  • Veri örneği
  • Veri Erişimi

ArangoDB, belge tabanlı veri modelinin yanı sıra grafik tabanlı veri modelini de destekler. Önce belge tabanlı veri modelini tanımlayalım.

ArangoDB'nin belgeleri JSON formatına çok benzer. Bir belgede sıfır veya daha fazla öznitelik bulunur ve her özniteliğe bir değer eklenir. Bir değer, bir sayı, Boole veya boş, değişmez dize gibi bir atomik türden veya gömülü belge / nesne veya bir dizi gibi bir bileşik veri türüdür. Diziler veya alt nesneler bu veri türlerinden oluşabilir, bu da tek bir belgenin önemsiz olmayan veri yapılarını temsil edebileceğini gösterir.

Ayrıca hiyerarşide, belgeler koleksiyonlar halinde düzenlenir ve bunlar hiçbir belge (teoride) veya birden fazla belge içermeyebilir. Belgeleri satırlarla ve koleksiyonları tablolarla karşılaştırabilirsiniz (Burada tablolar ve satırlar ilişkisel veritabanı yönetim sistemlerine atıfta bulunur - RDBMS).

Ancak, RDBMS'de sütunların tanımlanması, kayıtları bir tabloya depolamak ve bu tanım şemalarını çağırmak için bir önkoşuldur. Bununla birlikte, yeni bir özellik olarak, ArangoDB şemasızdır - belgenin hangi niteliklere sahip olacağını belirtmek için önceden bir sebep yoktur.

Ve RDBMS'den farklı olarak, her belge başka bir belgeden tamamen farklı bir şekilde yapılandırılabilir. Bu belgeler tek bir koleksiyonda birlikte kaydedilebilir. Pratik olarak, koleksiyondaki belgeler arasında ortak özellikler bulunabilir, ancak veritabanı sistemi, yani ArangoDB'nin kendisi sizi belirli bir veri yapısına bağlamaz.

Şimdi ArangoDB'yi anlamaya çalışacağız [graph data model], iki tür koleksiyon gerektiren - birincisi belge koleksiyonları (grup-teorik dilinde köşe koleksiyonları olarak bilinir), ikincisi ise kenar koleksiyonlarıdır. Bu iki tür arasında ince bir fark vardır. Edge koleksiyonları aynı zamanda belgeleri de depolar, ancak iki benzersiz özellik içererek karakterize edilirler,_from ve _tobelgeler arasında ilişkiler oluşturmak için. Pratikte, bir belge (okuma kenarı), her ikisi de ilgili koleksiyonlarında saklanan iki belgeyi (okuma köşeleri) birbirine bağlar. Bu mimari, etiketli, yönlendirilmiş bir grafiğin grafik teorik kavramından türetilmiştir ve yalnızca etiketlere sahip olabilen, aynı zamanda kendi başına eksiksiz bir JSON benzeri belge olabilen kenarları hariç tutar.

Yeni verileri hesaplamak, belgeleri silmek veya bunları değiştirmek için, verilen kriterlere göre belgeleri seçen veya filtreleyen sorgular kullanılır. "Örnek sorgu" kadar basit veya "birleştirmeler" kadar karmaşık olan sorgular, AQL - ArangoDB Sorgu Dili ile kodlanır.