Từ góc độ nhà phát triển, tôi có thể nói rằng gần như mọi công cụ cơ sở dữ liệu chính thống truyền thống ngoài kia chỉ có thể mở rộng quy mô và nhân rộng ra rất nhiều sau khi nghĩ.
Trong những năm gần đây với nhu cầu về khả năng mở rộng lớn hơn và các hệ thống có tính sẵn sàng cao, đã có những nỗ lực để làm cho các cơ sở dữ liệu hiện có mở rộng ra. Nhưng bởi vì các thiết kế bị cản trở bởi mã kế thừa, nên nó chỉ được củng cố chứ không phải là cơ bản cho thiết kế. Bạn sẽ gặp phải điều này nếu cố gắng mở rộng hầu hết các công cụ cơ sở dữ liệu nổi tiếng. Thêm máy chủ nô lệ có thể khá khó để thiết lập và bạn sẽ nhận thấy rằng nó đi kèm với những hạn chế đáng kể, một số trong đó có thể yêu cầu sắp xếp lại các bảng cơ sở dữ liệu của bạn.
Ví dụ, hầu hết trong số chúng là nô lệ chủ / (đa-) thay vì thiết kế đa chủ. Nói cách khác, bạn có thể có toàn bộ máy chủ chỉ ngồi đó và không thể xử lý các truy vấn. Một số làm, nhưng với những hạn chế ... ví dụ chỉ đọc thiết kế đa nô lệ. Vì vậy, bạn có thể có một máy chủ ghi và tất cả các máy chủ khác cung cấp dữ liệu chỉ đọc. Bạn sẽ nhận thấy khi bạn thiết lập các hệ thống này, nó không phải lúc nào cũng là một quá trình đơn giản và khó để hoạt động tốt. Nó cảm thấy rất nhiều một tia trên ngoài trong nhiều trường hợp.
Mặt khác, có một số công cụ cơ sở dữ liệu mới hơn đang được phát triển với thiết kế đồng thời và đa chủ ngay từ đầu. NOSQL và NewQuery là lớp thiết kế mới.
Vì vậy, có vẻ như cách tốt nhất để có được hiệu suất tốt hơn từ máy chủ SQL truyền thống là tăng quy mô! Trong khi với NOSQL & NewQuery, cả hai đều mở rộng và mở rộng quy mô.
Lý do các hệ thống RDBMS truyền thống được kết hợp chặt chẽ là bởi vì tất cả chúng đều cần một cái nhìn nhất quán về cùng một dữ liệu. Khi bạn có nhiều máy chủ chấp nhận cập nhật cho cùng một dữ liệu từ các máy khách khác nhau, bạn tin tưởng vào máy chủ nào? Bất kỳ phương pháp nào cố gắng đảm bảo dữ liệu nhất quán thông qua một số loại cơ chế khóa đều cần có sự hợp tác từ các máy chủ khác làm giảm hiệu suất hoặc ảnh hưởng đến chất lượng dữ liệu trong đó mọi dữ liệu được đọc từ máy khách có thể bị lỗi thời. Và các máy chủ cần tự quyết định dữ liệu nào gần đây nhất khi ghi vào cùng một bản ghi. Như bạn có thể thấy đó là một vấn đề phức tạp trở nên phức tạp hơn bởi thực tế là khối lượng công việc được trải đều trên các máy chủ và không chỉ giữa các quy trình hoặc luồng mà việc truy cập dữ liệu vẫn còn khá nhanh.