Có kế hoạch nào để Wordpress hỗ trợ cơ sở dữ liệu khác với MySQL không?


8

Tôi đã mong muốn Wordpress sẽ hỗ trợ SQL Server, nhưng nó cũng thực sự tuyệt vời nếu nó hỗ trợ MongoDB (chẳng hạn.)

Câu hỏi của tôi là có kế hoạch nào để làm như vậy không?

Có phải nhóm Wordpress cốt lõi đã cam kết với MySQL rằng không có kế hoạch cung cấp bất kỳ loại hỗ trợ nào cho các DB khác (ít nhất là bất cứ lúc nào sớm?)

Bài đăng này khiến tôi tin rằng bất kỳ điều gì như vậy sẽ không xảy ra:

http://codex.wordpress.org/Using_Alternative_Database

Tuy nhiên, như một ví dụ (trong khi tôi rất thích Wordpress với nó) Drupal 7 hiện có tính năng ...

Lớp trừu tượng hóa cơ sở dữ liệu, cho phép sử dụng nhiều cơ sở dữ liệu, chẳng hạn như Maria DB, Microsoft SQL Server, MongoDB, Oracle, MySQL, PostgreQuery hoặc SQLite

http://drupal.org/node/1015646

Câu trả lời:


5

Xin chào @Justin Jenkins:

Thật khó để sử dụng để nói rằng WordPress sẽ hoặc không hỗ trợ nó vì họ có thể đưa ra những quyết định đó và chúng tôi không thể. Tuy nhiên chúng ta có thể xem xét một số bằng chứng.

Máy chủ SQL?

Đối với SQL Server một mặt, một vé trac đã được tranh luận và bị đình trệ một năm trước; kể từ đó gần đây, có vẻ như Automattic và Microsoft đang khám phá các mối quan hệ kinh doanh:

Mongo DB?

Đối với Mongo DB, có một câu hỏi hỗ trợ đề xuất nhưng không có sự thừa nhận chính thức và không có lực kéo thực sự:

Dự báo?

Vì vậy, SQL Server có vẻ nhiều khả năng hơn MongoDB, ít nhất là từ Automattic trong thời gian tới nhưng đó chỉ là phỏng đoán và không phải là thứ tôi thực sự đặt cược.

Còn plugin thì sao?

Quan trọng hơn, người ta sẽ cần phải xem xét rằng một lợi ích chính của WordPress là kho lưu trữ bổ sung miễn phí khổng lồ và nhiều trong số đó mã hóa trực tiếp MySQL và do đó sẽ ngừng hoạt động và làm giảm đi nhiều lợi ích của WordPress.

Các mô-đun Drupal và sự hỗ trợ của các cơ sở dữ liệu khác bên cạnh MySQL

Hơn thế nữa, trong thế giới Drupal bạn có nhiều hỗ trợ cơ sở dữ liệu nhưng thực tế là phần lớn các mô-đun Drupal tương tác với cơ sở dữ liệu chỉ hỗ trợ MySQL. Hỗ trợ nhiều cơ sở dữ liệu đòi hỏi nhiều nỗ lực hơn nhiều lần và hầu hết các nhà phát triển mô-đun Drupal đơn giản là không có tài nguyên hoặc thậm chí không có xu hướng tạo ra các plugin miễn phí với các mức hỗ trợ đó và tôi hy vọng điều tương tự cũng sẽ đúng với WordPress.

Các trường hợp sử dụng trong thế giới thực?

Điều này đưa tôi đến một câu hỏi trung thực: trường hợp sử dụng trong thế giới thực cho việc này là gì? Là một chuyên gia công nghệ, tôi luôn xem những loại này là rất tuyệt, nhưng là một doanh nhân, tôi cũng nhìn chúng một cách thực tế và yêu cầu các trường hợp sử dụng. Có những tình huống mà MySQL thực sự không phải là một lựa chọn nhưng SQL Server là? Các cài đặt trong đó lợi ích của Mongo DB sẽ vượt quá các nhược điểm?

(Và cũng quan trọng, có công ty nào thực sự cần điều này, những người sẵn sàng chi tiền để hỗ trợ phát triển và bảo trì? Cụ thể hơn là tôi tò mò muốn biết động cơ của bạn? không thách thức bạn bằng bất cứ cách nào để hỏi.)

Bước tiếp theo?

Nếu bạn muốn nghe nó nhiều hơn từ miệng ngựa, tôi đề nghị nhưng hỏi về danh sách gửi thư của tin tặc wp và đăng một vé đề xuất cho MongoDB trên trac .

CẬP NHẬT

Tôi vừa xem trang này trên Microsoft.com rằng họ có bản vá để sử dụng SQL Server với WordPress. Tôi đã không thử nó vì vậy tôi không thể đảm bảo, mặc dù đây là trang WordPress của Microsoft:


Cảm ơn đã phản ứng chi tiết. Tin tức về SQL Server khá thú vị ... lý do chính tôi thậm chí hỏi là vì trong môi trường chạy SQL Server (hoặc MongoDB chẳng hạn) khi tất cả phần còn lại của dữ liệu của chúng tôi ... mạng nội bộ, người dùng, cms, v.v. v.v., là SQL Server, điều thực tế là Wordpress chỉ hỗ trợ MySQL rất hạn chế (ví dụ: khó đồng bộ hóa hoặc người dùng hoặc chia sẻ mẫu, v.v.), Có dữ liệu phía sau được lưu trữ trong SQL Server sẽ mở ra một máy chủ lớn lựa chọn cho chúng tôi.!
Justin Jenkins

@Justin Jenkins - Cảm ơn bạn đã giải thích lý do tại sao bạn muốn điều này; để giảm thiểu máy chủ và bảo trì. Một câu hỏi trung thực khác: nhu cầu về SQL Server / Mongo DB có đủ quan trọng để truy cập chức năng giới hạn từ WordPress không? (tức là ít hỗ trợ plugin hơn.)
MikeSchinkel

7

Codec

Xem: http://codex.wordpress.org/Using_Alternative_Database#Solutions/

Plugin thay thế

Tôi đã sử dụng plugin này: http://wordpress.org/extend/plugins/pdo-for-wordpress/ gần đây để chạy WordPress trên NAS của tôi bằng cơ sở dữ liệu SQLITE trong phần phụ trợ thay vì MySQL, hoạt động rất tốt.

Cơ sở dữ liệu nào được hỗ trợ?

Hiện tại lớp cơ bản hỗ trợ bất kỳ cơ sở dữ liệu nào được PDO hỗ trợ.

  • MS SQL Server (PDO) - Microsoft SQL Server và Sybase Function (PDO_DBLIB)
  • Firebird / Interbase (PDO) - Chức năng Firebird / Interbase (PDO_FIREBIRD)
  • IBM (PDO) - Hàm IBM (PDO_IBM)
  • Informix (PDO) - Chức năng Informix (PDO_INFORMIX)
  • MySQL (PDO) - Chức năng MySQL (PDO_MYSQL)
  • Oracle (PDO) - Chức năng Oracle (PDO_OCI)
  • ODBC và DB2 (PDO) - Hàm ODBC và DB2 (PDO_ODBC)
  • PostgreSQL (PDO) - Hàm PostgreQuery (PDO_PGSQL)
  • SQLite (PDO) - Hàm SQLite (PDO_QueryITE)
  • Lưu ý rằng thông qua tiện ích mở rộng PDO_ODBC, tất cả các cơ sở dữ liệu được hỗ trợ ODBC cũng được hỗ trợ, tùy thuộc vào trình điều khiển có sẵn

TUY NHIÊN mỗi cơ sở dữ liệu cần trình điều khiển riêng và hiện tại trình điều khiển duy nhất được viết cho plugin này là dành cho

  • sqlite và
  • mys

Vì vậy, đối với MySQL, ai đó nên viết trình điều khiển


Cảm ơn thông tin về PDO (SQLite) Đối với WordPress, có vẻ thú vị.
Justin Jenkins

1
Plugin này đã không được chạm vào trong hơn hai năm và không hỗ trợ cho WP 3.x. Đó là một phát hiện thú vị, và sẽ rất tuyệt nếu ai đó có thể cập nhật và gỡ lỗi nó, nhưng vì hiện tại nó không phải là một giải pháp rất hữu ích. Có một số bài đăng trên các diễn đàn nơi mọi người đã hack nó thành bit để làm cho nó bán chức năng, nhưng nó có vẻ rắc rối hơn nhiều so với giá trị của nó.
SickHippie

2

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?


-1

PDO cho WordPress hoạt động tuyệt vời nếu bạn không bị kẹt ở WP 2.9.1RC1 vì nó không được hỗ trợ trong WP 3.x. Thật không may, có rất nhiều plugin được viết để chỉ chạy trên WP 3.x

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.