ArangoDB - Cơ sở dữ liệu đầu tiên đa mô hình

ArangoDB được các nhà phát triển ca ngợi là một cơ sở dữ liệu đa mô hình gốc. Điều này không giống như các cơ sở dữ liệu NoSQL khác. Trong cơ sở dữ liệu này, dữ liệu có thể được lưu trữ dưới dạng tài liệu, cặp khóa / giá trị hoặc đồ thị. Và với một ngôn ngữ truy vấn khai báo duy nhất, bất kỳ hoặc tất cả dữ liệu của bạn đều có thể được truy cập. Hơn nữa, các mô hình khác nhau có thể được kết hợp trong một truy vấn duy nhất. Và, nhờ phong cách đa mô hình, người ta có thể tạo ra các ứng dụng tinh gọn, có thể mở rộng theo chiều ngang với bất kỳ hoặc tất cả ba mô hình dữ liệu.

Cơ sở dữ liệu đa mô hình phân lớp so với cơ sở dữ liệu gốc

Trong phần này, chúng tôi sẽ làm nổi bật sự khác biệt quan trọng giữa cơ sở dữ liệu đa mẫu gốc và nhiều lớp.

Nhiều nhà cung cấp cơ sở dữ liệu gọi sản phẩm của họ là “đa mô hình”, nhưng việc thêm lớp biểu đồ vào kho lưu trữ khóa / giá trị hoặc tài liệu không đủ điều kiện là đa mô hình gốc.

Với ArangoDB, cùng một lõi với cùng một ngôn ngữ truy vấn, người ta có thể kết hợp các mô hình và tính năng dữ liệu khác nhau lại với nhau trong một truy vấn duy nhất, như chúng tôi đã trình bày trong phần trước. Trong ArangoDB, không có "chuyển đổi" giữa các mô hình dữ liệu và không có sự chuyển dữ liệu từ A sang B để thực hiện các truy vấn. Nó dẫn đến lợi thế về hiệu suất cho ArangoDB so với các phương pháp tiếp cận “phân lớp”.

Nhu cầu về cơ sở dữ liệu đa phương thức

Việc diễn giải ý tưởng cơ bản của [Fowler] giúp chúng tôi nhận ra lợi ích của việc sử dụng nhiều mô hình dữ liệu thích hợp cho các phần khác nhau của lớp bền vững, lớp là một phần của kiến ​​trúc phần mềm lớn hơn.

Theo điều này, ví dụ, người ta có thể sử dụng cơ sở dữ liệu quan hệ để duy trì dữ liệu dạng bảng, có cấu trúc; một kho lưu trữ tài liệu cho dữ liệu dạng đối tượng, phi cấu trúc; một kho khóa / giá trị cho một bảng băm; và một cơ sở dữ liệu đồ thị cho dữ liệu tham chiếu được liên kết cao.

Tuy nhiên, cách thực hiện truyền thống của phương pháp này sẽ dẫn đến việc sử dụng nhiều cơ sở dữ liệu trong cùng một dự án. Nó có thể dẫn đến một số khó khăn trong hoạt động (triển khai phức tạp hơn, nâng cấp thường xuyên hơn) cũng như các vấn đề về tính nhất quán và trùng lặp dữ liệu.

Thách thức tiếp theo sau khi thống nhất dữ liệu cho ba mô hình dữ liệu, là thiết lập và triển khai một ngôn ngữ truy vấn chung có thể cho phép quản trị viên dữ liệu thể hiện nhiều loại truy vấn, chẳng hạn như truy vấn tài liệu, tra cứu khóa / giá trị, truy vấn graphy và các kết hợp tùy ý trong số này.

Bởi graphy queries, chúng tôi có nghĩa là các truy vấn liên quan đến việc xem xét lý thuyết đồ thị. Đặc biệt, những điều này có thể liên quan đến các tính năng kết nối cụ thể đến từ các cạnh. Ví dụ,ShortestPath, GraphTraversalNeighbors.

Đồ thị hoàn toàn phù hợp làm mô hình dữ liệu cho các mối quan hệ. Trong nhiều trường hợp trong thế giới thực như mạng xã hội, hệ thống giới thiệu, v.v., mô hình dữ liệu rất tự nhiên là biểu đồ. Nó nắm bắt các quan hệ và có thể giữ thông tin nhãn với mỗi cạnh và với mỗi đỉnh. Hơn nữa, tài liệu JSON là sự phù hợp tự nhiên để lưu trữ loại dữ liệu đỉnh và cạnh này.

ArangoDB ─ Tính năng

Có nhiều tính năng đáng chú ý khác nhau của ArangoDB. Chúng tôi sẽ nêu ra những đặc điểm nổi bật dưới đây -

  • Mô hình đa mô hình
  • Thuộc tính ACID
  • API HTTP

ArangoDB hỗ trợ tất cả các mô hình cơ sở dữ liệu phổ biến. Sau đây là một số mô hình được hỗ trợ bởi ArangoDB -

  • Mô hình tài liệu
  • Mô hình khóa / giá trị
  • Mô hình đồ thị

Một ngôn ngữ truy vấn duy nhất là đủ để lấy dữ liệu ra khỏi cơ sở dữ liệu

Bốn thuộc tính Atomicity, Consistency, IsolationDurability(ACID) mô tả các đảm bảo của các giao dịch cơ sở dữ liệu. ArangoDB hỗ trợ các giao dịch tuân thủ ACID.

ArangoDB cho phép các ứng dụng khách, chẳng hạn như trình duyệt, tương tác với cơ sở dữ liệu bằng API HTTP, API được định hướng tài nguyên và có thể mở rộng bằng JavaScript.