記憶體資料庫的產品演化

2021-07-22 16:31:09 字數 1096 閱讀 6739

記憶體資料庫產品是把資料放在記憶體中,實現高效讀寫,目前是傳統的關係型資料庫的有效補充。在此我以產品演化的視角簡單總結一下我所理解的記憶體資料庫發展歷史,目的是理解記憶體資料庫產品的發展趨勢,不恰當的地方請讀者指正。

一、關聯式資料庫快取--記憶體資料庫的雛形

適用於對吞吐量和響應時間要求不高的企業級應用。

代表產品:oracle、mysql等主流關聯式資料庫快取。

關聯式資料庫設計之初就包含了快取的設計,即將最近從資料庫訪問的資料儲存在快取中,根據最近最久未使用(lru)演算法,在有限的記憶體情況下,保留常用的資料在快取中,提高快取的利用率,最終盡可能的提高關聯式資料庫的吞吐量,但作用有限。

這種設計沿用至今,並不斷被優化。

二、關係型記憶體資料庫--關係型資料庫的進化產品

適用於高事務性,高吞吐量,實時性要求高,要求關係型資料處理的場景。

代表產品:timesten記憶體資料庫(2023年被oracle公司收購)。

times ten

官方定義

將資料放在記憶體中,關係型資料庫。

timesten優點:

高事務吞吐量,支援標準sql語句查詢,可持久化,可恢復到記憶體,高可用性,無資料丟失。

有商業公司支援,技術響應速度快,可以和oracle資料庫通訊,作為oracle資料庫的快取使用。

timesten缺點:

不開源,**昂貴。

三、nosql資料庫--關係型資料庫之外的擴充套件

適用於併發訪問量大、響應速度要求較高的,資料結構關係不複雜,允許kv方式儲存資料的場景。

代表產品:redis,memcache等kv資料庫。

將資料儲存於記憶體,可以定時持久化到磁碟。列式儲存結構,壓縮比大,能夠提供比關聯式資料庫更高效的讀寫訪問、分頁等需求;但事務性弱,不支援acdi,不能儲存複雜的關係型資料,不善於複雜條件查詢。

適合做關聯式資料庫的簡單結構的資料快取,以及部落格、論壇等業務邏輯不複雜的資料儲存。

預想未來,由於記憶體**越來越低廉,網際網路產品對大併發、高響應速度的需求,記憶體資料庫會大行其道。將會有越來越多的關係型記憶體資料庫開源產品出現。

資料庫優化的演化

很多人第一反應是各種切分 我給的順序是 第一優化你的sql和索引 第二加快取,memcached,redis 第三以上都做了後,還是慢,就做主從複製或主主複製,讀寫分離,可以在應用層做,效率高,也可以用三方工具,第三方工具推薦360的atlas,其它的要麼效率不高,要麼沒人維護 第四如果以上都做了還...

資料庫產品排名

01 資料庫排名 db engines排名一定準確?可以看到上面這份排名和以往看到的db engines排名不太一樣,名單中資料庫整體數量較少,這裡列出了50個資料庫產品,同時對國產資料庫多了較為詳細的排名,這份排名來自墨天輪2019年9月4日16 05的統計。一直以來db engines是dba較...

雲位址資料庫產品

位址管理常見問題 業務系統中部分客戶位址不精確 無法直接提供業務支撐 海量在庫位址資料 較多的不規則位址 給位址的管理與再利用造成巨 大的困難 出於各種原因 使用者提供的位址資料不準確 中國地域廣闊 位址系統層次多 結構複雜 並且不規範 農村城市化 城市市政建設 新建小區 諸多原因造成位址系統自身變...