2015-12-29 13 views
0

我正在構建一個社交網絡性質的web應用程序。有許多相關的實體,如發佈者,用戶,出版物,帖子,評論;與訂閱,喜歡,分享,評論,朋友,關注,工作,作者等關係。還像往常一樣,有些實體的內容是出版物,帖子,評論的內容。將圖形節點的內容/參考存儲在圖形上db

出版物和帖子與經典社交帖子類似,就像具有多個文本或一個媒體文件的經典社交帖子。出版物,帖子和評論將不斷增加,並將達到很高的數量。

我打算使用Cayley db可能依賴於Postgresql。

我描述entitites的關係至今完整的元組是這樣:

publisher -publish- publication 
user -subscribe- publisher 
user -comment- publication 
user -like- publication 
user -share- publication 

user -post- post 
user -friend- user 
user -comment- post 
user -like- post 
user -share- post 

publisher -follow- publisher 

user -work- publisher 
user -author- publication 

的問題是:

在哪裏存儲我的文章/評論,這些評論也紛紛內容,如一對多文本字段和媒體文件,並且會被用戶喜歡,共享和評論?

我是否應該在圖形數據庫中存儲帖子/評論,如果是這樣,我應該存儲內容還是僅存儲參考並將內容存儲在另一個數據庫,表格或文檔中?關於這些實體的數量會達到很多。

+0

圖像和視頻應該存儲在CDN而不是數據庫中。 –

+0

我需要在家裏做,現在也許。關於帖子的文章和評論怎麼樣? –

+0

也許應該在da.se上提問。 –

回答

0

偶然發現了這個未解決的問題,我想盡量回答以備日後參考。

當然,這完全取決於您的實施和要求。 您可以在Cayley中存儲的評論,但我會將圖片/視頻或其他媒體放在其中。只需將URI存儲到特定資源或另一個數據存儲中的對象的UUID即可。

也可作評論;您可以將用於註釋的UUID/ID存儲在您的graphdb中,並將實際的註釋存儲在Postgres中,甚至存儲在磁盤上的文件中(僅作爲示例)。

我個人更喜歡保持我的graphdb儘可能小,並將實際內容存儲在不同的存儲中。