Timesten作為一款純內存數據庫,由于比常規(guī)意義的數據庫快10倍,在被Oracle收購前,主要用于交易非常高的場合,如交易撮合、電子商務等。在被Oracle收購后,理所當然要配合Oracle數據庫使用。昨天上午參加了Oracle 11g的一個研討會,終于清楚了Timesten的主要使用場景。
Timesten為什么能比普通的數據庫快10倍,主要是兩個原因。(1)由于所有數據全部在內存,不需要從硬盤上取數據,當然速度大大加快。(2)應用和Timesten之間可以在同一臺機器上直接訪問,不需要通過網絡TCP/IP。同時,由于Timesten全部數據在內存中,一定要和常規(guī)數據庫配合,最終把數據變化寫回常規(guī)數據庫,把數據永久保留在磁盤上。Oracle是用Trigger方式來保持Oracle數據和Timesten數據一致的,當然Trigger是很消耗資源的,必須合理使用。
明白了上述的幾點,就可以明白Timesten的主要場景或使用方法。Timesten最好和Application server如Weblogic裝在同一臺服務器上,讓APP server本機直接訪問Timesten,以獲得最佳性能。Timesten啟動后,將Oracle數據中的常用表同步到Timesten中,APP Server要訪問這些數據時,直接從Timesten中獲得。比如電子商務中的產品SKU、價格、其他特性等。每一臺中間件服務器上都裝APP Server和Timesten,由于只讀,各機器中的Timesten互相獨立,互不影響。利用這種價格,可以大規(guī)模地擴展架構,提升交易的并發(fā)性。Sybase的ASE Server在11版時,就可以在數據庫內存中專門配置特定cache來綁定某些熱點數據表,而不會由于內存不足而又要從硬盤訪問大量數據時,將這些熱點數據swap回硬盤,原理和Timesten的這種使用方式是一致的。不過當時的硬件技術不像現在,服務器可以輕易達到512G~幾TB內存,所以能綁定的數據表容量是有限的,限制了應用的使用。不過即使到現在,這種用法和Timesten比起來還是要慢一些的,因為APP Server還是要訪問DB Server內存的數據,還是要通過網絡TCP/IP的。
關鍵詞標簽:Oracle,Timesten
相關閱讀
熱門文章 Oracle中使用alter table來增加,刪除,修改列的語法 oracle中使用SQL語句修改字段類型-oracle修改SQL語句案例 誤刪Oracle數據庫實例的控制文件 為UNIX服務器設置Oracle全文檢索
人氣排行 oracle中使用SQL語句修改字段類型-oracle修改SQL語句案例 Oracle中使用alter table來增加,刪除,修改列的語法 ORACLE SQL 判斷字符串是否為數字的語句 ORACLE和SQL語法區(qū)別歸納(1) oracle grant 授權語句 ORACLE修改IP地址后如何能夠使用 如何加速Oracle大批量數據處理 Oracle刪除表的幾種方法