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: