MongoDB
 sql >> Cơ Sở Dữ Liệu >  >> NoSQL >> MongoDB

NoSQL - MongoDB và CouchDB

Xem các liên kết sau

Cập nhật :Tôi đã tìm thấy so sánh tuyệt vời của NoSQL cơ sở dữ liệu.

MongoDB (3.2)

  • Được viết bằng:C ++
  • Điểm chính:Kho tài liệu JSON
  • Giấy phép:AGPL (Trình điều khiển:Apache)
  • Giao thức:Tùy chỉnh, nhị phân (BSON)
  • Sao chép chính / phụ (tự động chuyển đổi dự phòng với các bộ bản sao)
  • Làm sắc nét được tích hợp sẵn
  • Các truy vấn là các biểu thức javascript
  • Chạy các hàm javascript tùy ý phía máy chủ
  • Có truy vấn và lập chỉ mục không gian địa lý
  • Nhiều công cụ lưu trữ với các đặc điểm hiệu suất khác nhau
  • Hiệu suất trên các tính năng
  • Xác thực tài liệu
  • Viết nhật ký
  • Khung tổng hợp mạnh mẽ
  • Trên hệ thống 32 bit, giới hạn ở ~ 2,5Gb
  • Tìm kiếm văn bản được tích hợp
  • GridFS để lưu trữ dữ liệu lớn + siêu dữ liệu (không thực sự là FS)
  • Nhận biết về trung tâm dữ liệu

Được sử dụng tốt nhất :Nếu bạn cần truy vấn động. Nếu bạn muốn xác định các chỉ mục, không phải ánh xạ / giảm các chức năng. Nếu bạn cần hiệu suất tốt trên DB lớn. Nếu bạn muốn CouchDB, nhưng dữ liệu của bạn thay đổi quá nhiều, làm đầy đĩa.

Ví dụ :Đối với hầu hết những điều bạn sẽ làm với MySQL hoặc PostgreSQL, nhưng việc có các cột được xác định trước thực sự khiến bạn kìm hãm.

CouchDB (1.2)

  • Được viết bằng:Erlang
  • Điểm chính:Tính nhất quán của DB, dễ sử dụng
  • Giấy phép:Apache
  • Giao thức:HTTP / REST
  • Sao chép hai hướng (!),
  • liên tục hoặc đặc biệt,
  • với tính năng phát hiện xung đột,
  • do đó, sao chép master-master. (!)
  • MVCC - hoạt động ghi không chặn các lần đọc
  • Hiện có các phiên bản trước của tài liệu
  • Thiết kế chỉ sự cố (đáng tin cậy)
  • Thỉnh thoảng cần thu gọn lại
  • Chế độ xem:bản đồ được nhúng / giảm bớt
  • Định dạng chế độ xem:danh sách và chương trình
  • Có thể xác thực tài liệu phía máy chủ
  • Có thể xác thực
  • Cập nhật thời gian thực qua '_changes' (!)
  • Xử lý tệp đính kèm

Được sử dụng tốt nhất :Để tích lũy, thỉnh thoảng thay đổi dữ liệu, trên đó các truy vấn được xác định trước sẽ được chạy. Những nơi mà việc lập phiên bản là quan trọng.

Ví dụ :Hệ thống CRM, CMS. Nhân bản tổng thể là một tính năng đặc biệt thú vị, cho phép dễ dàng triển khai trên nhiều trang web.



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Cách bắt đầu với ClusterControl

  2. Cách hiệu quả nhất để lưu trữ các danh mục lồng nhau (hoặc dữ liệu phân cấp) trong Mongo?

  3. Làm thế nào để tổng hợp trên một mảng lớn trong mongoDB?

  4. Phương thức $ push của tôi trong Mongoose không hoạt động tốt

  5. Sử dụng AngularJs và MongoDB / Mongoose