5

Yii Framework でネイティブ言語、タグ、およびそのようなデータを操作するためのシステムを構築しようとしています。

私はすでにデータの保存に MongoDB を選択しています。MongoDB の方が優れていて、より少ないコストでパフォーマンスが向上すると思うからです (データベースには膨大な量のデータが含まれます)。

ユーザー認証、支払いなどに関する私の質問です。これは機密情報であり、データがリレーショナルであると私が考える領域です。

1. 2 つの異なるデータベース システムを使用しますか? 私はそれらを必要とするべきですか、それとも私はこれを複雑にしていますか? 2. 2 db アプローチをお勧めする場合、Yii でそれを実現するにはどうすればよいですか?

御時間ありがとうございます!

PS: 私は、この質問がリレーショナルと非リレーショナルの人々の間で終わりのない議論になるつもりはありません。そうは言っても、私のデータはモンゴだと思いますが、それについて何か言いたいことがあればどうぞ;)

4

2 に答える 2

9

MongoDBがMySQLと一緒に使用されるOpenSkyのインフラストラクチャに関するこのプレゼンテーションに興味があるかもしれません。Mongoは、主に柔軟なスキーマが役立つCMSタイプのデータに使用され、トランザクション(顧客の注文、支払いなど)をMySQLに依存していました。Doctrineライブラリを使用することになった場合、ORM(SQLデータベース用)とMongoDB ODMが同様のAPIを共有していることがわかります。これにより、実験プロセスが容易になります。

ただし、MongoDBを使用してユーザーデータを保存することを躊躇することはありません。これは、埋め込みドキュメントストレージ(たとえば、単一のユーザードキュメント内に複数の請求/配送先住所を保存する)の恩恵を受けることができるレコードであることが多いためです。どちらかといえば、Mongoは、進化する製品要件によるスキーマの変更を心配することなく、アプリケーションを開発できるように十分な柔軟性を備えている必要があります。これらの要件がより明確になると、アプリのパフォーマンスのニーズと、最終的に必要になるデータベースクエリの種類に基づいて決定を下すことができるようになります。

于 2012-05-18T18:43:47.667 に答える
0

複数のデータベースを使用しても害はありません (本当に必要な場合)。多くの大規模な Web サイトは複数のデータベースを使用しているため、率先してプロジェクトを開始してください。

于 2012-05-18T18:16:44.543 に答える