




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
NoSQL產品性能評測2012-12-05楊琪科目的NoSQL產品的介紹。NoSQL產品的性能對比測試。具體的一個網站作為案列,分享下Redis,Memcache,Mongodb的使用情況和碰到的問題。NoSQL產品列表MemcacheRedisMongdbOracleTimesTenHBaseNoSQL-MemcacheMemcache是什么?Memcache有什么特點?Memcache在什么場景下適用?Memcache具體怎么用?在用Memcache中碰到的問題?Memcache是什么Memcache是個高性能的基于內存的分布式緩存系統,Memcache的分布式是基于客戶端的Key的hash來做均衡,是個偽分布式的系統。Memcache有2個組件,一個客戶端(java),一個服務器端c編寫。Memcache的特點基于內存(但是重啟了后,數據丟失)。提供簡單的get,set方法。緩存對象只能小于1M。安裝,使用比較簡單。Memcache的使用場景中小型網站應用中來存放非可靠性的只讀數據。例如存放用戶的信息。網站的計數。數據庫DAO前的行記錄緩存。全局的代碼參數。Memcache具體怎么用安裝libevent安裝wget/downloads/libevent/libevent/libevent-2.0.21-stable.tar.gztar-zxvflibevent-2.0.21-stable.tar.gz./configure-prefix=/usrmakemakeinstallMemcache具體怎么用memcache安裝wget/files/memcached-1.4.15.tar.gztar-zxvfmemcached-1.4.15.tar.gz./configure-with-libevent=/usrmakemakeinstallMemcache的啟動參數啟動./memcached-d-m10240-p11211-uroot啟動參數啟動參數說明-d選項是啟動一個守護進程,后臺掛起跑-m是分配給Memcache使用的內存數量,單位是MB-u是運行Memcache的用戶-l是監聽的服務器IP地址,如果有多個地址的話,-p是設置Memcache監聽的端口-c選項是最大運行的并發連接數,默認是1024,-P是設置保存Memcache的pid文件關閉killallmemcachedMemcache-Java客戶端Java客戶端操作作MemcacheMemcache中碰到的問問題Memcache無文件備份份機制,機機器重啟,,數據掉失失。只能存放1M的內容,有有一定的局局限性。偽分布式存存儲,JAVA客戶端做HASH的路由,節點的增加加和宕機都都是會造成成數據的掉掉失。只提供了核核心的2個get/set命令,無其其他豐富的的API節點的增加加和減少導導致的數據據問題Hash一致性問題題解決方案1主從模式,,主從模式式之間保持持數據同步步.2一致性Hash算法.3Redis來代替Memcache.Hash一致性Hash一致性NoSQL-RedisRedis是什么?Redis能干嗎?Redis有什么特點點?Redis在什么場景景下適用??Redis具體怎么用用?在用Redis中碰到的問問題?Redis是什么?Redis是一個用用c語言寫的類類似Memcache的key-value的存儲系統統,它比Memcache提供了更多多的API接口和更好好的并發性性能,可以以支持10萬并發的讀讀寫,建議議用Redis代替Memcahe。Redis是基于內存存的,因此此部署Redis的機器對于于內存是非非常有高的的要求的,,Redis是會把數據據實時寫到到內存中,,再定時同同步到文件件。Redis能干嘛?Redis可以當作數數據庫來用用,但是有有缺陷,在在可靠性上上,沒有Oracle關系型數據據庫來的穩穩定。可以作為持持久層的Cache層。可以緩緩存下面的的數據庫結結構。計數排行榜樣,,最新瀏覽覽的數據隊列(訂閱閱關系)Redis能干嘛?Redis可以當作數數據庫來用用,但是有有缺陷,在在可靠性上上,沒有Oracle關系型數據據庫來的穩穩定。可以作為持持久層的Cache層。可以緩緩存下面的的數據庫結結構。計數排行榜樣,,最新瀏覽覽的數據隊列(訂閱閱關系)Redis特點?完全居于內內存,數據據實時的讀讀寫內存,,定時閃回回到文件中中讀寫速度快快支持高并發發量,官方方宣傳支持持10萬級別的并并發讀寫支持機器重重啟后的,,重新加載載模式,不不會掉數據據Redis適用場景??在非可靠數數據存儲中中,可以作作為數據持持久層或者者是數據緩緩存區。對于讀寫壓壓力比較大大,實時性性要求比較較高的場景景下。關系型數據據庫不能勝勝任的模型型下的場景景。例如在SNS中訂閱關系系。Redis具體用法??安裝,啟動動,關閉,,配置,Java訪問操作安裝$tarxzfredis-2.6.7.tar.gz$cdredis-2.6.7$makeinstallRedis–啟動&關閉啟動./src/redis-server/etc/redis.conf&關閉./src/redis-clishutdownRedis的配置-基本配置Redis的核心配置置文件,只只有一個,,就是redis.conf文件,下面面是列舉了了核心的配配置項。
配置項
值字段意義daemonizeno或者yes是不是需要在后臺運行pidfile/var/run/redis.pidpid文件port6379啟動端口bind
綁定IP,只有制定的IP地址才能夠訪問redis實例timeout0一個客戶端空閑多少秒后關閉連接databases16數據庫數loglevelDebugVerboseNoticewarningdebug開發和測試的時候配置verbose比debug信息少點notice基本信息,生產環境建議配置這個warning嚴重錯誤的時候Redis的配置-快照配置
配置項
值字段意義save9001指出在多長時間內,有多少次更新操作,就將數據同步到數據文件rdb,在15分鐘內,有1個key被改變就同步到文件中去rdbcompressionyes當導出到.rdb數據庫時是否用LZF壓縮字符串對象rdbchecksumyes存儲和加載rdb文件時校驗dbfilenamedump.rdb數據庫的文件名dir./工作目錄Redis的配置-同步配置
配置項
值字段意義slaveof6379主服務器地址masterauth<master-password>從服務器連接主服務器的時候的密碼slave-serve-stale-dataYes/no當從庫正在做復制的同步工作的時候,從庫的工作模式,配置成yes了后繼續相應客戶的請求,配置成no了后,不相應客戶的請求。slave-read-onlyyes配置從庫為只讀模式,這個屬性只需要在主庫上配置,在從庫上配置沒什么意義的repl-ping-slave-period10從庫定時向主庫發送Ping的命令repl-timeout60從庫定時向主庫發送Ping的命令的超時時間slave-priority100如果主庫掛了的,會尋找找一個slave-priority最小的一個,來變成主庫。Redis的配置-安全配置
配置項
值字段意義requirepassfoobaredredis的密碼,可以理解成Oracle數據庫的連接密碼一樣的。maxclients10000最大連接數maxmemory<bytes>最大內存數,給Redis使用的最大內存數。maxmemory-policyvolatile-lruvolatile-randomallkeys->randomvolatile-ttlnoeviction當Redis已經存到最大內存數的時候,這個時候 Redis使用的策略,下面是5個策略。volatile-lru->根據LRU算法生成的過期時間來刪除。allkeys-lru->根據LRU算法刪除任何key。volatile-random->根據過期設置來隨機刪除key。allkeys->random->無差別隨機刪。volatile-ttl->根據最近過期時間來刪除(輔以TTL)noeviction->誰也不刪,直接在寫操作時返回錯誤Redis的配置-數據追加配配置
配置項
值字段意義appendonlynoRedis是異步的把數據寫到文件中去的,有時候機器重啟會導致正在寫入的數據丟失掉的,如果appendonly屬性配置成yes了后,Redis會把數據實時的寫到appendonly.aof文件中去,一旦Redis重啟的時候,就會加載這個文件的,那樣的話,數據就不會丟掉了的.appendfilenameappendonly.aof累加文件名字appendfsyncNoAlwayseverysecalways馬上立即寫到操作系統的文件中去,準確性最高,但是代價也是最高的,速度比較慢了的,并且是IO開銷是非常高的,配置成no不是立刻寫,everysec每秒寫一次no-appendfsync-on-rewriteno當Aoflog進行重寫時,是否寫日志時fsyncauto-aof-rewrite-percentage100當日志文件超過原始的日志文件的多少的時候,就開啟重寫機制auto-aof-rewrite-min-size64M這次寫入大小,超過多少大小了后,就開啟重寫機制Java操作RedisJava客戶端別表表Jedis官方推薦Jredis推薦JDBC-Jredis不推薦RJC不推薦Redis-protocol不推薦Java操作RedisRedisSelect*fromtablewhereuserIdin(1,2,3,4,5,6,7,8,9,10,1000)Redis高級特性主從模式復復制。發布訂閱模模式。NoSQL-MongodbMongodb是什么?Mongodb能干嗎?Mongodb有什么特點點?Mongodb在什么場景景下適用??Mongodb具體怎么用用?Mongdb是什么?Mongodb是一個底層層用C++語言編寫的的一個分布布式文件存存儲系統,,可以簡單單的理解成成一個類Mysql數據庫的分分布式文件件系統。Mongodb底層是用C++語言編寫的的。一個分布式式的文件存存儲系統Mongdb能干嘛?Mongdb特點?天生有分布布式的優點點(最強的的一個優點點)。海量文件,,文本類型型數據的存存儲。性能卓越的的海量數據據的存儲情情況下的讀讀寫性能。。Mongodb適用場景??MySQL的代替品或或者是半代代替品(對對復雜查詢詢要求不高高的情況下下)讀壓力比寫寫的壓力大大的情況下下的文件和和文本類型型的數據,,并且數據據量比較大大。Mongdb具體用法??安裝,啟動動,關閉,,配置,Java訪問操作安裝解壓縮tar––xzvfmongodb-linux-i686-2.2.2.tgz新建數據庫庫目錄mkdir–p/data/dbMongdb–啟動&關閉啟動./mongod&關閉服務端關閉閉沒有掛起跑跑的話直直接ctrl+c掛起跑的話話的話直直接kill進程號客戶端關閉閉db.shutdownerver()Java操作MongodbJava客戶端列表表mongo-java-driver/mongodb/mongo-java-driverJava操作Mongodb連接Mongodb,新建集合,,插入文檔檔,查詢文文檔,刪除除文檔Java操作MongodbNoSQL-OracleTimesTenTimesTen是什么?TimesTen能干嗎?TimesTen有什么特點點?TimesTen在什么場景景下適用??TimesTen具體怎么用用?在用TimesTen中碰到的問問題?OracleTimesTen是什么OracleTimesTen是HP實驗室人員員在1992年做的一個個內存數據據庫產品,,后來惠普普實驗室的的人成立了了TimesTen公司,Oracle在2005年的時候把把TimesTen收購了的。。OracleTimesTen特點及時響應完完全居于于內存,對對于CPU,磁盤的IO壓力非常低低。支持持事事物物兼容容標標準準SQL高性性能能高可可用用性性主從從模模式式TT的物物理理組組成成TT物理理結結構構Sharedlibraries:共享享庫庫::可可以以理理解解為為訪訪問問數數據據的的驅驅動動程程序序內存存中中的的數數據據結結構構::表表,,索索引引在在內內存存的的數數據據系統統進進程程::管理理程程序序::備備份份程程序序磁盤盤上上的的檢檢查查點點和和日日志志文文件件::數數據據和和日日志志存存入入到到磁磁盤盤文文件件上上。。TT的2個高高級級特特性性復制制負載載均均衡衡TimesTen復制制OracleTimesTen適用用場場景景OracleTimesTen特點點完全全居居于于內內存存,,對對于于CPU,磁盤盤的的IO壓力力非非常常低低。。支持持事事物物兼容容標標準準SQLOracleTimesTen安裝裝腳腳本本tar––zxvftimesten112241.linux86.tar.gz解壓縮縮文文件件./setup啟動動安安裝裝文文件件一一路路enter回車車就就可可以以了了的的安裝裝后后的的進進程程查查看看,,一一共共有有4個進進程程。。啟動動./ttdaemonadmin–start關閉閉./ttdaemonadmin-stopNoSQL-HBaseHBase是什什么么??HBase有什什么么特特點點??HBase在什什么么場場景景下下適適用用??HBase具體體怎怎么么用用??在用用HBase中碰碰到到的的問問題題??HBase是什什么么??Hbase是個個分分布布式式的的面面向向列列的的非非結結構構化化數數據據庫庫,,是是Hadoop的子子項項目目。。HBase是GoogleBigtable的開開源源實實現現。。HBase利用用HadoopHDFS作為為其其文文件件存存儲儲系系統統。。HBase利用用HadoopMapReduce來處處理理HBase中的的海海量量數數據據。。HBase利用用Zookeeper來管管理理。。HBase能干干嘛嘛??作為為存存儲儲層層來來存存儲儲非非可可靠靠性性的的海海量量數數據據,,如如日日志志,,評評論論,,訪訪問問記記錄錄HBase特點點??高可可靠靠性性高效效性性面向向列列可伸伸縮縮可在在廉廉價價PCServer搭建建大大規規模模結結構構化化存存儲儲集集群群HBase適用用場場景景??數據據量量巨巨大大,,千千萬萬或或者者是是億億級級別別以以上上。。實時時性性要要求求不不高高,,比比如如離離線線計計算算。。Hbase體系系結結構構HBase具體體用用法法??
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 二年級品德與生活上冊 找長處教學設計 泰山版
- (重慶二診)重慶市高2025屆高三學業質量調研抽測 (第二次)歷史試卷(含答案)
- 人的感知與反應(教學設計)-2024-2025學年科學五年級下冊人教鄂教版
- 反洗錢工作保密事項培訓
- 2024北京資產管理有限公司招聘4人筆試參考題庫附帶答案詳解
- 耳鼻喉科護理指南
- 表情管理培訓方案
- 2024中鋁鐵礦西芒杜項目公開招聘13人筆試參考題庫附帶答案詳解
- 工程施工員培訓
- 班主任心理健康知識培訓
- 主管護師預測卷兒科護理專業實踐能力含答案
- 02幾何壓軸小題-【黃金沖刺】考前10天中考數學極限滿分沖刺(浙江專用)原卷版+解析
- 數字鄉村網絡課程設計
- 基于STM32的智慧農業監測系統設計
- 第23課《得道多助失道寡助》說課稿 統編版語文八年級上冊
- 廠房施工進度計劃表
- 2024年《產業經濟學》考試復習題庫(含答案)
- 公園保潔服務投標方案
- 小學三年級數學下冊計算題大全(每日一練共25份)
- 09BJ13-4 鋼制防火門窗、防火卷簾
- 材料科學基礎I智慧樹知到期末考試答案章節答案2024年湖南科技大學
評論
0/150
提交評論