Mục lục:
Video: [ 14 ] Xóa dữ liệu ( Remove Data ) | Removing Data MongoDB 2025
Các khả năng đọc nhanh của các cửa hàng có giá trị bắt nguồn từ việc sử dụng các phím được xác định rõ ràng. Các phím này thường được băm, cho phép lưu trữ giá trị khóa một cách rất có thể dự đoán được để xác định dữ liệu phân vùng (và do đó máy chủ) tồn tại. Một máy chủ cụ thể quản lý một hoặc nhiều phân vùng.
Một chìa khóa tốt giúp bạn xác định duy nhất một bản ghi duy nhất trả lời truy vấn mà không cần phải nhìn vào bất kỳ giá trị nào trong bản ghi đó. Khóa xấu sẽ yêu cầu mã ứng dụng của bạn diễn giải bản ghi của bạn để xác định xem nó có thực sự khớp với truy vấn hay không.
Nếu bạn không thiết kế tốt trọng điểm của mình, bạn có thể kết thúc với một máy chủ có tải trọng không cân xứng so với các máy chủ khác, dẫn đến hiệu năng kém. Ví dụ, sử dụng thời gian hệ thống hiện tại làm chìa khóa, đẩy tất cả dữ liệu mới vào nút cuối cùng trong cụm, dẫn tới kịch bản về sự tái cân bằng của kịch bản ác mộng.
Phân vùng
Thiết kế phân vùng là quan trọng bởi vì một số cửa hàng có giá trị quan trọng, chẳng hạn như Oracle NoSQL, không cho phép số lượng các phân vùng được sửa đổi khi một cụm được tạo ra. Tuy nhiên, phân phối của họ trên các máy chủ có thể được sửa đổi. Vì vậy, bắt đầu với một số lượng lớn các phân vùng mà bạn có thể lây lan ra trong tương lai.
Một ví dụ về phân vùng là cách tiếp cận băm nhất quán của Voldemort, như được hiển thị. Tại đây bạn sẽ thấy các phân vùng giống nhau trên ba máy chủ ban đầu và sau đó trên bốn máy chủ sau đó. Số phân vùng vẫn giữ nguyên, nhưng phân bổ của chúng khác nhau giữa các máy chủ. Điều tương tự cũng đúng với bản sao của chúng.
Truy cập dữ liệu trên phân vùng
Các cửa hàng có giá trị khóa được phân phối rất cao và không có điểm thất bại duy nhất. Điều này có nghĩa là không cần nút điều phối chính để theo dõi máy chủ trong một cụm. Cluster quản lý được thực hiện tự động bởi một giao thức trò chuyện giữa các nút trong máy chủ.
Bạn có thể sử dụng một thủ thuật trong trình điều khiển máy khách để siết chặt hoạt động tốt nhất thu hồi và lưu giữ khóa và giá trị - người lái xe khách hàng theo dõi trong đó máy chủ giữ mà hàng loạt các phím. Vì vậy, trình điều khiển máy khách luôn luôn biết được máy chủ để nói chuyện với.
Hầu hết các cơ sở dữ liệu, NoSQL bao gồm, truyền yêu cầu tới tất cả các thành viên của một cụm. Cụm đó hoặc chấp nhận ghi nội bộ hoặc vượt qua nó một trong mui xe để các nút chính xác. Thiết lập này có nghĩa là một chuyến đi mạng thêm giữa các nút là có thể, có thể thêm vào độ trễ.
Để tránh phát hiện trễ, lái xe khách hàng hầu hết các cửa hàng giá trị khóa duy trì một danh sách siêu dữ liệu của các nút hiện tại trong một cluster và đó chính phân vùng dao động mỗi cái gật đầu quản lý.Bằng cách này, trình điều khiển khách hàng có thể liên hệ với máy chủ chính xác, làm cho hoạt động nhanh hơn.
Nếu một nút mới được thêm vào một cụm và siêu dữ liệu đã lỗi thời, cụm thông báo trình điều khiển máy khách, sau đó tải xuống siêu dữ liệu cụm mới nhất trước khi gửi lại yêu cầu tới nút chính xác. Bằng cách này, lưu lượng tối đa được duy trì với tối thiểu không gian trên không trong quá trình phát triển. Một lợi ích khác là không cần phải cân bằng tải để chuyển các truy vấn sang máy chủ có sẵn tiếp theo hoặc ít nhất là bận, chỉ một máy chủ (hoặc máy chủ bản sao đọc) luôn nhận được yêu cầu của khách hàng, do đó không cần cân bằng tải.