2014-12-10 79 views
6

我想知道如何代表Aerospike中的關係?我意識到這是一個關鍵價值商店,但有沒有可以給出的例子?Aerospike中的關係

例如:如果在系統中有一個用戶,並且我想獲取與該用戶關聯的Thing記錄的列表。

回答

4

夫婦的快速思路:

1-讓每個用戶成爲一個紀錄多箱(一排傳統RDBMS當量),每個容器有「東西」記錄在它的主鍵。您可以找到更多關於Aerospike的數據模型here的詳細信息。如果與用戶關聯的事物數量相當低(通常在100以下),這應該很好。

2-如果您有大量與每個用戶關聯的'物品'記錄,則可以使用類似於LLIST的LDT(大數據類型)。

希望這有助於!

4

單向NoSQL關鍵值存儲與關係思維方式不同的是,多對一關係可以使用列表和映射在同一個表中表示。

例如,如果您的用戶有多個信用卡,其中每個信用卡都是(卡類型,卡的最後4位數,代表卡的處理器的令牌,計費郵政編碼)的元組作爲地圖列表。由於RDBMS模擬原子數據,因此在Aerospike中將數據建模爲複雜數據類型,因此存在兩個表之間表示多對一的JOIN。