2014-10-10 118 views
0

如果我們將所有業務邏輯(遷移的存儲過程)放入數據庫中,我們正在從Oracle遷移到VoltDB?這是最佳性能的最佳做法嗎?從Oracle遷移到VoltDB

+0

嗨奇拉,我們想談談你的項目,並提供更具體的指導。請通過[email protected]與我們聯繫。 – BenjaminBallard 2014-10-10 13:57:10

回答

1

我在VoltDB工作。對於你的問題沒有一個正確的答案,它取決於特定的模式和程序,但是我可以解釋一些關於VoltDB中的存儲過程以及與Oracle的不同之處。首先,VoltDB不是像Oracle這樣的通用數據庫,而是專爲OLTP和「快速數據」工作負載提供高性能和可擴展性而設計的。通常情況下,這些工作負載涉及一小部分記錄上的離散事務,但速度爲每秒數千到數百萬。用例包括對快速移動的數據集提供實時分析,轉換和豐富流數據,以及提供低延遲響應,這些響應往往涉及高規模交互式應用程序的數據驅動決策。

VoltDB中的過程通常專注於將原子更改應用於小型記錄集,並且它們通常用於實時執行事件驅動的更改,或者批量運行批量過程,就像您經常看到的那樣甲骨文。 VoltDB自動爲現在包括UPSERT的模式中的每個表生成CRUD樣式的過程。您可以在DDL中聲明單個SQL語句過程。包含多個SQL語句和控制流邏輯的過程被編寫爲在數據庫上運行的簡單Java類。 VoltDB還支持使用本機語言客戶端庫或JDBC或ODBC驅動程序或通過嵌入式HTTP-JSON接口直接從客戶端發送的Ad-Hoc SQL語句(兼容ANSI SQL-92)。

如果Oracle中的存儲過程用於OLTP操作,那麼它們可能會直接轉換爲VoltDB過程。如果他們對批量數據執行批量操作,那麼通常這些過程可能會重新設計爲事件驅動的實時過程,這些過程會逐漸產生相同的結果。如果他們仍然需要作爲一個長期運行的批處理來完成,他們通常會被分解成由客戶進程驅動的更獨立的更獨立的程序。