常用開源NoSQL原理與應(yīng)用_第1頁
常用開源NoSQL原理與應(yīng)用_第2頁
常用開源NoSQL原理與應(yīng)用_第3頁
常用開源NoSQL原理與應(yīng)用_第4頁
常用開源NoSQL原理與應(yīng)用_第5頁
已閱讀5頁,還剩30頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

常用開源 NoSQL原理與應(yīng)用 Agenda 深入理解 Redis Hash算法數(shù)據(jù)庫介紹 LSM算法數(shù)據(jù)庫介紹 HandlerSocket介紹 分布式數(shù)據(jù)庫介紹 Why NoSQL? 關(guān)系數(shù)據(jù)庫的問題 大數(shù)據(jù)的產(chǎn)生 存儲需求的多樣性 云時代的來臨 深入理解 Redis 一個更加強(qiáng)大的 Memcached memcached場景與局限 只能做 cache,不能做 storage 沒有數(shù)據(jù)結(jié)構(gòu)支持 數(shù)據(jù)局部踢出現(xiàn)象 cache與存儲資源訪問能力落差 不能枚舉全數(shù)據(jù) 訪問性能仍有提升空間 redis 概述 a disk backed in-memory database 高性能網(wǎng)絡(luò)接口 + 數(shù)據(jù)結(jié)構(gòu)集合 redis 特點 key - structure 類型存儲 支持?jǐn)?shù)據(jù)可靠存儲及落地 支持復(fù)制( cluster版本在開發(fā)) 單進(jìn)程單線程高性能服務(wù)器 crash safe & recovery slow 缺少內(nèi)存管理算法,依賴第三方庫 單機(jī) qps可以達(dá)到 10W (cpu是瓶頸 ) redis 數(shù)據(jù)類型 string hash list set sorted set redis 持久化機(jī)制 snapshot save 參數(shù) aof appendfsync 參數(shù) vm vm is not the way to go for the future diskstore 傳統(tǒng) b-tree redis 復(fù)制 實現(xiàn)機(jī)制 快照同步 存在的問題 無增量復(fù)制 slave表重建 redis缺陷與優(yōu)化 持久化 IO機(jī)制 復(fù)制機(jī)制 內(nèi)存管理 線程模型 故障恢復(fù)時間 持久化問題 buffer io 持久化問題 - fsync fsync非常耗時 單進(jìn)程阻塞操作 快照與 fsync同時進(jìn)行 復(fù)制缺陷 內(nèi)存管理 缺少高效內(nèi)存管理 額外內(nèi)存占用過多 針對特殊場景做優(yōu)化 開放地址 Hash redis 使用場景 需要 key - structure復(fù)雜數(shù)據(jù)結(jié)構(gòu) 需要數(shù)據(jù)可靠存儲 需要極高的單機(jī) qps using RAM as the new disk Hash算法數(shù)據(jù)庫 Hash存儲結(jié)構(gòu)更合適簡單 kv存儲 tokyocabint( tchdb) 特點 包含 hash/btree等多種存儲類型 kv tchdb適合小數(shù)據(jù)量高速讀寫訪問 tchdb隨機(jī)磁盤 IO次數(shù)平均 tchdb使用 mmap io tchdb qps 大約在 6W左右 tchdb存儲結(jié)構(gòu) 1 tchdb存儲結(jié)構(gòu) 2 LSM算法數(shù)據(jù)庫 硬件變革推動算法變革 leveldb特點 bigtable tablet實現(xiàn) LSM Tree算法 寫性能極其出色 讀性能依賴數(shù)據(jù)熱度 SSD設(shè)備友好,不會寫入放大 嵌入式 DB,需要自己實現(xiàn) Server 分布式 auto sharding支持友好 寫性能 50MB/s,讀性能 6W/s leveldb 存儲結(jié)構(gòu) leveldb 的問題與場景 讀 IO次數(shù)不確定 查詢指定 key對應(yīng)數(shù)據(jù)不存在的開銷非常大 缺少高效內(nèi)存管理算法 需要根據(jù)業(yè)務(wù)特點平衡 merge時間點 投入使用需要一定的開發(fā)量 適合有明顯時間熱點訪問規(guī)律的系統(tǒng) 配合 SSD使用表現(xiàn)極其出色 riak(bitcask) 特點 存儲結(jié)構(gòu)簡單 LSM Hash算法 全部 key存儲在內(nèi)存中 全部查詢只有 1次磁盤 IO QPS 大約在 45W左右 bitcask 存儲結(jié)構(gòu) bitcask 問題與場景 全部 key需要存儲在內(nèi)存中 recovery重啟需要重新 load所有 key merge時機(jī)的選擇 適合配合 SSD使用 handlersocket特點 NoSQL接口訪問 MySQL(Innodb) 解決 SQL解析,查詢優(yōu)化等 CPU開銷 插件安裝無數(shù)據(jù)遷移成本 QPS 可以達(dá)到 8W handlersocket結(jié)構(gòu) handlersocket問題與場景 配合 DDL使用有嚴(yán)重問題 寫性能差,比傳統(tǒng) SQL接口還要慢 只能支持 Row Based復(fù)制 性能優(yōu)勢建立在沒有磁盤 IO瓶頸基礎(chǔ)上 分布式 NoSQL介紹 無中心化方案 無中心節(jié)點 數(shù)據(jù)一致性 Hash分布 NWR數(shù)據(jù)多點備份 Read repair Hinted Handoff Gossip節(jié)點管理 中心化方案 中心節(jié)點提供路由 中心節(jié)點維護(hù)節(jié)點信息 對外訪問代理節(jié)點 總結(jié) 關(guān)系數(shù)據(jù)庫是單機(jī)存儲時代的產(chǎn)物 NoSQL更能滿足不同存儲需求的多樣性 NoSQL是 SQ

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論