OrientDB - Các khái niệm cơ bản
Tính năng chính của OrientDB là hỗ trợ các đối tượng đa mô hình, tức là nó hỗ trợ các mô hình khác nhau như Document, Graph, Key / Value và Real Object. Nó chứa một API riêng biệt để hỗ trợ tất cả bốn mô hình này.
Mô hình tài liệu
Mô hình tài liệu thuật ngữ thuộc về cơ sở dữ liệu NoSQL. Nó có nghĩa là dữ liệu được lưu trữ trong Tài liệu và nhóm Tài liệu được gọi làCollection. Về mặt kỹ thuật, tài liệu có nghĩa là một tập hợp các cặp khóa / giá trị hoặc còn được gọi là trường hoặc thuộc tính.
OrientDB sử dụng các khái niệm như lớp, cụm và liên kết để lưu trữ, nhóm và phân tích tài liệu.
Bảng sau minh họa sự so sánh giữa mô hình quan hệ, mô hình tài liệu và mô hình tài liệu OrientDB -
Mô hình quan hệ | Mô hình tài liệu | Mô hình tài liệu OrientDB |
---|---|---|
Bàn | Bộ sưu tập | Lớp hoặc Cụm |
Hàng | Tài liệu | Tài liệu |
Cột | Cặp khóa / giá trị | Trường tài liệu |
Mối quan hệ | Không có sẵn | Liên kết |
Mô hình đồ thị
Cấu trúc dữ liệu đồ thị là một mô hình dữ liệu có thể lưu trữ dữ liệu dưới dạng các Dọc (Nút) được kết nối với nhau bằng các Cạnh (Arcs). Ý tưởng về cơ sở dữ liệu đồ thị OrientDB đến từ đồ thị thuộc tính. Đỉnh và cạnh là các tạo tác chính của mô hình Đồ thị. Chúng chứa các thuộc tính, có thể làm cho chúng xuất hiện tương tự như các tài liệu.
Bảng sau đây cho thấy sự so sánh giữa mô hình đồ thị, mô hình dữ liệu quan hệ và mô hình đồ thị OrientDB.
Mô hình quan hệ | Mô hình đồ thị | Mô hình đồ thị OrientDB |
---|---|---|
Bàn | Lớp Vertex và Edge | Lớp mở rộng "V" (cho Vertex) và "E" (cho Edges) |
Hàng | Đỉnh | Đỉnh |
Cột | Thuộc tính Vertex và Edge | Thuộc tính Vertex và Edge |
Mối quan hệ | Cạnh | Cạnh |
Mô hình Khóa / Giá trị
Mô hình Khóa / Giá trị có nghĩa là dữ liệu có thể được lưu trữ dưới dạng cặp khóa / giá trị trong đó các giá trị có thể thuộc loại đơn giản và phức tạp. Nó có thể hỗ trợ các tài liệu và phần tử đồ thị dưới dạng giá trị.
Bảng sau minh họa sự so sánh giữa mô hình quan hệ, mô hình khóa / giá trị và mô hình khóa / giá trị OrientDB.
Mô hình quan hệ | Mô hình khóa / giá trị | Mô hình khóa / giá trị OrientDB |
---|---|---|
Bàn | Gầu múc | Lớp hoặc Cụm |
Hàng | Cặp khóa / giá trị | Tài liệu |
Cột | Không có sẵn | Trường tài liệu hoặc thuộc tính Vertex / Edge |
Mối quan hệ | Không có sẵn | Liên kết |
Mô hình đối tượng
Mô hình này đã được kế thừa bởi lập trình Hướng đối tượng và hỗ trợ Inheritance giữa các loại (loại phụ mở rộng các loại siêu), Polymorphism khi bạn tham chiếu đến một lớp cơ sở và Direct binding from / to Các đối tượng được sử dụng trong ngôn ngữ lập trình.
Bảng sau minh họa sự so sánh giữa mô hình quan hệ, mô hình Đối tượng và mô hình Đối tượng OrientDB.
Mô hình quan hệ | Mô hình đối tượng | Mô hình đối tượng OrientDB |
---|---|---|
Bàn | Lớp học | Lớp hoặc Cụm |
Hàng | Vật | Tài liệu hoặc Đỉnh |
Cột | Thuộc tính đối tượng | Trường tài liệu hoặc thuộc tính Vertex / Edge |
Mối quan hệ | Con trỏ | Liên kết |
Trước khi đi vào chi tiết, tốt hơn là nên biết các thuật ngữ cơ bản liên quan đến OrientDB. Sau đây là một số thuật ngữ quan trọng.
Ghi lại
Đơn vị nhỏ nhất mà bạn có thể tải và lưu trữ trong cơ sở dữ liệu. Hồ sơ có thể được lưu trữ trong bốn loại.
- Document
- Ghi các byte
- Vertex
- Edge
Ghi lại ID
Khi OrientDB tạo một bản ghi, máy chủ cơ sở dữ liệu sẽ tự động gán một mã định danh đơn vị cho bản ghi, được gọi là RecordID (RID). RID trông giống như # <cluster>: <position>. <cluster> có nghĩa là số nhận dạng cụm và <position> có nghĩa là vị trí tuyệt đối của bản ghi trong cụm.
Các tài liệu
Tài liệu là loại bản ghi linh hoạt nhất hiện có trong OrientDB. Tài liệu được gõ nhẹ nhàng và được định nghĩa bởi các lớp lược đồ với ràng buộc xác định, nhưng bạn cũng có thể chèn tài liệu mà không cần bất kỳ lược đồ nào, tức là nó cũng hỗ trợ chế độ lược đồ.
Có thể dễ dàng xử lý tài liệu bằng cách xuất và nhập ở định dạng JSON. Ví dụ: hãy xem tài liệu mẫu JSON sau. Nó xác định các chi tiết tài liệu.
{
"id" : "1201",
"name" : "Jay",
"job" : "Developer",
"creations" : [
{
"name" : "Amiga",
"company" : "Commodore Inc."
},
{
"name" : "Amiga 500",
"company" : "Commodore Inc."
}
]
}
RecordBytes
Loại bản ghi giống như loại BLOB trong RDBMS. OrientDB có thể tải và lưu trữ tài liệu Loại bản ghi cùng với dữ liệu nhị phân.
Đỉnh
Cơ sở dữ liệu OrientDB không chỉ là cơ sở dữ liệu Tài liệu mà còn là cơ sở dữ liệu Đồ thị. Các khái niệm mới như Vertex và Edge được sử dụng để lưu trữ dữ liệu dưới dạng đồ thị. Trong cơ sở dữ liệu đồ thị, đơn vị dữ liệu cơ bản nhất là nút, trong OrientDB được gọi là đỉnh. Vertex lưu trữ thông tin cho cơ sở dữ liệu.
Cạnh
Có một loại bản ghi riêng biệt được gọi là Cạnh kết nối đỉnh này với đỉnh khác. Các cạnh là hai chiều và chỉ có thể kết nối hai đỉnh. Có hai loại gờ trong OrientDB, một loại thường và một loại khác nhẹ.
Lớp học
Lớp là một kiểu mô hình dữ liệu và là khái niệm được rút ra từ mô hình lập trình hướng đối tượng. Dựa trên mô hình cơ sở dữ liệu tài liệu truyền thống, dữ liệu được lưu trữ dưới dạng tập hợp, trong khi trong mô hình cơ sở dữ liệu quan hệ dữ liệu được lưu trữ trong các bảng. OrientDB tuân theo API tài liệu cùng với mô hình OPPS. Theo một khái niệm, lớp trong OrientDB có mối quan hệ gần nhất với bảng trong cơ sở dữ liệu quan hệ, nhưng (không giống như bảng) các lớp có thể là lược đồ ít hơn, lược đồ đầy đủ hoặc hỗn hợp. Các lớp có thể kế thừa từ các lớp khác, tạo cây của các lớp. Mỗi lớp có cụm hoặc cụm riêng, (được tạo theo mặc định, nếu không có cụm nào được định nghĩa).
Cụm
Cluster là một khái niệm quan trọng được sử dụng để lưu trữ các bản ghi, tài liệu hoặc các đỉnh. Nói một cách dễ hiểu, Cluster là nơi lưu trữ một nhóm các bản ghi. Theo mặc định, OrientDB sẽ tạo một cụm cho mỗi lớp. Tất cả các bản ghi của một lớp được lưu trữ trong cùng một cụm có cùng tên với lớp. Bạn có thể tạo tối đa 32.767 (2 ^ 15-1) cụm trong cơ sở dữ liệu.
Lớp CREATE là một lệnh được sử dụng để tạo một cụm với tên cụ thể. Khi cụm được tạo, bạn có thể sử dụng cụm để lưu bản ghi bằng cách chỉ định tên trong quá trình tạo bất kỳ mô hình dữ liệu nào.
Các mối quan hệ
OrientDB hỗ trợ hai loại mối quan hệ: tham chiếu và nhúng. Referenced relationships có nghĩa là nó lưu trữ liên kết trực tiếp đến các đối tượng mục tiêu của các mối quan hệ. Embedded relationshipscó nghĩa là nó lưu trữ mối quan hệ trong bản ghi nhúng nó. Mối quan hệ này mạnh hơn mối quan hệ tham chiếu.
Cơ sở dữ liệu
Cơ sở dữ liệu là một giao diện để truy cập vào bộ nhớ thực. CNTT hiểu các khái niệm cấp cao như truy vấn, lược đồ, siêu dữ liệu, chỉ số, v.v. OrientDB cũng cung cấp nhiều kiểu cơ sở dữ liệu. Để biết thêm thông tin về các loại này, hãy xem Loại cơ sở dữ liệu.