Bosh sahifa Wiki Property graph

Property graph

Property graph — ma’lumotlarni tugunlar, ularni bog‘lovchi qirralar hamda ikkala turdagi elementga biriktirilgan xususiyatlar yordamida ifodalovchi grafik ma’lumotlar modelidir. Bu modelda obyektning o‘zi tugun, obyektlar orasidagi semantik aloqa esa qirra bo‘ladi. Tugun va qirralarga nomlangan maydonlar qo‘shilishi mumkinligi sababli model murakkab va ko‘p bog‘lanishli sohalarni tabiiy ko‘rinishda saqlaydi.

Model elementlari

Tugun odatda shaxs, qurilma, hujjat yoki hisob kabi mustaqil obyektni bildiradi. Qirra ikki tugun o‘rtasidagi aloqani ifodalaydi va ko‘pincha yo‘nalishga ega: masalan, foydalanuvchi BUYURTMA_BERDI qirrasi orqali buyurtma tuguniga ulanadi. Yorliq element turini ko‘rsatadi, xususiyat esa ism, sana, narx kabi kalit-qiymat ma’lumotidir.

Element Vazifasi Misol
Tugun Obyektni ifodalaydi Foydalanuvchi
Qirra Aloqani ifodalaydi KUZATADI
Yorliq Tur yoki rolni bildiradi Mahsulot
Xususiyat Element tafsilotini saqlaydi narx: 120000

Qirraning o‘zida ham xususiyat bo‘lishi mumkin. Masalan, ikki hisob orasidagi PUL_OTKAZDI qirrasi summa va vaqtni saqlaydi. Shu jihat property graphni oddiy qo‘shnichilik ro‘yxatidan ancha boy qiladi.

So‘rov va traversiya

Grafik so‘rovlar ko‘pincha boshlang‘ich tugundan qirralar bo‘ylab yurish, ya’ni traversiyaga tayanadi. Ijtimoiy tarmoqda “foydalanuvchining do‘stlari kuzatadigan sahifalar” so‘rovi bir necha qirra ketma-ketligini tekshiradi. Cypher kabi tillarda izlanayotgan shakl deklarativ yoziladi:

MATCH (u:Foydalanuvchi)-[:KUZATADI]->(s:Sahifa)
WHERE u.id = $id
RETURN s.nom

So‘rov natijasi modeldagi yo‘nalish, yorliq va xususiyat shartlariga bog‘liq. Indekslar odatda boshlang‘ich tugunni xususiyat bo‘yicha topishni tezlashtiradi; keyingi qadamlar esa qirralar bo‘ylab bajariladi. Juda ko‘p tarmoqlanadigan grafda nazoratsiz chuqurlik natijalar sonini keskin oshirishi mumkin.

Modellash va saqlash

Property graph qat’iy sxemasiz ishlashi mumkin, ammo amaliy tizimda yorliqlar, majburiy xususiyatlar va noyob identifikatorlar bo‘yicha qoidalar kerak bo‘ladi. Bir xil ma’noni turli yorliq yoki qirra nomlari bilan yozish so‘rovlarni qiyinlashtiradi. Aloqa alohida biznes ma’nosiga, vaqtga yoki xususiyatlarga ega bo‘lsa, uni qirra sifatida modellash qulay; faqat qiymat bo‘lsa, tugun xususiyati yetarli bo‘lishi mumkin.

Grafni bir nechta serverga bo‘lish murakkab: tez-tez birga traversiya qilinadigan tugunlar turli bo‘limlarga tushsa, tarmoq almashinuvi ko‘payadi. Replikatsiya o‘qish mavjudligini oshiradi, lekin yangilanishlarning izchillik modelini tanlashni talab etadi. Katta tizimlarda qirralar yo‘nalishi, yuqori darajali tugunlar va arxivlash siyosati oldindan hisobga olinadi.

Qo‘llanish sohalari

Property graph firibgarlik halqalarini aniqlash, tavsiya tizimlari, bilim graflari, tarmoq topologiyasi, identifikatsiya va ruxsat aloqalarini tahlil qilishda ishlatiladi. U har bir vazifa uchun relyatsion bazani almashtirmaydi. Oddiy jadval hisoboti va katta agregatsiyalar ustun bo‘lgan holatda relyatsion yoki ustunli ombor samaraliroq bo‘lishi mumkin. Tanlov asosiy savollar aloqalar bo‘ylab yurishni talab qiladimi, ma’lumot hajmi va tranzaksiya kafolatlari qandayligiga qarab qilinadi.

Yaxlitlik

Grafik bazada qirra mavjudligi uning biznes jihatdan to‘g‘ri ekanini anglatmaydi. Masalan, amal qilish muddati tugagan rol hanuz foydalanuvchini resursga bog‘lab turishi mumkin. Majburiy xususiyatlar, noyob identifikatorlar va ruxsat etilgan qirra yo‘nalishlari cheklovlar bilan tekshiriladi. Import jarayonida yetim tugun va takror qirralarni aniqlash ham model sifatini saqlaydi. Davriy tekshiruvlar model qoidalaridan chetga chiqqan tarixiy ma’lumotlarni ham topadi.

Bog‘liq tushunchalar

Graf ma’lumotlar bazasi, Tugun, Qirra, Cypher, Traversiya, Graf indeksi