私は現在、VMに存在しなければならないウェブサイトで非常に低いメモリ可用性を使用しています(現時点では512MBを期待するように言われています)。残念ながら、少なくとも近い将来、データベースとWebアプリケーションは同じサーバーでなければなりません。
ここで、いくつかの質問を読み、自分で調査を試みましたが、選択できるオプションは非常にたくさんあります。基本的に、私がインストールできるほど軽量なデータベースサーバーは何ですか? SQLとNoSQLのどちらも重要ではありません。データベースに負荷がかかることはありませんが、私が今選択するものに制約されないようにしたいと思います。可能であれば、マルチサーバースケーリングへの道は素晴らしいですが、この段階では明らかに要件ではありません。
私の現在の考えはMongoDBまたはMySQLのいずれかですが、それらが最良の選択であるかどうかはわかりません。
私のWebアプリケーションはnginxでPHPを使用して実行しています)これは今のところ最良の選択だと思うので、私の主な懸念はデータベース側です。
最軽量のデータベースが必要な場合-weightデータベース sqlite と言います。それはこのタスクのために設計された目的です 小さくて速い 、そして私の経験では信頼できて使いやすいです。
私自身はphpを使用していませんが、 ここにサポート があるようです。
sqliteは、ほとんどの「標準」SQLをサポートしていますが、型を強制しない点が異なります。列をテキストとして定義できますが、必要に応じて整数値を格納および取得できます。実際には大した問題ではなく、この「機能」を使用しない限り、問題なく大規模なデータベースに将来切り替えることができます。
しかし、実際には、それはすでにインストールされており、利用可能である可能性があるため、mysqlから始めます。メモリ使用に問題がある場合は、sqliteに切り替えます。しかし、シンプルでフリルのないデータベースの場合は、mysqlから始めることもできます。
リレーショナルデータベースとドキュメント指向データベースのどちらを選択するかは、特定のアプリケーションのデータストレージニーズに焦点を当てることが最適です。リレーショナルデータベースにより適したアプリケーションがMongoDBなどのドキュメント指向のデータベースの上に作成された場合、効率が低下し、より多くのリソースが消費されます。
ご覧になりました OrientDB ?
OrientDBは、ドキュメントデータベースの柔軟性と、関係を管理するグラフデータベースの能力を備えています。スキーマレスモード、スキーマフルモード、または両方の組み合わせで機能します。 ACIDトランザクション、高速インデックス、ネイティブクエリ、SQLクエリなどの高度な機能をサポートします。ドキュメントをJSONでインポートおよびエクスポートします。