WordPressをMongoDBまたは他のNoSQLデータベースに移行して、本当にスケーラブルにする可能性について、いくつかの調査を行いました。縫い目には、これを実現するための非常に良い方法があります(残念ながら短い方法ではありません)。
最初に、元のリレーショナル依存関係を維持しながら、MySQLテーブルをいくつかの集計を行うMongoコレクションに移行する小さなスクリプトをPHPで実行しました。
https://github.com/virtimus/mysql2mongo
私が現在取り組んでいる次のステップは、SQLに「近い」ものをMongoDBに理解させることです-私はそれを「nSQL」と名付けました-階層的コレクションで動作するSQLのjsonベースの方言です
https://github.com/virtimus/nsqlserver
それは進行中の作業です-まだ何もコミットされていません-ただし、次の形式の単純なnSQLクエリを処理するwプロタイプバージョンはすでにオフラインになっています。
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
})
これは、MySQL、MongoDB、または他のほとんどすべてのリレーショナル/非リレーショナルバックエンドの両方で動作します。2つのプロジェクトのコンパイルです。多くのSQLバックエンド)
OK-したがって、上記のコンポーネントが作業の主要部分になります。完全に機能させるために多くの開発が行われています(集計の処理、並べ替え、サブドキュメントフィルター、挿入/更新/削除、場合によっては結合など)。WPだけでなく、一般的に最終効果は非常に期待できるようです。たとえば、いくつかの単純な「INSERT FROM INTO」コマンドを使用したSQLからNoSQLへの移行を想像してみてください...
残りの作業は、WordPressと接続することです-ある種のSQL2NSQLトランスレータ(つまり、上記のこのPDOプラグイン)を介して
興味のある人はいますか?分析/開発に役立ちますか?金融投資?