- Chuyên mục khác :
- Git cơ bản và nâng cao
- ·
- MySQL cơ bản và nâng cao
- ·
- MongoDB cơ bản và nâng cao
- ·
- SQL cơ bản và nâng cao
- ·
- Linux cơ bản và nâng cao
- Cơ bản về MongoDB
- Học MongoDB cơ bản và nâng cao
- Tổng quan về MongoDB
- Lợi thế của MongoDB
- Cài đặt MongoDB
- Mô hình hóa dữ liệu trong MongoDB
- Tạo Database trong MongoDB
- Xóa Database trong MongoDB
- Tạo Collection trong MongoDB
- Xóa Collection trong MongoDB
- Kiểu dữ liệu trong MongoDB
- Chèn Document trong MongoDB
- Truy vấn Document trong MongoDB
- Cập nhật Document trong MongoDB
- Xóa Document trong MongoDB
- Projection trong MongoDB
- Giới hạn bản ghi trong MongoDB
- Sắp xếp bản ghi trong MongoDB
- Chỉ mục (Index) trong MongoDB
- Aggregation trong MongoDB
- Replica Set trong MongoDB
- Shard trong MongoDB
- Tạo Backup trong MongoDB
- MongoDB Deployment
- Hoạt động MongoDB nâng cao
- Relationship trong MongoDB
- Tham chiếu Database trong MongoDB
- Covered Query trong MongoDB
- Phân tích truy vấn trong MongoDB
- Hoạt động nguyên tử (Atomic Operation) trong MongoDB
- Hoạt động chỉ mục nâng cao trong MongoDB
- Hạn chế của chỉ mục trong MongoDB
- ObjectId trong MongoDB
- Map Reduce trong MongoDB
- Text Search trong MongoDB
- Regular Expression trong MongoDB
- Làm việc với Rockmongo
- GridFS trong MongoDB
- Capped Collection trong MongoDB
- Auto-Increment Sequence trong MongoDB
Replication là tiến trình đồng bộ hóa dữ liệu từ nhiều Server. Replication cung cấp sự dư thừa và tăng dữ liệu có tính khả dụng với nhiều bản sao dữ liệu trên nhiều Database Server khác nhau. Replication bảo vệ một cơ sở dữ liệu từ việc thất thoát của một Server nào đó. Replication cũng cho phép bạn phục hồi dữ liệu từ việc các lỗi ở phần cứng hoặc từ việc ngắt kết nối dịch vụ. Với các bản sao dữ liệu bổ sung, bạn có thể sử dụng cho việc phục hồi, báo cáo, hoặc backup.
Tại sao sử dụng Replication?
- Để làm cho dữ liệu của bạn an toàn.
- Tăng tính khả dụng cao cho dữ liệu (24*7).
- Phục hồi dữ liệu do một lỗi nào đó.
- Không phải tốn thời gian để duy trì (như backup, xây dựng lại chỉ mục).
- Mở rộng khả năng đọc (đọc từ các bản sao bổ sung).
- Replica Set là trong suốt cho ứng dụng.
Cách Replication làm việc trong MongoDB
MongoDB sử dụng Replica Set để thực hiện Replication. Một Replica Set là một nhóm các sự thể hiện của mongodb mà host cùng tập hợp dữ liệu đó. Trong một Replica, một node là Primary node (có thể gọi là node thứ cấp) sẽ nhận tất cả các hoạt động ghi. Tất cả sự thể hiện (instance) khác, thứ cấp, áp dụng các hoạt động từ node thứ cấp để mà chúng có cùng tập dữ liệu. Replica Set có thể chỉ có một node thứ cấp.
- Replica Set là một nhóm của hai hoặc nhiều node (nói chung, cần tối thiểu 3 node).
- Trong một Replica Set, một node là node thứ cấp và các node còn lại là sơ cấp.
- Tất cả dữ liệu tái tạo từ node sơ cấp đến node thứ cấp.
- Tại thời điểm duy trì tự động, việc lựa chọn thiết lập cho sơ cấp và một node sơ cấp được lựa chọn.
- Sau khi phục hồi node đã thất bại, một lần nữa nó lại kết hợp Replica Set và làm việc như một node thứ cấp.
Dưới đây là một sơ đồ đặc trưng cho Replication trong MongoDB, trong đó ứng dụng ở Client luôn luôn tương tác với node sơ cấp và node sơ cấp này sau đó tái tạo dữ liệu cho node thứ cấp.
Đặc điểm của Replica Set
- Một Cluster gồm N node
- Bất kỳ node nào có thể là sơ cấp
- Tất cả hoạt động ghi là ở sơ cấp
- Tự động duy trì
- Tự động phục hồi
Cài đặt một Replica Set
Trong chương này, chúng ta sẽ chuyển đổi mongo instance thành một Replica Set. Để chuyển đổi thành Replica Set, bạn theo các bước sau:
- Tắt MongoDB Server đang chạy.
Bây giờ, khởi động MongoDB Server với việc xác định tùy chọn --replSet. Cú pháp cơ bản của --replSet như sau:
mongod --port "PORT" --dbpath "YOUR_DB_DATA_PATH" --replSet "REPLICA_SET_INSTANCE_NAME"
Ví dụ
mongod --port 27017 --dbpath "D:\set up\mongodb\data" --replSet rs0
Nó sẽ bắt đầu một mongod instance với tên rs0, trên cổng 27017. Bây giờ, bắt đầu dòng lệnh và kết nối tới mongo instance này. Trong Mongo Client thông báo lệnh rs.initiate() để khởi tạo một Replica Set mới. Để kiểm tra cấu hình Replica Set, bạn thông báo lệnh rs.conf(). Để kiểm tra trạng thái của Replica Set, bạn thông báo lệnh rs.status().
Thêm các thành viên tới Replica Set
Để thêm các thành viên tới Replica Set, bắt đầu mongod instance trên nhiều thiết bị. Bây giờ, bắt đầu một Mongo Client và thông báo một lệnh rs.add().
Cú pháp
Cú pháp cơ bản của lệnh rs.add() như sau:
>rs.add(HOST_NAME:PORT)
Ví dụ
Giả sử tên của mongod instance của bạn là mongod1.net và đang chạy trên cổng 27017. Để thêm instance này tới Replica Set, bạn thông báo lệnh rs.add() trong Mongo Client:
>rs.add("mongod1.net:27017") >
Bạn có thể thêm instance tới Replica Set chỉ khi bạn đã kết nối tới node sơ cấp. Để kiểm tra xem bạn đã kết nối tới node sơ cấp này chưa, bạn thông báo lệnh db.isMaster() trong Mongo Client.
Các bài học lập trình MongoDB phổ biến khác tại s2sontech:
Bình luận (0)