CouchDB bố trí và cam kết hệ thống tập tin tính năng tất cả các thuộc tính nguyên tử nhất quán cô lập bền (ACID). Trên đĩa, CouchDB không bao giờ ghi đè dữ liệu cam kết hoặc liên kết cấu trúc, đảm bảo các tập tin cơ sở dữ liệu luôn luôn là một trạng thái nhất quán. Đây là một thiết kế "chỉ có vụ tai nạn" nơi máy chủ CouchDB không đi qua một đóng xuống quá trình, nó chỉ đơn giản là kết thúc.Tài liệu Cập Nhật (Thêm, chỉnh sửa, xóa) được đăng trên, ngoại trừ các đốm màu nhị phân được viết đồng thời. Cơ sở dữ liệu độc giả không bao giờ bị khóa và không bao giờ này còn phải chờ đợi trên nhà văn hoặc các độc giả khác. Bất kỳ số nào của khách hàng có thể đọc tài liệu mà không bị khóa ra ngoài hoặc bị gián đoạn bởi bản cập nhật đồng thời, ngay cả trên cùng một tài liệu. CouchDB đọc hoạt động sử dụng một mô hình đa Phiên bản Concurrency kiểm soát (MVCC), nơi mà mỗi khách hàng thấy một bản chụp cơ sở dữ liệu từ đầu đến kết thúc hoạt động đọc phù hợp.Tài liệu được lập chỉ mục trong B-cây bằng tên của họ (DocID) và một dãy ID. Mỗi bản Cập Nhật cho một trường hợp cơ sở dữ liệu tạo ra một số tuần tự mới. Dãy ID được sử dụng sau đó từng bước trong việc tìm kiếm những thay đổi cơ sở dữ liệu. Các chỉ số B-cây được cập nhật đồng thời khi tài liệu được lưu hoặc xóa bỏ. Các bản Cập Nhật chỉ số luôn luôn xảy ra ở phần cuối của tập tin (nối chỉ Cập Nhật).Tài liệu có lợi thế của các dữ liệu được đóng gói đã thuận tiện cho việc lưu trữ chứ không phải chia ra trên rất nhiều bảng biểu và các hàng trong hầu hết các hệ thống cơ sở dữ liệu. Khi tài liệu được cam kết để đĩa, các lĩnh vực tài liệu và siêu dữ liệu được đóng gói vào bộ đệm, các tài liệu theo tuần tự một sau khi khác (hữu ích sau đó cho hiệu quả xây dựng quan điểm).Khi CouchDB tài liệu được Cập Nhật, tất cả các dữ liệu và lập chỉ mục liên kết được xóa đĩa và cam kết giao dịch luôn luôn để lại cơ sở dữ liệu trong một nhà nước hoàn toàn phù hợp. Cam kết diễn ra trong hai bước:Tất cả các tài liệu dữ liệu và thông tin cập nhật liên quan đến chỉ số đồng bộ đỏ ửng lên đĩa.Tiêu đề cập nhật cơ sở dữ liệu được viết trong hai khối liên tiếp, giống hệt nhau để tạo thành 4k đầu tiên của tập tin, và sau đó đồng bộ đỏ ửng lên đĩa.Trong trường hợp hệ điều hành một tai nạn hoặc năng lượng và sự thất bại trong bước 1, các bản cập nhật phần đỏ ửng chỉ đơn giản quên mật khẩu trên khởi động lại. Nếu một vụ tai nạn xảy ra trong bước 2 (cam kết các tiêu đề), sẽ vẫn là một bản sao còn lại của phần đầu trước giống hệt nhau, đảm bảo sự liên lạc của tất cả trước đó đã cam kết dữ liệu. Trừ vùng tiêu đề, kiểm tra tính nhất quán hoặc khắc phục sức khỏe sau một vụ tai nạn hoặc mất điện không bao giờ cần thiết.
đang được dịch, vui lòng đợi..
