2015-04-01 16 views

回答

1

首先,一個關鍵值是它是最簡單的索引/關聯數據形式之一,它可能是最快的。圖表數據庫也很快,但他們並沒有考慮到他們的速度,但更多的是他們管理複雜關係的能力。他們碰巧在設計上很快,因爲那是他們設計的目的。但是,嘗試在傳統RDBMS中執行與通常在圖形數據庫中相同的操作,並且在縮短和在合理的時間內執行這些操作時可能會遇到問題。

真正歸結到哪種技術最適合手頭的工作。如果你正在存儲會話數據,那麼我不會看到你如何從圖形數據庫中受益。雖然如果你由於某種原因需要關聯用戶,組等,它可能會更有意義,但我仍然認爲,除非你的關係符合圖結構,否則你不會真正從圖數據庫中受益。此外,使用redis,您可以根據自己的需求實際定義自己的索引,但如果關係變得太複雜,它可能會變得難以企及。那時候我會考慮其他選擇。但是,如果您只是存儲簡單會話數據,那麼除了鍵值存儲之外,我沒有看到任何理由使用其他任何內容。它可能會更快,更容易實現,因爲它實際上是爲此設計的。

另外,我看不到像memcached或redis這樣的鍵值數據庫「太慢」。如果你的意圖是優化,我認爲你是一個過早的決定。

+0

唯一的原因是我已經在我的項目中使用了orient db。我想也許我只能使用orientdb而不是「redis + orientdb」,會話數據庫中將沒有圖形特性。我想也許我可以使用內存數據庫進行會話存儲,如果沒有問題 – 2015-04-02 22:09:55

+0

我沒有使用OrientDB,但您可能仍然需要託管另一個OrientDB服務器設置爲使用內存作爲您的存儲介質。所以你只是真的避免包含另一個依賴。儘管使用OrientDB並不是會話存儲的可怕選擇,但它看起來並不理想。 Redis將具有較低的內存開銷,更好的內存管理,並且可能會更快,因爲它使用hashmaps /鍵值類型索引,並在C中開發。 – tsturzl 2015-04-04 19:59:33

相關問題