Nghiên cứu tình huống MongoDB

Các khái niệm NoSQL

Miriam Antona

Software engineer

MongoDB - tổng quan

Logo MongoDB

  • Cơ sở dữ liệu tài liệu phổ biến
  • Định dạng BSON (Binary JSON)
Các khái niệm NoSQL

MongoDB - tính năng

  • Ngôn ngữ truy vấn MongoDB (MQL)
db.users.find({ "address.zipcode" : "10245" })
  • Trình điều khiển gốc cho ngôn ngữ lập trình: C#, Java, Python, Scala, v.v.
  • Chỉ mục trên bất kỳ trường nào
  • Giao dịch ACID (Atomicity, Consistency, Isolation, and Durability)
  • Join trong truy vấn
Các khái niệm NoSQL

MongoDB - tính năng

  • Mở rộng theo chiều ngang
    • sharding gốc
    • thêm/di chuyển shard
  • Sao chép
    • 50 bản sao dữ liệu
Các khái niệm NoSQL

MongoDB - sản phẩm

  • MongoDB Compass:
    • GUI miễn phí
    • Khám phá schema, tạo truy vấn trực quan...
  • MongoDB Atlas:
    • Dịch vụ đám mây
    • AWS, Azure, Google Cloud
  • MongoDB Enterprise Advanced:
    • Chạy MongoDB trên hạ tầng của chúng ta
Các khái niệm NoSQL

MongoDB - sản phẩm

  • MongoDB Atlas Lake:
    • Truy vấn và phân tích dữ liệu
    • AWS S3 và MongoDB Atlas
    • MQL
  • MongoDB Charts:
    • Trực quan hóa dữ liệu
  • Realm Mobile Database:
    • Lưu dữ liệu cục bộ trên iOS hoặc Android
Các khái niệm NoSQL

MongoDB - các mục đích phổ biến

  • Single view applications: tài chính, chính phủ, công nghệ cao, bán lẻ...
  • Gaming: hồ sơ người chơi, bảng xếp hạng...
  • Catalogs: tài chính, chính phủ, công nghệ cao, bán lẻ...
  • Phân tích thời gian thực
  • Quản lý nội dung
  • Internet of Things
Các khái niệm NoSQL

MongoDB - khách hàng

Logo của một số khách hàng MongoDB

Các khái niệm NoSQL

Nghiên cứu tình huống Shutterfly - tổng quan

  • Dịch vụ nhiếp ảnh trực tuyến
    • Chia sẻ album ảnh cá nhân hóa
    • Sản phẩm in ảnh
  • Hàng triệu khách hàng
  • Hơn sáu tỷ ảnh

Logo Shutterfly

Các khái niệm NoSQL

Nghiên cứu tình huống Shutterfly - vấn đề và giải pháp

  • Dữ liệu tăng trưởng mạnh
  • Giới hạn hiệu năng của Oracle
  • Mất nhiều thời gian để xây ứng dụng
  • Ứng dụng không đủ nhanh
  • Oracle trở nên quá đắt
  • Chọn MongoDB
Các khái niệm NoSQL

Nghiên cứu tình huống Shutterfly - kết quả

  • Cải thiện hiệu năng
    • Thêm mới: 400 ms -> 2 ms
  • Mở rộng theo chiều ngang
  • Schema linh hoạt -> phát triển nhanh
    • Tag, bình luận, v.v. không khó triển khai
  • Mẫu truy vấn mới
  • Giảm chi phí
Các khái niệm NoSQL

Nghiên cứu tình huống Shutterfly - kết quả

  • Cải thiện hiệu năng
    • Thêm mới: 400 ms -> 2 ms
  • Mở rộng theo chiều ngang
  • Schema linh hoạt -> phát triển nhanh
    • Tag, bình luận, v.v. không khó triển khai
  • Mẫu truy vấn mới
  • Giảm chi phí
1 https://www.mongodb.com/who-uses-mongodb
Các khái niệm NoSQL

Cùng luyện tập nào!

Các khái niệm NoSQL

Preparing Video For Download...