版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、NoSQL產(chǎn)品性能評(píng)測目的 NoSQL產(chǎn)品的介紹。 NoSQL產(chǎn)品的性能比照測試。 詳細(xì)的一個(gè)網(wǎng)站作為案列,分享下Redis,Memcache,Mongodb的使用情況和碰到的問題。NoSQL 產(chǎn)品列表 Memcache Redis Mongdb Oracle TimesTen HBaseNoSQL- Memcache Memcache是什么? Memcache有什么特點(diǎn)? Memcache在什么場景下適用? Memcache詳細(xì)怎么用? 在用Memcache中碰到的問題?Memcache 是什么 Memcache是個(gè)高性能的基于內(nèi)存的分布式緩存系統(tǒng),Memcache的分布式是基于客戶端的Ke
2、y的hash來做平衡,是個(gè)偽分布式的系統(tǒng)。 Memcache有2個(gè)組件,一個(gè)客戶端java,一個(gè)效勞器端c編寫。Memcache 的特點(diǎn) 基于內(nèi)存但是重啟了后,數(shù)據(jù)喪失。 提供簡單的get,set方法。 緩存對(duì)象只能小于1M。 安裝,使用比較簡單。Memcache 的使用場景中小型網(wǎng)站應(yīng)用中來存放非可靠性的只讀數(shù)據(jù)。例如 存放用戶的信息。 網(wǎng)站的計(jì)數(shù)。 數(shù)據(jù)庫DAO前的行記錄緩存。 全局的代碼參數(shù)。Memcache詳細(xì)怎么用 安裝 libevent 安裝 wget cloud.github /downloads/libevent/libevent/libevent-2.0.21-stable.
3、tar.gz tar -zxvf libevent-2.0.21-stable.tar.gz ./configure -prefix=/usr make make installMemcache詳細(xì)怎么用 memcache 安裝 wget memcached.googlecode /files/memcached-1.4.15.tar.gz tar -zxvf memcached-1.4.15.tar.gz ./configure -with-libevent=/usr make make installMemcache的啟動(dòng)參數(shù) 啟動(dòng) ./memcached -d -m 10240 -p 1
4、1211 -u root 啟動(dòng)參數(shù) 啟動(dòng)參數(shù)說明 -d選項(xiàng)是啟動(dòng)一個(gè)守護(hù)進(jìn)程,后臺(tái)掛起跑 -m是分配給Memcache使用的內(nèi)存數(shù)量,單位是MB -u是運(yùn)行Memcache的用戶 -l是監(jiān)聽的效勞器IP地址,假如有多個(gè)地址的話, -p是設(shè)置Memcache監(jiān)聽的端口 -c選項(xiàng)是最大運(yùn)行的并發(fā)連接數(shù),默認(rèn)是1024, -P是設(shè)置保存Memcache的pid文件 關(guān)閉 killall memcached Memcache-Java客戶端 spymemcached 官方,單線程 /code/couchbase/java Java memcached client whali
5、n /memcached memcache-client-forjava code.google /p/memcache-client-forjava/Java客戶端操作MemcacheMemcache中碰到的問題 Memcache 無文件備份機(jī)制,機(jī)器重啟,數(shù)據(jù)掉失。 只能存放1M的內(nèi)容,有一定的局限性。 偽分布式存儲(chǔ),JAVA客戶端做HASH的路由,節(jié)點(diǎn)的增加和宕機(jī)都是會(huì)造成數(shù)據(jù)的掉失。 只提供了核心的2個(gè)get/set命令,無其他豐富的API 節(jié)點(diǎn)的增加和減少導(dǎo)致的數(shù)據(jù)問題節(jié)點(diǎn)的增加和減少導(dǎo)致的數(shù)據(jù)問題Hash一致性問題解決方案1 主從形式,主從形式之間保持?jǐn)?shù)據(jù)同步.2 一致性Hash算
6、法.3 Redis來代替Memcache.Hash一致性Hash一致性NoSQL-Redis Redis 是什么? Redis 能干嗎? Redis 有什么特點(diǎn)? Redis 在什么場景下適用? Redis 詳細(xì)怎么用? 在用Redis中碰到的問題?Redis 是什么? Redis 是一個(gè) 用c語言寫的類似Memcache 的key-value的存儲(chǔ)系統(tǒng),它比Memcache提供了更多的API接口和更好的并發(fā)性能,可以支持10萬并發(fā)的讀寫,建議用Redis代替Memcahe。 Redis 是基于內(nèi)存的,因此部署Redis的機(jī)器對(duì)于內(nèi)存是非常有高的要求的,Redis是會(huì)把數(shù)據(jù)實(shí)時(shí)寫到內(nèi)存中,再定
7、時(shí)同步到文件。Redis 能干嘛?Redis 可以當(dāng)作數(shù)據(jù)庫來用,但是有缺陷,在可靠性上,沒有Oracle關(guān)系型數(shù)據(jù)庫來的穩(wěn)定??梢宰鳛槌志脤拥腃ache層??梢跃彺嫦旅娴臄?shù)據(jù)庫構(gòu)造。 計(jì)數(shù) 排行典范,最新閱讀的數(shù)據(jù) 隊(duì)列訂閱關(guān)系Redis 能干嘛?Redis 可以當(dāng)作數(shù)據(jù)庫來用,但是有缺陷,在可靠性上,沒有Oracle關(guān)系型數(shù)據(jù)庫來的穩(wěn)定??梢宰鳛槌志脤拥腃ache層??梢跃彺嫦旅娴臄?shù)據(jù)庫構(gòu)造。 計(jì)數(shù) 排行典范,最新閱讀的數(shù)據(jù) 隊(duì)列訂閱關(guān)系Redis 特點(diǎn)? 完全居于內(nèi)存,數(shù)據(jù)實(shí)時(shí)的讀寫內(nèi)存,定時(shí)閃回到文件中 讀寫速度快 支持高并發(fā)量,官方宣傳支持10萬級(jí)別的并發(fā)讀寫 支持機(jī)器重啟后的,重新
8、加載形式,不會(huì)掉數(shù)據(jù)Redis 適用場景? 在非可靠數(shù)據(jù)存儲(chǔ)中,可以作為數(shù)據(jù)持久層或者是數(shù)據(jù)緩存區(qū)。 對(duì)于讀寫壓力比較大,實(shí)時(shí)性要求比較高的場景下。 關(guān)系型數(shù)據(jù)庫不能勝任的模型下的場景。例如 在SNS中訂閱關(guān)系 。Redis 詳細(xì)用法?安裝,啟動(dòng),關(guān)閉,配置,Java訪問操作 安裝 $ tar xzf redis-2.6.7.tar.gz $ cd redis-2.6.7 $ make installRedis 啟動(dòng) & 關(guān)閉 啟動(dòng) ./src/redis-server /etc/redis.conf & 關(guān)閉 ./src/redis-cli shutdownRedis 的配置
9、-根本配置Redis的核心配置文件,只有一個(gè),就是redis.conf 文件,下面是列舉了核心的配置項(xiàng)。 配置項(xiàng) 值字段意義daemonizeno或者yes是不是需要在后臺(tái)運(yùn)行pidfile/var/run/redis.pid pid文件port6379啟動(dòng)端口bind 綁定IP,只有制定的IP地址才可以訪問redis實(shí)例timeout0一個(gè)客戶端空閑多少秒后關(guān)閉連接databases16數(shù)據(jù)庫數(shù)loglevelDebugVerboseNoticewarningdebug 開發(fā)和測試的時(shí)候配置verbose 比debug信息少點(diǎn) notice 根本信息,消費(fèi)環(huán)境建議配置這個(gè)
10、warning 嚴(yán)重錯(cuò)誤的時(shí)候 Redis 的配置-快照配置 配置項(xiàng) 值字段意義save900 1指出在多長時(shí)間內(nèi),有多少次更新操作,就將數(shù)據(jù)同步到數(shù)據(jù)文件rdb,在15分鐘內(nèi),有1個(gè)key被改變就同步到文件中去rdbcompressionyes當(dāng)導(dǎo)出到 .rdb 數(shù)據(jù)庫時(shí)是否用LZF壓縮字符串對(duì)象rdbchecksumyes存儲(chǔ)和加載rdb文件時(shí)校驗(yàn)dbfilenamedump.rdb 數(shù)據(jù)庫的文件名dir./工作目錄Redis 的配置-同步配置 配置項(xiàng) 值字段意義slaveof 6379主效勞器地址masterauth從效勞器連接主效勞器的時(shí)候的密碼slave-serve
11、-stale-dataYes/no當(dāng)從庫正在做復(fù)制的同步工作的時(shí)候,從庫的工作形式,配置成yes了后繼續(xù)相應(yīng)客戶的懇求,配置成no了后,不相應(yīng)客戶的懇求。slave-read-onlyyes配置從庫為只讀形式,這個(gè)屬性只需要在主庫上配置,在從庫上配置沒什么意義的repl-ping-slave-period10從庫定時(shí)向主庫發(fā)送Ping的命令repl-timeout60從庫定時(shí)向主庫發(fā)送Ping的命令的超時(shí)時(shí)間slave-priority 100假如主庫掛了的,會(huì)尋找找一個(gè)slave-priority最小的一個(gè),來變成主庫。Redis 的配置-平安配置 配置項(xiàng) 值字段意義requirepassf
12、oobaredredis的密碼,可以理解成Oracle數(shù)據(jù)庫的連接密碼一樣的。maxclients10000最大連接數(shù)maxmemory 最大內(nèi)存數(shù),給Redis使用的最大內(nèi)存數(shù)。maxmemory-policyvolatile-lru volatile-random allkeys-randomvolatile-ttl noeviction當(dāng)Redis已經(jīng)存到最大內(nèi)存數(shù)的時(shí)候,這個(gè)時(shí)候Redis使用的策略,下面是5個(gè)策略。volatile-lru - 根據(jù)LRU算法生成的過期時(shí)間來刪除。 allkeys-lru - 根據(jù)LRU算法刪除任何key。 volatile-random - 根據(jù)過期
13、設(shè)置來隨機(jī)刪除key。 allkeys-random - 無差異隨機(jī)刪。 volatile-ttl - 根據(jù)最近過期時(shí)間來刪除輔以TTL noeviction - 誰也不刪,直接在寫操作時(shí)返回錯(cuò)誤Redis 的配置-數(shù)據(jù)追加配置 配置項(xiàng) 值字段意義appendonlynoRedis是異步的把數(shù)據(jù)寫到文件中去的,有時(shí)候機(jī)器重啟會(huì)導(dǎo)致正在寫入的數(shù)據(jù)喪失掉的,假如appendonly 屬性配置成yes了后,Redis會(huì)把數(shù)據(jù)實(shí)時(shí)的寫到appendonly.aof文件中去,一旦Redis重啟的時(shí)候,就會(huì)加載這個(gè)文件的,那樣的話,數(shù)據(jù)就不會(huì)丟掉了的.appendfilenameappendonly.ao
14、f累加文件名字appendfsyncNoAlwayseverysecalways 馬上立即寫到操作系統(tǒng)的文件中去,準(zhǔn)確性最高,但是代價(jià)也是最高的,速度比較慢了的,并且是IO開銷是非常高的,配置成no不是立即寫,everysec每秒寫一次no-appendfsync-on-rewriteno當(dāng)Aof log進(jìn)展重寫時(shí),是否寫日志時(shí)fsyncauto-aof-rewrite-percentage100當(dāng)日志文件超過原始的日志文件的多少的時(shí)候,就開啟重寫機(jī)制Java操作RedisJava客戶端別表 Jedis 官方推薦 Jredis 推薦 JDBC-Jredis 不推薦 RJC 不推薦 Redis-
15、protocol 不推薦Java操作RedisRedis Select * from table where userId in 1,2,3,4,5,6,7,8,9,10,1000Redis高級(jí)特性 主從形式復(fù)制。 發(fā)布訂閱形式。NoSQL-Mongodb Mongodb 是什么? Mongodb 能干嗎? Mongodb 有什么特點(diǎn)? Mongodb 在什么場景下適用? Mongodb 詳細(xì)怎么用?Mongdb 是什么? Mongodb是一個(gè)底層用C+語言編寫的一個(gè)分布式文件存儲(chǔ)系統(tǒng),可以簡單的理解成一個(gè)類Mysql數(shù)據(jù)庫的分布式文件系統(tǒng)。 Mongodb底層是用C+語言編寫的。 一個(gè)分布式
16、的文件存儲(chǔ)系統(tǒng)Mongdb 能干嘛? 作為MySQL的代替品,存儲(chǔ)海量的相對(duì)非可靠的數(shù)據(jù), 例如群眾點(diǎn)評(píng)的評(píng)論 . dianping 淘寶網(wǎng) taobao / Mongdb 特點(diǎn)? 天生有分布式的優(yōu)點(diǎn)最強(qiáng)的一個(gè)優(yōu)點(diǎn)。 海量文件,文本類型數(shù)據(jù)的存儲(chǔ)。 性能卓越的海量數(shù)據(jù)的存儲(chǔ)情況下的讀寫性能。Mongodb 適用場景? MySQL 的代替品或者是半代替品對(duì)復(fù)雜查詢要求不高的情況下 讀壓力比寫的壓力大的情況下的文件和文本類型的數(shù)據(jù),并且數(shù)據(jù)量比較大。Mongdb詳細(xì)用法?安裝,啟動(dòng),關(guān)閉,配置,Java訪問操作 安裝解壓縮 tar xzvf mongodb-linux-i686-2.2.2.tgz
17、 新建數(shù)據(jù)庫目錄mkdir p /data/dbMongdb 啟動(dòng) & 關(guān)閉 啟動(dòng) ./mongod & 關(guān)閉 效勞端關(guān)閉 沒有掛起跑的話 直接ctrl+c掛起跑的話的話 直接kill 進(jìn)程號(hào)客戶端關(guān)閉 db.shutdownerverJava操作MongodbJava客戶端列表mongo-java-driver s github /mongodb/mongo-java-driverJava操作Mongodb 連接Mongodb,新建集合,插入文檔,查詢文檔,刪除文檔Java操作MongodbNoSQL-Oracle TimesTen TimesTen是什么? TimesTen
18、能干嗎? TimesTen有什么特點(diǎn)? TimesTen在什么場景下適用? TimesTen詳細(xì)怎么用? 在用TimesTen中碰到的問題?Oracle TimesTen 是什么 Oracle TimesTen 是HP實(shí)驗(yàn)室人員在1992年做的一個(gè)內(nèi)存數(shù)據(jù)庫產(chǎn)品,后來惠普實(shí)驗(yàn)室的人成立了TimesTen公司,Oracle在2005年的時(shí)候把TimesTen收購了的。Oracle TimesTen 特點(diǎn)及時(shí)響應(yīng) 完全居于內(nèi)存,對(duì)于CPU,磁盤的IO壓力非常低。支持事物兼容標(biāo)準(zhǔn)SQL高性能高可用性 主從形式TT的物理組成TT物理構(gòu)造 Shared libraries:共享庫:可以理解為訪問數(shù)據(jù)的驅(qū)
19、動(dòng)程序 內(nèi)存中的數(shù)據(jù)構(gòu)造:表,索引在內(nèi)存的數(shù)據(jù) 系統(tǒng)進(jìn)程: 管理程序:備份程序 磁盤上的檢查點(diǎn)和日志文件:數(shù)據(jù)和日志存入到磁盤文件上。TT的2個(gè)高級(jí)特性 復(fù)制 負(fù)載平衡 TimesTen復(fù)制Oracle TimesTen 適用場景實(shí)時(shí)計(jì)費(fèi)系統(tǒng)挪動(dòng),聯(lián)通基金,股票實(shí)時(shí)撮合交易系統(tǒng)網(wǎng)站Cache層或者是持久層 CCTV cntv/ 把用戶的信息存儲(chǔ)在TT中而不是關(guān)系數(shù)據(jù)庫中Oracle TimesTen 特點(diǎn) 完全居于內(nèi)存,對(duì)于CPU,磁盤的IO壓力非常低。 支持事物 兼容標(biāo)準(zhǔn)SQLOracle TimesTen 安裝腳本 tar zxvf timesten112241.linux86.tar.gz 解壓縮文件 ./setup 啟動(dòng)安裝文件 一路enter回車就可以了的 安裝后的 進(jìn)程查看,一共有4個(gè)進(jìn)程。 啟動(dòng) ./ttdaemonadmin start 關(guān)閉 ./ttdaemonadmin -stopNoSQL-HBase HBase 是什么? HBase有什么特點(diǎn)? HBase 在什么場景下適用? HBase 詳細(xì)怎么用? 在用HBase中碰到的問題?HBase 是什么? Hbase是個(gè)分布式的面向列的非構(gòu)造化數(shù)據(jù)庫,是Hadoop的子工程。 HBase是Google Bigtable的開源實(shí)現(xiàn)。 HBase利用Hadoop
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 南昌航空大學(xué)《行政職業(yè)能力開發(fā)與測評(píng)》2023-2024學(xué)年第一學(xué)期期末試卷
- 南昌工程學(xué)院《傳播學(xué)概論》2023-2024學(xué)年第一學(xué)期期末試卷
- 閩西職業(yè)技術(shù)學(xué)院《航空維修工程學(xué)》2023-2024學(xué)年第一學(xué)期期末試卷
- 民辦合肥財(cái)經(jīng)職業(yè)學(xué)院《互動(dòng)圖形基礎(chǔ)》2023-2024學(xué)年第一學(xué)期期末試卷
- 茂名職業(yè)技術(shù)學(xué)院《實(shí)驗(yàn)設(shè)計(jì)與分析》2023-2024學(xué)年第一學(xué)期期末試卷
- 2025年消防工程通風(fēng)設(shè)備安裝與維護(hù)合同3篇
- 呂梁職業(yè)技術(shù)學(xué)院《產(chǎn)品設(shè)計(jì)色彩計(jì)劃》2023-2024學(xué)年第一學(xué)期期末試卷
- 婁底幼兒師范高等??茖W(xué)校《建筑施工技術(shù)實(shí)訓(xùn)》2023-2024學(xué)年第一學(xué)期期末試卷
- 六盤水職業(yè)技術(shù)學(xué)院《數(shù)字特效合成》2023-2024學(xué)年第一學(xué)期期末試卷
- 柳州鐵道職業(yè)技術(shù)學(xué)院《健身俱樂部經(jīng)營與管理》2023-2024學(xué)年第一學(xué)期期末試卷
- 2024人教新版七年級(jí)上冊(cè)英語單詞英譯漢默寫表
- 《向心力》參考課件4
- 2024至2030年中國膨潤土行業(yè)投資戰(zhàn)略分析及發(fā)展前景研究報(bào)告
- 【地理】地圖的選擇和應(yīng)用(分層練) 2024-2025學(xué)年七年級(jí)地理上冊(cè)同步備課系列(人教版)
- 2024年深圳中考數(shù)學(xué)真題及答案
- 土方轉(zhuǎn)運(yùn)合同協(xié)議書
- Module 3 Unit 1 Point to the door(教學(xué)設(shè)計(jì))-2024-2025學(xué)年外研版(三起)英語三年級(jí)上冊(cè)
- 智能交通信號(hào)燈安裝合同樣本
- 安全生產(chǎn)法律法規(guī)清單(2024年5月版)
- 江蘇省連云港市2023-2024學(xué)年八年級(jí)下學(xué)期期末道德與法治試卷(含答案解析)
- 2024年大學(xué)試題(宗教學(xué))-佛教文化筆試考試歷年高頻考點(diǎn)試題摘選含答案
評(píng)論
0/150
提交評(píng)論