Document Stores là gì? Tìm hiểu Document oriented database systems
Document Stores là gì?
Document stores, hay còn gọi là hệ thống database hướng document (document-oriented) là một kiểu database mà ở đó data được tổ chức một cách tự do không theo một lược đồ nào cả (schema-free).
Điều này có nghĩa là:
- Mỗi bản ghi không cần phải có cấu trúc cố định, các bản ghi khác nhau có thể có nhiều cột khác nhau.
- Loại dữ liệu trong mỗi cột giữa các bản ghi cũng có thể khác nhau
- Một cột có thể có nhiều hơn một giá trị (mảng – array)
- Các bản ghi có thể có cấu trúc lồng nhau (trong một bản ghi chứa một hoặc nhiều bản ghi khác – nested structure)
Trong document oriented database, ta có khái niệm document, mỗi document là một bản ghi (tương ứng với 1 row trong hệ quản trị cơ sở dữ liệu quan hệ)
Dữ liệu được đóng gói thành từng document, document có thể lưu dưới dạng JSON, XML…
Ví dụ:
{
"_id" : ObjectId("5b7fcbb31abfa0a237c91f8b"),
"name" : "ronaldo",
"position" : "striker"
}
<contact>
<firstname>Bob</firstname>
<lastname>Smith</lastname>
<phone type="Cell">(123) 555-0178</phone>
<phone type="Work">(890) 555-0133</phone>
<address>
<type>Home</type>
<street1>123 Back St.</street1>
<city>Boys</city>
<state>AR</state>
<zip>32225</zip>
<country>US</country>
</address>
</contact>
Khi dữ liệu phát sinh, có thêm 1 trường mới thì ta chỉ cần thêm 1 trường vào đối tượng JSON/XML là được chứ nó không cố định như số cột trong 1 bảng của database sql.
Một số Document Oriented Database
Một database lưu dữ liệu dạng document oriented như MongoDB, Elasticsearch …
References: