1

複数のユーザーを持つ Laravel 4 で、それぞれにプロファイルを持つ Web アプリケーションを開発しています。これらのプロファイルには、日付などの異なる変数がある場合とない場合があります。EAV設計を含め、この問題に対するいくつかの RDBMS ソリューションを見てきましたが、この方法はパフォーマンスとコードの両方の点で非常に高価であるため、破棄しました。 .

もう 1 つのオプションは、多くの列を持つ巨大なテーブルを作成することでしたが、30 個の null フィールドを持つユーザーを持つことはほとんど役に立たないため、これも破棄しました。

そのため、NoSQL を使用することを考えていましたが、スケーラビリティとマスター マスター レプリケーションのために CouchDB に行き着きました。いくつかの DBaaS を調べたところ、Cloudant が非常に興味深いことがわかりました。本当の問題は次のとおりです。それは本当に私の場合のオプションですか (ユーザーごとに異なる変数を持つプロファイルを持つユーザーを持っています)? それとも、RDBMS (MySQL) で実行できますか? また、3層アプリでLaravelでCouchDBを使用するにはどうすればよいですか? ユーザーがデータベースのどちらの機能にもアクセスできないようにしたくありません。これまでのところ、サーバー側で CouchDB を使用することが最善の選択肢だと思います。間違っている場合は修正してください。

4

1 に答える 1

2

CouchDB や MongoDB などのドキュメント指向データベースがリレーショナル データベースよりも優れている典型的なケースは、あなたのような不均一なデータです。

CouchDB は公開され、クライアントから直接アクセスできるように構成できますが (CouchDB だけで提供される Web アプリケーション全体の概念実証さえあります)、これは実際には非常にまれです。通常のシナリオでは、PHP、JSP、ASP などのサーバー側の Web テクノロジを実行する Web サーバーによって使用される非表示のバックエンド サービスとして CouchDB を使用します。

于 2013-05-23T13:17:20.060 に答える