2016-10-12 3 views
0

私は好きなエンティティ(写真、コメント、ユーザーなど)をサポートするLike Serviceを構築したいとします。リストには制限がありません。私はこの問題に自信を持っていません。私の質問は以下の通りです:サービスデータベース組織のように

1)私のニーズにどのようにリレーショナルデータベースエンジンが必要ですか? like_id(like_id、like_id、video_id)ここで、ピボット・テーブルのlike_idフィールドは、参照する外部キーです。(like_id、user_id)、複数のピボット・エンティティ好きなユーザーやタイムスタンプなどの可能性のある他の情報を識別できるような共通のテーブル2)この目的のために、何らかの種類のnosqlデータベースを使用していますか(nosqlを全く経験していませんか? NoSQLのデータベース)

答えて

0

あなたは非常に少ない上に行くために私たちに与えている - - と、この質問は、議論や意見に降りて

2.1)は、それが可能信頼性の高いクロスデータベース参照(RMDBSを持つことです。

しかし、私はそれをやってみるよ - あなたが提供する非常に少ない情報に基づいて...

をあなたがしなければならないすべては作成、読み取り、更新して、オブジェクトのようなものは、ユーザー、実際に削除された場合はい、リレーショナルデータベースは単なるチケットです。

users 
---------- 
userID 
.... 


Objects 
---------- 
objectID 
URL 
objectType 
.... 


Likes 
---------- 
UserID 
ObjectID 

「オブジェクト」に関する詳細情報を保存する必要があります。多変量のデータ型を格納する必要がある場合は、問題のあるリレーショナル・データベースがうまくいかない場所に移動します。あなたはGoogleのことができます(私はそれについていくつかの質問を見て答えました)。

NoSQLがここで「より良い」かどうかは、サポートしたいユースケースに完全に従います。より多くの文脈を提供する必要があります。

+0

お返事ありがとうございます!より概念的な質問だったが、これはおそらく間違った場所である。とにかく、コンテキストはLaravel/MySqlベースのアプリケーションです。コンテンツ(投稿、コメント、写真、ビデオ)を保持するテーブルがいくつかありますが、基本的に好きな機能を提供する別個のサービスが必要です。関連情報とともに好き嫌いをサポートする任意のオブジェクト/オブジェクトのコレクションの好きなものをすばやく抽出できる必要があります。また、好きなものに関するデータを集計して統計を計算できる必要があります。申し訳ありませんが、このメッセージが何かを明確にするかどうかはわかりません。 – Sergey