2010-10-01 19 views
2

我正在尋找一個對集合操作(​​更具體地說:工會)具有良好支持的數據庫。對數據庫的建議對集合操作有很好的支持

我想要的是可以存儲一組短字符串並計算這些集合的聯合的東西。例如,我想將A,B和C添加到一個集合中,然後將D和A添加到另一個集合中,然後獲得這些集合的聯合的基數(4),但是放大了一百萬次左右。

這些值是12個字符的字符串,設置的大小範圍從單個元素到數百萬個。

我已經嘗試過使用Redis,除了對於大量數據而言,它對於基於內存的某些內容來說很棘手,它在各方面都非常棒。我試過使用虛擬機功能,但這使得它使用更多的內存,它更適合大值,我有小的值(所以說在Redis郵件列表上有幫助的人)。儘管如此,陪審團仍然沒有結果,我可能會開始工作。

我也已經在關係數據庫上實現了它的草圖,這可能會起作用,但我要求的是我不需要破解的東西。 Redis會是一個很好的答案,但正如我上面提到的,我已經嘗試過了。

我的當前基於Redis的實現或多或少像這樣:我解析日誌文件,併爲每一行提取一個API密鑰,一個用戶ID和一些屬性的值,如站點域,時間一天,我等再製定一個鍵,看起來有點像這樣(每行導致許多按鍵,每一個屬性):

APIKEY:20101001:site_domain:stackoverflow.com 

的關鍵點,以一組,而這一套我添加用戶名。當我已經解析了所有的日誌文件,我想知道唯一的用戶ID的總數在所有時間的屬性,所以我問Redis的相匹配

APIKEY:*:site_domain:stackoverflow.com 

是所有鍵的聯合的基數除了Redis之外,還有一個對這個用例有很好支持的數據庫?

回答