Nosql and Mongodb 介绍
Nosql興起的背景:
1)web2.0興起(高交互性),傳統的關系型數據庫為了保證“通用性”的設計而帶來 了功能復雜,性能開銷大,和價格昂貴的問題。
2)避免不必要的復雜性
3)更高的吞吐量和高并發
4)在商用硬件上的水平擴展能力
5)Nosql實現大表自動切割,更有利于支持分布式處理
6)在性能和安全方面做了折中(有時不需要sql的很高的安全性)
7)云計算的需求(從中心模式轉到分布模式)
各種主流Nosql數據庫:
????????????????1)memcached數據庫:memcached數據庫的成功,帶動了Nosql運動的熱潮
????????特點:
? ? ? ? ? ? ? ? ? 1)它是一個存儲鍵值對兒的hashmap
? ? ? ? ? ? ? ? ? ? ? ? ? ? ?2)高性能的分布式內存緩存服務器,常駐內存,用于動態web應用,以減輕
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 數據庫負載
? ? ? ? ? ? ? ? ? ? ? ? ? ? ?3)客戶端通過memcached協議與守護進程(daemon)通信
? ? ? ? ? ? ? ? ? ? ? ? ? ? ?4)缺乏認證與安全控制(所以應該部署于防火墻的內部)
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 5 )基于libevent的事件處理機制(http://baike.haosou.com/doc/1037929- ? ? ? ? ? ? ? ? ? ? ? ? 1097798.html)
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 6 ?)不互相通信的分布式(服務器之間不互相通信)
? ? ? ? ? ? ? 2)redis數據庫:是一個key-value存儲系統,和memcached類似
1 )運行速度異常快
2)數據都緩存在內存中,它是有硬盤支持的內存數據庫
3)支持Master-slave復制(主從復制)
4)支持多種數據類型 如string(字符串),list(鏈表),set(集合),zset(有序 集合)
5)支持pop/push機制,允許用戶實現消息機制
3)neo4j數據庫:它是基于關系的圖型數據庫
????????????1)訪問協議:http/rest
? ? ? ? ? ? ? ? ? ? ? ? ? ? ?2)可獨立使用,或嵌入到java程序中使用
? ? ? ? ? ? ? ? ? ? ? ? ? ? ?3)圖型的節點和邊都可以帶有元數據
? ? ? ? ? ? ? ? ? ? ? ? ? ? ?4)使用多種方法支持路徑搜索
? ? ? ? ? ? ? ? ? ? ? ? ? ? ?5)使用鍵值和關系進行索引
? ? ? ? ? ? ? ? ? ? ? ? ? ? ?6)為讀操作進行優化
? ? ? ? ? ? ? ? ? ? ? ? ? ? ?7)支持事務,企業版還支持在線備份和安全性及監控
? ? ? ? ? ? ? ? 4)Cassandra數據庫:非關系型的混合型的數據庫,類似于google的 ?
????????bigtable( 基于列的)數據庫
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?1)由java語言開發
? 2 )寫操作比讀操作更快
? ? ? ? ? ? ? ? ? ? ? ? ? ? ??3)分布式,基于column的結構
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 4)用戶:facebook
? ? ? ? ? ? ? ? ????????????????5)Hbase數據庫:Hadoop database 是google的bigtable數據庫的開源實現
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 1)是分布式的,列式的數據庫
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 2)Hbase利用Hadoop的HDFS作為文件系統,利用Hadoop Mapreduce
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 來處理Hbase中的海量數據
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 3)采用分布式架構Map/reduce
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 4)協議:http/rest,同時支持thirft
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 5)適用于大數據
? ? ? ? ? ? ? ? 6)Mongodb數據庫:
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 1)社區非常活躍,文檔豐富,由10gen公司商業支持,持續性有保障
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 2)所用語言:c++
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 3)保存了sql的某些優良特性(索引,查尋……)
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 4)協議:Custom,binary(Bson)
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 5)支持Master/slave復制(支持自動錯誤回復,使用sets復制)
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 7)內建分片機制
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 8)支持javascript表達式查詢,在服務器端可以執行任意js函數
? ? ? ? ? ? ? ? ? ? ?9)數據存儲采用內存到文件的映射
? ? ? ? ? ? ? ? ? ? ? 10)在32位操作系統上,數據庫大小限制在2.5G以內,64位系統無限制
? ? ? ? ? ? ? ? ? ? ? ?11)空數據庫大約占192M
? ? ? ? ? ? ? ? ? ? ? ?12) 采用GridFS存儲大數據和元數據
轉載于:https://blog.51cto.com/hackcrack/1629228
總結
以上是生活随笔為你收集整理的Nosql and Mongodb 介绍的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: SaltStack:Salt SSH
- 下一篇: Socket的三个关联函数