Video: Scaling Databases - Web Development 2025
Một tính năng chung của các hệ thống NoSQL là khả năng mở rộng của chúng trên nhiều máy chủ hàng hóa. Những nền tảng tương đối rẻ có nghĩa là bạn có thể mở rộng cơ sở dữ liệu bằng cách thêm một máy chủ mới hơn là thay thế phần cứng cũ với phần cứng mới, mạnh mẽ hơn chỉ trong một cú nhấn.
Có trường hợp sử dụng khối lượng lớn sẽ nhanh chóng buộc bạn phải mở rộng quy mô. Chúng bao gồm
-
Bạn nhận được báo cáo trạng thái và ghi lại thông điệp từ khắp nơi trên một lĩnh vực công nghệ thông tin. Kịch bản này đòi hỏi thời gian nhập dữ liệu nhanh, nhưng có lẽ nó không yêu cầu hỗ trợ phân tích nâng cao.
-
Bạn muốn bộ nhớ đệm tốc độ cao cho các truy vấn phức tạp. Có thể bạn muốn nhận được những tin mới nhất trên một trang web. Ở đây, đọc các cache lưu ý đến truy vấn hoặc tốc độ truyền.
Một điều phổ biến đối với việc thực hiện tất cả các cơ sở dữ liệu NoSQL là bạn không thể dựa vào dữ liệu được xuất bản - không có gì trong số đó - để tìm ra hiệu suất có thể là dữ liệu của bạn, cho trường hợp sử dụng của riêng bạn.
Bạn chắc chắn không thể dựa vào lời hứa của một nhà cung cấp cơ sở dữ liệu cụ thể về hiệu suất! Nhiều nhà cung cấp báo giá cao ingest tốc độ chống lại một trường hợp sử dụng nhân tạo mà không phải là một sử dụng thực tế của cơ sở dữ liệu của họ, như là bằng chứng về quyền tối cao của cơ sở dữ liệu của họ.
Tuy nhiên, vấn đề là những nghiên cứu tương tự có thể hoàn toàn bỏ qua tốc độ truy vấn. Điểm trong lưu trữ dữ liệu là gì nếu bạn không bao giờ sử dụng nó?
Các nghiên cứu này cũng có thể được thực hiện trên các hệ thống nơi các tính năng chính bị vô hiệu. Các chỉ mục bảo mật có thể không được kích hoạt, hoặc có thể hỗ trợ giao dịch ACID bị tắt trong quá trình nghiên cứu để dữ liệu được lưu trữ nhanh chóng, nhưng không đảm bảo rằng nó an toàn.
Điều này có nghĩa là bạn phải làm bài kiểm tra của riêng mình, điều này là đủ dễ dàng, nhưng hãy chắc chắn rằng bài kiểm tra càng gần hệ thống cuối cùng của bạn càng tốt. Ví dụ: không có điểm gì trong việc thử nghiệm một máy chủ duy nhất nếu bạn định mở rộng lên 20 máy chủ. Cụ thể, hãy chắc chắn có một kết hợp chính xác về việc nhập, sửa đổi và truy vấn dữ liệu.
Hãy cân nhắc hỏi nhà cung cấp NoSQL của bạn những câu hỏi sau:
-
Bạn có thể đảm bảo rằng tất cả các số liệu hiệu suất và kích cỡ được trích dẫn là dành cho các hệ thống đảm bảo các giao dịch ACID trong quá trình nhập dữ liệu hỗ trợ lập chỉ mục thời gian thực và bao gồm một sự kết hợp thực sự của việc nhập và đọc / yêu cầu truy vấn?
-
Sản phẩm của bạn có cung cấp các tính năng giúp tăng khả năng của máy chủ không?
-
Sản phẩm của bạn có cung cấp các tính năng giúp dễ dàng loại bỏ dung lượng máy chủ không sử dụng không?
-
Tốc độ truy vấn dữ liệu của sản phẩm của bạn có giới hạn bởi lượng thông tin cần lưu trữ trong bộ nhớ RAM không?
-
Sản phẩm của bạn có sử dụng một chiến lược bản đồ bộ nhớ yêu cầu tất cả các chỉ mục được giữ trong bộ nhớ RAM để thực hiện đầy đủ (bộ nhớ đã được ánh xạ có nghĩa là số lượng dữ liệu tối đa được lưu trữ giống như số lượng RAM vật lý được cài đặt)?
-
Cơ sở dữ liệu của bạn có thể duy trì thời gian phản hồi truy vấn phụ thứ hai trong khi nhận được cập nhật tần số cao không?
-
Hệ thống đảm bảo rằng không có thời gian chết là cần thiết để bổ sung hoặc loại bỏ khả năng máy chủ?
-
Hệ thống đảm bảo rằng thông tin có sẵn ngay lập tức cho truy vấn sau khi nó được thêm vào cơ sở dữ liệu?
-
Hệ thống có đảm bảo bảo mật dữ liệu được duy trì mà không ảnh hưởng xấu đến tốc độ truy vấn?
-
Hệ thống có đảm bảo rằng các khả năng mở rộng quy mô và khả năng mở rộng của cơ sở dữ liệu có thể hoạt động được và họ sẽ tích hợp với phần mềm cung cấp máy chủ đã chọn của bạn (ví dụ VMWare và Amazon Cloud Formation)?