Qrafik verilənlər bazası

Qrafik verilənlər bazası (ing. Graph Database) — verilənləri qrafik strukturlarında saxlayan və əlaqələri (ing. edge) və obyektləri (ing. node) təmsil edən xüsusi bir verilənlər bazasıdır.[1] Ənənəvi verilənlər bazalarından fərqli olaraq, burada əsas fokus obyektlər arasındakı əlaqələr üzərindədir. Bu verilənlər bazaları qovşaqlar (ing. nodes), kənarlar (ing. edges) və xüsusiyyətlər (ing. properties) üzərində qurulur.[2]

Əsas komponentləri

[redaktə | mənbəni redaktə et]
  1. Qovşaq (ing. Node) — məlumatların təmsil olunduğu obyektlərdir (məsələn, şəxs, məhsul və ya hər hansı bir varlıq).[3]
  2. Kənar (ing. Edge) — qovşaqlar arasındakı əlaqələri təmsil edir. Bu əlaqələr yönümlü və ya yönümsüz ola bilər (məsələn, "Dostdur", "Almışdır", "Təmin edir").[4]
  3. Xüsusiyyətlər (ing. Properties) — həm qovşaqların, həm də kənarların xüsusiyyətlərini saxlayır (məsələn, qovşaq üçün ad, yaş; kənar üçün əlaqənin müddəti və ya tipi).[5]

Qrafik verilənlər bazalarının üstünlükləri

[redaktə | mənbəni redaktə et]
  • Əlaqələrə fokuslanmışdır — ənənəvi verilənlər bazaları ilə müqayisədə, əlaqələr daha sürətli və təbii şəkildə sorğulananır. Bu, mürəkkəb əlaqələrə malik verilənlər ilə işləyərkən çox faydalıdır.[6]
  • Sürətli sorğular — məlumatlar arasında mürəkkəb əlaqələri sürətli şəkildə sorğulamaq üçün optimallaşdırılmışdır. Məsələn, əlaqələr şəbəkəsi (ing. social network), tövsiyə sistemləri və s.
  • Dinamik verilənlər — verilənlərin strukturunu əvvəlcədən müəyyən etmədən işləyə bilər, bu da daha çevik və dinamik strukturlar ilə işləməyi asanlaşdırır.[7]

Məşhur qrafik verilənlər bazaları

[redaktə | mənbəni redaktə et]
  • Neo4j — ən populyar və geniş istifadə olunan qrafik verilənlər bazasıdır. Cypher adlı sorğu dili ilə işləyir.[8]
  • Amazon Neptune — AWS-in qrafik verilənlər bazası xidmətidir. RDF, GremlinSPARQL dəstəkləyir.
  • OrientDB — qrafik modelini dəstəkləməklə yanaşı, çox modelli bir verilənlər bazasıdır.
  • ArangoDB — qrafik modeli ilə yanaşı sənəd və açar-dəyər modellərini də dəstəkləyir.[9][10]

Qrafik verilənlər bazaları sosial şəbəkələr, tövsiyə sistemləri, fırıldaqçılığın aşkarlanması və bioinformatika kimi sahələrdə geniş istifadə olunur.[11]

  1. Yoon, Byoung-Ha; Kim, Seon-Kyu; Kim, Seon-Young. "Use of Graph Database for the Integration of Heterogeneous Biological Data". Genomics & Informatics. 15 (1). March 2017: 19–27. doi:10.5808/GI.2017.15.1.19. ISSN 1598-866X. PMC 5389944. PMID 28416946.
  2. Silberschatz, Avi. Database System Concepts, Sixth Edition (PDF). McGraw-Hill. 28 January 2010. səh. D-29. ISBN 978-0-07-352332-3.
  3. Kuper, Gabriel M. The Logical Data Model: A New Approach to Database Logic (PDF) (Ph.D.). 1985. Docket STAN-CS-85-1069. June 30, 2016 tarixində arxivləşdirilib (PDF). İstifadə tarixi: 31 May 2016.
  4. Robinson, Ian. Graph Databases: New Opportunities for Connected Data. O'Reilly Media, Inc. 2015-06-10. səh. 4. ISBN 9781491930861.
  5. Robinson, Ian. Graph Databases: New Opportunities for Connected Data. O'Reilly Media, Inc. 2015-06-10. səh. 4. ISBN 9781491930861.
  6. "Graph Databases Burst into the Mainstream". www.kdnuggets.com. İstifadə tarixi: 2018-10-23.
  7. Bourbakis, Nikolaos G. Artificial Intelligence and Automation. World Scientific. 1998. səh. 381. ISBN 9789810226374. İstifadə tarixi: 2018-04-20.
  8. Fan, Jing; Gerald, Adalbert. The case against specialized graph analytics engines (PDF). Conference on Innovative Data Systems Research (CIDR). 2014-12-25.
  9. Silberschatz, Avi. Database System Concepts, Sixth Edition (PDF). McGraw-Hill. 28 January 2010. səh. E-20. ISBN 978-0-07-352332-3.
  10. Parker, Lorraine. "IMS Notes". vcu.edu. İstifadə tarixi: 31 May 2016.
  11. Angles, Renzo; Gutierrez, Claudio. "Survey of graph database models" (PDF). ACM Computing Surveys. 40 (1). 1 Feb 2008: 1–39. CiteSeerX 10.1.1.110.1072. doi:10.1145/1322432.1322433. 15 August 2017 tarixində orijinalından (PDF) arxivləşdirilib. İstifadə tarixi: 28 May 2016. network models [...] lack a good abstraction level: it is difficult to separate the db-model from the actual implementation