面向金融應用程序的eXtremeDB內存數據庫系統
金融系統:數據庫挑戰
本文引用地址:http://dyxdggzs.com/article/127732.htm 實(shí)時(shí)數據庫系統能夠為算法交易和其他時(shí)間敏感型金融應用程序奠定可靠、低延遲的基礎。
實(shí)時(shí)交易系統處理的數據量持續攀升。資本市場(chǎng)技術(shù)的成功取決于能否立即響應價(jià)格變化、進(jìn)行實(shí)時(shí)分析、以有意義的方式整合信息并且執行其他實(shí)時(shí)任務(wù)。反過(guò)來(lái),這些能力十分依賴(lài)于應用程序管理數據的底層方法。但是,傳統的關(guān)系數據庫管理系統(RDBMS)通常無(wú)法實(shí)現所需的速度和靈活性。
因此,金融領(lǐng)域的開(kāi)發(fā)人員紛紛轉而采用McObject的eXtremeDB內存數據庫系統(IMDS),這款數據庫系統會(huì )成為應用程序性能的加速器而不是瓶頸。eXtremeDB的獨特架構能夠“通過(guò)設計降低”數據庫延遲并且最大限度地提高系統響應能力和可預測性。憑借富有競爭力的特性集(包括SQL、集群以及支持超大型數據庫),eXtremeDB是在多種金融應用程序中實(shí)現快速、高效、可靠的數據管理的理想之選。
旨在消除延遲高峰
系統延遲可能會(huì )導致交易成功與否截然不同的結果。eXtremeDB的設計基于核心內存數據庫系統,能夠消除顯著(zhù)占用性能的I/O、緩存邏輯、進(jìn)程間通信,并且將其他造成延遲的原因都在傳統RDBMS中通過(guò)“硬件實(shí)現”。eXtremeDB的執行路徑非常短:約150K的代碼長(cháng)度表明了McObject對消除無(wú)關(guān)流程以及對微小的潛在延遲原因的鍥而不舍的專(zhuān)注。
進(jìn)程內架構幫助eXtremeDB實(shí)現了卓越的運行速度。該數據庫系統能夠完全在應用程序進(jìn)程中運行,消除了客戶(hù)端和服務(wù)器模塊之間的進(jìn)程間通信(IPC)。相比之下,IPC消息是RDBMS以及一些基于客戶(hù)端/服務(wù)器設計的內存數據庫系統造成延遲的固有原因。
精密數據管理
eXtremeDB是實(shí)時(shí)金融應用程序中具有低延遲、高可靠性的數據庫系統
eXtremeDB支持標準SQL,同時(shí)開(kāi)發(fā)人員也可以使用本機C/C++ API來(lái)獲得更高的運行速度和可預測性。此外,eXtremeDB還支持將記錄直接存儲為C/C++的數據類(lèi)型(例如結構體、向量和數組等),從而消除轉化為SQL數據類(lèi)型的開(kāi)銷(xiāo)。憑借上述以及其他因素,eXtremeDB能夠實(shí)現超低延遲的數據排序、檢索和存儲,從而使金融系統開(kāi)發(fā)人員能夠滿(mǎn)足重要的性能目標,例如在算法交易應用程序中實(shí)現低于毫秒水平的訂單處理。
實(shí)現可靠性和靈活性的工具
構建在核心內存數據庫引擎上,McObject的eXtremeDB產(chǎn)品系列可以提供專(zhuān)門(mén)的版本和先進(jìn)的特性來(lái)應對實(shí)時(shí)金融軟件面臨的數據管理挑戰。開(kāi)發(fā)人員可以選擇使用本機C/C++ API或者支持行業(yè)標準的SQL ODBC接口(eXtremeSQL)。他們還可以在應用程序中組合使用這些API,利用本機接口編寫(xiě)時(shí)間敏感型代碼,而在要求高級訪(fǎng)問(wèn)以及與符合ODBC標準的外部系統進(jìn)行互操作時(shí)使用eXtremeSQL。此外,eXtremeDB還提供了本機Java和C# API,全面支持開(kāi)發(fā)人員使用以上述語(yǔ)言編寫(xiě)的“簡(jiǎn)單”對象(無(wú)需外部數據庫定義)。
卓越的可擴展性
eXtremeDB處于IMDS可擴展性發(fā)展的前沿,可提供豐富的特性來(lái)最大限度地提高吞吐量并且充分利用多核CPU:
64位支持(eXtremeDB-64)支持內存數據庫擴展到TB級大小
eXtremeDB混合版的磁盤(pán)數據庫大小只受可用的文件系統空間限制(32位或64位實(shí)施方案)
可選的多版本并發(fā)控制(MVCC)事務(wù)管理器可消除“悲觀(guān)”鎖,從而為多核硬件上運行的多線(xiàn)程應用程序實(shí)現加速
eXtremeDB Cluster可將數據庫處理分散到多個(gè)硬件節點(diǎn),從而同時(shí)利用多個(gè)CPU的處理能力
大規模內存數據庫的速度有多快?在第一個(gè)RAM超過(guò)1 TB的IMDS基準測試中,eXtremeDB-64在從一個(gè)核心擴展到160個(gè)核心的過(guò)程中實(shí)現了接近線(xiàn)性的性能提升,每秒可以處理超過(guò)8700萬(wàn)個(gè)查詢(xún)事務(wù)。
應用領(lǐng)域
經(jīng)紀人前臺系統、算法交易、套利、星空圖、風(fēng)險管理、交易所貿易平臺、投資組合管理、分析庫、基金管理。
其他特性和優(yōu)勢
? 事件通知在數據庫發(fā)生某種感興趣的變化時(shí)“通知”應用程序
開(kāi)放式復制:eXtremeDB數據中轉技術(shù)可幫助在基于eXtremeDB的實(shí)時(shí)應用程序和企業(yè)級RDBMS等外部系統之間對選擇的數據實(shí)現共享。
安全性:頁(yè)面級循環(huán)冗余校驗(CRC)可檢測到未經(jīng)授權的更改以及RC4加密塊篡改。
eXtremeDB混合版的緩存優(yōu)先級使應用程序能夠影響特定頁(yè)面在緩存中保留的時(shí)間,從而加快處理時(shí)間敏感型任務(wù)。
eXtremeDB采用類(lèi)型安全的本機C/C++ API。在編譯過(guò)程中捕捉到數據類(lèi)型錯誤,從而消除運行時(shí)錯誤的可能來(lái)源。
? 數據庫條帶化/鏡像:eXtremeDB混合版可以利用多硬盤(pán)(固態(tài)硬盤(pán)或spinning磁盤(pán))配置,并且支持與RAID類(lèi)似的數據條帶化和鏡像。
查詢(xún)方法包括B-樹(shù)、KD-樹(shù)、R-樹(shù)、Patricia Trie、哈希表和自定義索引。
? 源代碼和目標代碼許可可用。
經(jīng)過(guò)行業(yè)測試的解決方案——基于eXtremeDB的資本市場(chǎng)技術(shù)包括經(jīng)紀人前臺系統和算法交易解決方案、交易所貿易平臺、星空圖和風(fēng)險管理等。
定制排序規則,為文本指定字符排序序列(排序規則),其中包括支持多種語(yǔ)言的排序規則模式搜索。使用通配符搜索樹(shù)索引項,匹配單個(gè)或多個(gè)字符。
支持的架構
32位、64位、x86、x64、SPARC、Itanium、PowerPC等。
支持的操作系統
HP-UX、Sun Solaris、Windows、Linux等。
能否消除系統延遲可能會(huì )導致交易成功與否截然不同的結果。
c++相關(guān)文章:c++教程
評論