2016-07-05 67 views
0

Java Berkeley DB在我的系統中用於存儲持久數據。Java Berkeley DB對於併發讀取有上限嗎?

由於我有大量的數據要加載,我試圖用一些線程來做到這一點。當線程數很少時,例如10,它工作正常。然而,當它被設置爲較高的值時,例如30,讀取過程就卡住了。它看起來像Java Berkeley DB有一個併發讀取的上限?我對嗎?我將如何更新限制?

回答

0

你說...「是加載?」

呃嗯,以爲你做到了!

因此,您所說的線程是而不是「閱讀」線程:它們是「寫入」線程!

而且,猜猜看:他們是互相競爭,猜猜他們在輸什麼!

不幸的是,你通過使用線程來加快速度的「嘗試」是(恕我直言......)「真誠但誤導了我。最終,Berkely DB是「一個單一的磁盤數據結構」,所以有通過使用多線程來加速進程的機會。

雖然其他各種策略可能會起作用。例如,您可能會發現,如果您通過某個適當的外部命令插入要記錄的記錄,那麼插入這些記錄的過程可能會更快地變得有用(很多?)(很多?)。 」足夠的速度差異,換句話說,超過(!)彌補了分類花費的時間。 (但是,只有一種方法可以確定您的的情況是否屬實:「基準測試,您使用的實際數據,您的實際排序命令等等)」