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

下載本文檔

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

文檔簡(jiǎn)介

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

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論