2012-02-15 43 views
0

我們有一個解決方案,它跨越幾個Sybase DB服務器在全局範圍內傳播,並由Oracle Coherence緩存驅動。接受數據庫寫入速度比數據庫實際寫入更快

現在,我們需要支持「緩存速度寫入」,但由於我們的數據庫具有國際複製的性質,因此我們需要接受比數據庫實際寫入數據更快的DB持久數據,您可能大家都同意是一個相當大的問題

因此,我想知道應對這種情況的建議方法是什麼。

點注意事項:

  • 沒有限制
  • 有根據使用情況統計拆分多個碎片

回答

0

我決定在一些較大和更頻繁訪問的表上使用水平分區,這是Sybase ASE 15+本機支持的功能,對客戶端應用程序是透明的。

0

一種方法來考慮:

DB可能會潛在地寫慢如果您正在寫入一個讀取優化的數據庫或表格,則需要比您需要的更多。可能會涉及到很多約束和索引,並且很多時候「浪費」了讓他們檢查和重新計算。

您可能想要考慮使用適當的寫入優化存儲引擎並且沒有索引的單獨模式或一組表。這裏可能會有很大的性能提升。

然後會有另一個進程將數據從寫入優化轉換爲讀取優化(永久)模式。從本質上講,如果一個同步進程遇到限制,可以通過引入節流和/或隊列機制將其分成多個異步進程。

+0

感謝您的反饋......數據庫實際上更像是一個'桶',因爲在這個數據庫(主鍵除外)上幾乎沒有約束和索引,並且它也已經分割到多個數據庫中。我們考慮的一種方法是寫一個臨時隊列(如你所說)存儲在一個高速RAID,但我不覺得這個優雅,並想知道替代品是什麼。 – 2012-02-15 20:54:42