Tôi đã thực hiện một số nghiên cứu về khả năng di chuyển WordPress sang MongoDB hoặc cơ sở dữ liệu NoQuery khác để làm cho nó thực sự có thể mở rộng. Đường may có một cách khá tốt (không may là không ngắn) để đạt được điều này.
Để bắt đầu, tôi đã thực hiện một đoạn script nhỏ trong PHP đang di chuyển các bảng MySQL sang các bộ sưu tập Mongo thực hiện một số tập hợp trong khi vẫn giữ được các phụ thuộc quan hệ ban đầu:
https://github.com/virtimus/mysql2mongo
Bước tiếp theo mà tôi hiện đang làm là làm cho MongoDB hiểu một cái gì đó sẽ "gần gũi" với SQL - Tôi đã đặt tên cho nó là "nQuery" - đó là phương ngữ dựa trên SQL hoạt động trên các bộ sưu tập chữ tượng hình
https://github.com/virtimus/nsqlserver
Đó là một công việc đang tiến hành - chưa có gì được cam kết - tuy nhiên tôi đã ngoại tuyến với phiên bản protype xử lý các truy vấn nQuery đơn giản có dạng:
db.runCommand(
{nsQL:
{
sel:['id','emailUse','emailType','emailSubject'], // properties/colums to return
flt:{emailUse:0,emailType:'test'}, // filter (where phrase equivalent)
ctb:'wp_eshop_emails' // table equivalent (can be agregated in collection as path)
},
cid:ci, //connection id
sid:si //session id
})
Nó có thể hoạt động trên cả MySQL, MongoDB hoặc gần như bất kỳ phụ trợ quan hệ / không quan hệ nào khác. Nó là phần tổng hợp của hai dự án: - một ngã ba MongoDB (phiên bản MongoDB mở rộng một chút bởi một số lệnh "nQuery") - một nhánh của dự án SQLRelay (xử lý proxy DB quan hệ nhiều phụ trợ SQL)
OK - vì vậy thành phần trên sẽ là phần chính của công việc. Có rất nhiều sự phát triển để làm cho nó hoạt động đầy đủ (xử lý các tập hợp, sắp xếp, bộ lọc văn bản con, chèn / cập nhật / xóa, cũng có thể tham gia, v.v.) Hiệu ứng kết thúc dường như rất hứa hẹn - không chỉ cho WP. Ví dụ, hãy tưởng tượng việc di chuyển SQL sang NoQuery bằng cách sử dụng một số lệnh "XÁC TỪ VÀO" đơn giản ...
Phần còn lại của công việc sẽ là kết nối nó với WordPress - thông qua một số loại trình dịch SQL2NQuery (tức là plugin PDO ở trên)
Có ai quan tâm không? Giúp phân tích / phát triển? Đầu tư tài chính?