記憶體中資料庫大PK,Redis VS Tarantool誰是性能最強者?
對於記憶體中資料庫,在Memcached基礎上,Redis改進了持久緩存資料、使用字串以外資料類型以及對資料執行複雜操作等功能。
而Tarantool進一步作出改進,它將可在資料集執行的操作提升到新的水準,並在持久性和索引方面超越Redis,更不用說速度和支援。事實上,基於Tarantool高品質持久性流程,及其用於傳輸和大型資料集的設施,它可有效用於應用程式的唯一資料庫,這是Redis無法完成的功能。
Redis的主要限制是,它無法處理大於其伺服器RAM的資料集。Tarantool提供多種存儲引擎選擇:Memtx,
從技術上來講,Vinyl採用的是被稱為日誌結構合併樹(LSM)的磁片訪問演算法,而不是更常見的B-tree。
Redis和Tarantool都可使用Lua的變體進行腳本化,從而允許在資料集執行複雜的功能。同時,
當然,在比較Tarantool和Redis時,不得不提到其相對輸送量和延遲次數。在單個節點測試中,我們使用Yahoo! Cloud Server Benchmark’s (YCSB) 六個核心工作負載類型--“更新”、“大部分讀取”、“唯讀”、“讀取最新”、“短範圍”以及“讀取-修改-寫入”。
與Redis相比,Tarantool的最大優勢在於,與資料庫管理系統(DBMS)一起,Tarantool運行完整的應用伺服器。該伺服器可單獨運行,它包含Redis完全沒有的整套技術工具。
Tarantool可編排及虛擬化其目標的資料,使資料可更快速地被訪問。向任何企業應用和服務架構添加Tarantool都可減輕集成和擴展的代碼庫,並降低對伺服器和硬體的需求。例如,一台Tarantool伺服器可替代幾十台運行傳統DBMS的伺服器,從而讓你可快速擴展微伺服器和應用程式。