Document Stores là gì? Tìm hiểu Document oriented database systems

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:

https://en.wikipedia.org/wiki/Document-oriented_database

stackjava.com