簡體   English   中英

ROLAP柱狀數據庫

[英]ROLAP columnar Database

我們有一個非常簡單的用例,但是很難選擇最適合我們需求的數據庫解決方案。

要求:

一個OLAP數據庫,它使我們可以按不同的屬性(千個)查詢數百萬條記錄,並且可以保存一個主鍵。 此外,在上傳數據時必須一定要快。

用例:

我們有一個用戶數據庫,每個用戶都屬於不同的屬性。 最多有1萬個屬性,但是大多數用戶每個屬性少於30個。

表格示例:

用戶/屬性

用戶1 / 1,5,10

用戶2 / 7,5,9,24,42,1090

用戶3/9

用戶4 / 98,1049,2000

理想的情況是擁有一個列式存儲數據庫,其中每個屬性都是一列,並且該數據庫允許超過1萬個屬性。

Monetdb恰好適合我們,但存在兩個非常關鍵的缺點:

  • 批量負載非常低,在我們的測試中,每條記錄上傳給我們5ms。 上傳1M記錄需要一個多小時,這非常慢。
  • 在重復的主鍵上批量加載失敗(我們希望在“在重復的鍵上”更新該屬性值,但是使用此數據庫是不可能的)。

我們也曾考慮過德魯伊,但更多是“事件”驅動的。 您需要為每個屬性添加時提供時間戳。 還沒有排除它,但是它並不是我們所需要的完美選擇。

如果需要,我可以提供更多解釋,我們將不勝感激!

謝謝

目前尚不清楚如何批量加載到數據庫中。 在普通的4core台式機和16G RAM上,在100列和125M行的表上進行簡單的COPY INTO大約不會花費超過半小時的時間。 參見例如http://homepages.cwi.nl/~mk/ontimeReport

請注意,引入10K列會導致為每個用戶設置所有值。 您可能會重新考慮數據庫設計,並更多地依賴於user:property表設置。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM