Cơ sở dữ liệu tài liệu là gì?

Các khái niệm NoSQL

Miriam Antona

Software engineer

Tổng quan cơ sở dữ liệu tài liệu

Hình minh họa cấu trúc cơ sở dữ liệu tài liệu

Các khái niệm NoSQL

Tổng quan cơ sở dữ liệu tài liệu

Hình minh họa cấu trúc cơ sở dữ liệu tài liệu

Các khái niệm NoSQL

Tổng quan cơ sở dữ liệu tài liệu

Hình minh họa cấu trúc cơ sở dữ liệu tài liệu

Các khái niệm NoSQL

Tổng quan cơ sở dữ liệu tài liệu

Hình minh họa cấu trúc cơ sở dữ liệu tài liệu

Các khái niệm NoSQL

Tổng quan cơ sở dữ liệu tài liệu

Hình minh họa cấu trúc cơ sở dữ liệu tài liệu

Các khái niệm NoSQL

Tổng quan cơ sở dữ liệu tài liệu

Hình minh họa cấu trúc cơ sở dữ liệu tài liệu

Các khái niệm NoSQL

Tổng quan cơ sở dữ liệu tài liệu

Hình minh họa cấu trúc cơ sở dữ liệu tài liệu

Các khái niệm NoSQL

Tổng quan cơ sở dữ liệu tài liệu

Hình minh họa cấu trúc cơ sở dữ liệu tài liệu

  • Documents -> rows
  • Collections -> tables
Các khái niệm NoSQL

Tài liệu (Document)

  • Tập các cặp khóa-giá trị
  • Khóa: chuỗi
  • Giá trị: số, chuỗi, boolean, mảng hoặc đối tượng
  • Không lược đồ: không cần khai báo cấu trúc
  • Định dạng: JSON, BSON, YAML hoặc XML
Các khái niệm NoSQL

Tài liệu - định dạng JSON

{
  "user_id": 512,
  "name": "Carol",
  "last_name": "Harper",
  "email": "[email protected]",
  "address": {
    "street": "123 Sesame Street",
    "city": "New York City",
    "state": "New York",
    "country": "USA"
  },
  "hobbies": [
    "hiking",
    "painting"
  ]
}
Các khái niệm NoSQL

Tài liệu - truy vấn

{
  "user_id": 512,
  "name": "Carol",
  "last_name": "Harper",
  "email": "[email protected]",
  "address": {
    "street": "123 Sesame Street",
    "city": "New York City",
    "state": "New York",
    "country": "USA"
  },
  "hobbies": [
    "hiking",
    "painting"
  ]
}
  • Tất cả người dùng sống ở New York và thích hiking
  • Tất cả người dùng trên 40 tuổi
  • Dữ liệu người dùng theo user_id
  • ...
Các khái niệm NoSQL

Tài liệu - mô hình đa hình (polymorphic)

{
  "user_id": 512,
  "name": "Carol",
  "last_name": "Harper",
  "email": "[email protected]",
  "address": {
    "street": "123 Sesame Street",
    "city": "New York City",
    "state": "New York",
    "country": "USA"
  },
  "hobbies": [
    "hiking",
    "painting"
  ]
}
{
  "user_id": 513,
  "name": "Benjamin",
  "last_name": "Lieberman",
  "email": "[email protected]",
  "date_of_birth": "07/04/1984",
  "hobbies": [
    "reading"
  ]
}
Các khái niệm NoSQL

Bộ sưu tập (Collection)

  • Tập các tài liệu
  • Lưu trữ cùng loại thực thể
  • Tổ chức tài liệu và bộ sưu tập theo truy vấn
Các khái niệm NoSQL

Các cơ sở dữ liệu tài liệu phổ biến

Logo của một số cơ sở dữ liệu tài liệu phổ biến.

Các khái niệm NoSQL

Ayo berlatih!

Các khái niệm NoSQL

Preparing Video For Download...