Tarantool/Box(或者簡(jiǎn)稱為Tarantool)是一種高效的鍵/值存儲(chǔ)服務(wù)。代碼在BSD授權(quán)下將免費(fèi)提供。
該服務(wù)采取隨機(jī)存取內(nèi)存中的數(shù)據(jù)方式,因此可以快速的響應(yīng)讀取請(qǐng)求,與此同時(shí),此數(shù)據(jù)的副本將會(huì)保存在硬盤中。
為了保證原子性和一致性,數(shù)據(jù)將通過(guò)預(yù)寫日志進(jìn)行記錄,即使任何修改完成之前也將在記錄在預(yù)寫式日志。
但是當(dāng)更新、刪除請(qǐng)求非常頻繁時(shí),將導(dǎo)致預(yù)寫日志文件快速增長(zhǎng),并增加日志寫入的時(shí)間。這時(shí)可采用一個(gè)簡(jiǎn)單的解決方案:要求服務(wù)器保存當(dāng)前數(shù)據(jù)精簡(jiǎn)快照。底層操作系統(tǒng)支持“寫時(shí)復(fù)制”功能,可以最小限度的影響服務(wù)器的性能。
Tarantool支持?jǐn)?shù)據(jù)備份。數(shù)據(jù)副本可以在本地或遠(yuǎn)程主機(jī)上運(yùn)行。 Tarantool數(shù)據(jù)備份是異步的,并不會(huì)阻止在主機(jī)上寫入。當(dāng)主機(jī)出現(xiàn)故障時(shí),副本可以承擔(dān)主機(jī)的角色。
總之,Tarantool/Box是高度彈性和可訪問(wèn)性的Web數(shù)據(jù)服務(wù)商。通過(guò)Tarantool,一臺(tái)服務(wù)器可以輕松處理每秒數(shù)十甚至數(shù)十萬(wàn)的請(qǐng)求。數(shù)據(jù)快照可以在web用戶活躍度最低的時(shí)間段完成,這樣可以最低限度的影響服務(wù)器性能。(編譯/包研)