Yêu cầu trừu tượng của bạn hét lên "PostgreSQL" với tôi. Tuy nhiên, tôi nghĩ rằng nó đáng để theo kịp những gì giai cấp tư sản đang làm, vì vậy đây là một danh sách các công cụ khác nhau mà bạn có thể muốn kiểm tra.
Công cụ miễn phí
- CouchDB - một trong những cơ sở dữ liệu NoQuery đầu tiên, hệ thống truy vấn / giảm bản đồ mạnh mẽ, phân tán cao và có khả năng chịu lỗi. Một trong những ứng cử viên tốt hơn của NoQuery.
- Hyperdex - bảng băm phân tán, rất mới với khả năng tìm kiếm.
- Riak - bảng băm phân phối xứng đáng với một số tôn trọng.
Những thứ miễn phí kỳ lạ
- Metakit - nhiều hơn một cơ sở dữ liệu nhúng như SQLite nhưng không dựa trên SQL, do đó mang tính thủ tục hơn.
- FramerD - giống như một cơ sở dữ liệu "mạng" cổ điển, rất trung tâm con trỏ. Có lẽ đã chết?
- Magma - Smalltalk OODBMS. Mát mẻ nhưng không được ghi chép lại.
Những thứ không miễn phí
- AllegroGraph - Cơ sở dữ liệu RDF (đồ thị), hỗ trợ SPARQL. Lisp có hương vị.
- Bộ nhớ cache - cơ sở dữ liệu quan hệ lai / OO, ban đầu dựa trên MUMPS (IIRC).
- Tính khách quan - Một trong số ít các 3MB thực sự lớn cuối cùng. Rất mạnh mẽ, ấn tượng và đắt tiền.
- VoltDB - Cơ sở dữ liệu quan hệ có khả năng mở rộng cao. Hỗ trợ SQL "nhất". Rất mới. Tôi đoán họ cũng có một phiên bản cộng đồng.
Phần kết luận
Tôi đã không sử dụng bất kỳ trong số những điều này. Tôi đã chơi với hầu hết trong số họ một chút và luôn luôn quay lại với PostgreSQL. Nhìn vào yêu cầu của bạn, điều duy nhất PostgreSQL không đáp ứng được là khả năng mở rộng. Mặt khác, với mục đích của tôi, việc ném 4000 phần cứng vào một máy cơ sở dữ liệu chuyên dụng đơn giản hơn nhiều so với ném 4000 nút đám mây hoặc các máy cấp thấp vào vấn đề này. Và có nhiều cách để đạt được khả năng mở rộng với PostgreSQL, chẳng hạn như với EnterpriseDB .
Thật thú vị khi chơi xung quanh với những thứ này ở bên cạnh, nhưng khi đến lúc đưa dữ liệu sản xuất có giá trị, không thể sản xuất vào một thứ gì đó, một loạt các thuộc tính nhàm chán như độ tin cậy, ổn định và khả năng tồn tại lâu dài sẽ xuất hiện.
Thử nghiệm suy nghĩ cho bạn
Xem xét điều này. Hãy tưởng tượng bạn là Mark Zuckerberg và bạn phải chọn từ bỏ cơ sở mã hoặc dữ liệu của mình. Bạn có thể giữ tất cả các nhân viên phát triển của mình, nhưng bạn phải từ bỏ tất cả mã của mình mỗi dòng, nói ngay cả những ký ức của nhà phát triển về cách họ triển khai mọi thứ đã biến mất nhưng bạn phải giữ tất cả tài khoản người dùng và tất cả người dùng của bạn đã tải lên dữ liệu và tất cả những thứ đó, hoặc bạn có thể từ bỏ tất cả dữ liệu. Giữ tất cả các cấu trúc và máy chủ và cấu hình, thiết lập, nhưng mất mọi hàng trong mỗi bảng trong mỗi cơ sở dữ liệu.
Rõ ràng là sẽ mất dữ liệu. Tại sao tất cả người dùng của bạn sẽ tạo lại tất cả dữ liệu đó? Hãy nghĩ về tất cả các dữ liệu tiếp thị bị mất, đó là cách Facebook thực sự kiếm tiền của họ. Và có rất nhiều doanh nhân đang chảy nước miếng khi có cơ hội để mọi người sử dụng bản sao Facebook của họ, bây giờ tất cả những người dùng Facebook cũ bị tước quyền sẽ ra khỏi đó để xem xét các lựa chọn thay thế. Mặt khác, nếu họ mất codebase, họ có thể xây dựng lại nó, thậm chí có thể tốt hơn bây giờ, nhưng họ có thể có một cái gì đó trực tuyến theo thứ tự rất ngắn. Họ có thể muaFacebook của người khác sao chép cơ sở mã và tải nó lên với dữ liệu thực, nhưng bạn không thể sao chép dữ liệu của họ. Nếu Facebook vẫn có dữ liệu quan trọng của mọi người trên máy chủ của họ, thì ưu đãi để lại thấp hơn nhiều. Vẫn tệ, nhưng ít hơn nhiều. Đáng ngạc nhiên là ít như vậy.
Điều trớ trêu là việc mất tất cả dữ liệu của bạn trong một tai nạn kỳ lạ sẽ dễ dàng hơn nhiều so với việc mất tất cả mã của bạn. Tuy nhiên, đối với hầu hết các công ty internet, dữ liệu là công ty, đó là tài sản quý giá nhất của bạn. Và đây là một lý do mạnh mẽ để xem xét sử dụng một cơ sở dữ liệu quan hệ truyền thống, đã được kiểm chứng thời gian, lỗi thời.