私は e コマース サイトを構築する予定であり、アプリケーションの計画にうまく適合する SQL を使用しないデータベースを使用したいと考えています。しかし、どのデータベースが仕事に適しているかについては、よくわかりません。さまざまな DB を比較した結果、最適と思われるのは mongo、couch、または orientdb のいずれかである可能性があります。MySQLのようなものと比較して、それらすべてが使用されているか使用されていないかについての議論を見てきました。しかし、それらの間 (nosql データベース) のうち、どれが e コマース ソリューションに適しているでしょうか?
ユースケースでは、1秒間に数千のトランザクションが発生しないことに注意してください。または同様に高い書き込み速度。それらは中程度の確かさですが、確立されたデータベースが処理できるレベルです。
CouchDB: マスターからマスターへのレプリケーションがあり、実際に使用できます。そうでない場合でも、コードに同じ機能を実装する必要があります。ユーザーデータベースを作成し、マザーシップと同期できるようにする必要があります。(ユーザーは、メイン ドメイン サーバーと同期できる独自の、場合によっては localhost データベースを持ちます)。クエリが db に格納されると、Couch も高速になります。おそらく、読み取りパフォーマンスの必要性が高くなるからです。たくさんではありませんが。
MongoDB: クエリは非常に簡単でユーザー フレンドリーです。また、エンド ユーザーが特定の時間に特定のことをクエリする必要がある場合があるため、事前に説明できない場合があるため、これの方が適しているように思えます。クエリをデータベースに事前に保存する必要はありません。アトミック トランザクションをサポートしますが、一度に 1 つのドキュメントに書き込む場合のみです。
OrientDB: グラフ データベース。ほとんどの人が慣れ親しんでいるものとは大きく異なりますが、ニーズがあれば、それも非常にうまく適合する可能性があります。Orient には、ACID トランザクションをサポートするだけでなく、スキーマレスであるという利点があります。グラフ データベースが最適な顧客や製品との関係は数多くあります。Orient は、couchdb と同様に、マスターからマスターへのレプリケーションもサポートしています。
誤解しないでください。MySQL のようなものを使用してこれを伝統的に構築する方法はわかりますが、nosql ソリューションの使いやすさとシンプルさは非常に魅力的です。私の場合、スキーマレス ソリューションが必要ですが、mysql よりも nosql の方がはるかに簡単です。特定の製品には、別の製品よりも多くのまたは少ないアイテムが含まれる場合があります。また、新しいフィールドが追加されるたびにテーブルを再作成しないようにすることをお勧めします。
では、これら 3 つ (またはあなたがより優れていると思われる他の機能) のうち、顧客トランザクションを処理する際に、e コマース ベースのサイトに関して、それぞれのどの機能が有利に働く可能性がありますか?
編集:私が既存のソリューションを使用していない理由は、必要な統合機能を備えているため、利用可能なソリューションがないためです。また、これを当社のフルプロダクトとして活用することも目指しています。販売だけでなく、他にもいくつかの統合があります。また、店舗のPOSシステムと連携する予定です。