重慶分公司,新征程啟航
為企業提供網站建設、域名注冊、服務器等服務
為企業提供網站建設、域名注冊、服務器等服務
NoSQL(NoSQL
云龍網站建設公司創新互聯公司,云龍網站設計制作,有大型網站制作公司豐富經驗。已為云龍上千家提供企業網站建設服務。企業網站搭建\外貿網站建設要多少錢,請找那個售后服務好的云龍做網站的公司定做!
=
Not
Only
SQL
),意即“不僅僅是SQL”,是一項全新的數據庫革命性運動,早期就有人提出,發展至2009年趨勢越發高漲。NoSQL的擁護者們提倡運用非關系型的數據存儲,相對于鋪天蓋地的關系型數據庫運用,這一概念無疑是一種全新的思維的注入。
隨著大數據的不斷發展,非關系型的數據庫現在成了一個極其熱門的新領域,非關系數據庫產品的發展非常迅速。現今的計算機體系結構在數據存儲方面要有龐大的水平擴展性,而NoSQL也正是致力于改變這一現狀。目前Google的
BigTable和Amazon
的Dynamo使用的就是NoSQL型數據庫,本文介紹了10種出色的NoSQL數據庫。
雖然NoSQL流行語火起來才短短一年的時間,但是不可否認,現在已經開始了第二代運動。盡管早期的堆棧代碼只能算是一種實驗,然而現在的系統已經更加的成熟、穩定。不過現在也面臨著一個嚴酷的事實:技術越來越成熟——以至于原來很好的NoSQL數據存儲不得不進行重寫,也有少數人認為這就是所謂的2.0版本。這里列出一些比較知名的NoSQL工具,可以為大數據建立快速、可擴展的存儲庫。
給一個地址吧
目前存儲海量數據的技術主要包括NoSQL、分布式文件系統、和傳統關系型數據庫。隨著互聯網行業不斷的發展,產生的數據量越來越多,并且這些數據的特點是半結構化和非結構化,數據很可能是不精確的,易變的。這樣傳統關系型數據庫就無法發揮它的優勢。因此,目前互聯網行業偏向于使用NoSQL和分布式文件系統來存儲海量數據。
下面介紹下常用的NoSQL和分布式文件系統。
NoSQL
互聯網行業常用的NoSQL有:HBase、MongoDB、Couchbase、LevelDB。
HBase是Apache Hadoop的子項目,理論依據為Google論文 Bigtable: A Distributed Storage System for Structured Data開發的。HBase適合存儲半結構化或非結構化的數據。HBase的數據模型是稀疏的、分布式的、持久穩固的多維map。HBase也有行和列的概念,這是與RDBMS相同的地方,但卻又不同。HBase底層采用HDFS作為文件系統,具有高可靠性、高性能。
MongoDB是一種支持高性能數據存儲的開源文檔型數據庫。支持嵌入式數據模型以減少對數據庫系統的I/O、利用索引實現快速查詢,并且嵌入式文檔和集合也支持索引,它復制能力被稱作復制集(replica set),提供了自動的故障遷移和數據冗余。MongoDB的分片策略將數據分布在服務器集群上。
Couchbase這種NoSQL有三個重要的組件:Couchbase服務器、Couchbase Gateway、Couchbase Lite。Couchbase服務器,支持橫向擴展,面向文檔的數據庫,支持鍵值操作,類似于SQL查詢和內置的全文搜索;Couchbase Gateway提供了用于RESTful和流式訪問數據的應用層API。Couchbase Lite是一款面向移動設備和“邊緣”系統的嵌入式數據庫。Couchbase支持千萬級海量數據存儲
分布式文件系統
如果針對單個大文件,譬如超過100MB的文件,使用NoSQL存儲就不適當了。使用分布式文件系統的優勢在于,分布式文件系統隔離底層數據存儲和分布的細節,展示給用戶的是一個統一的邏輯視圖。常用的分布式文件系統有Google File System、HDFS、MooseFS、Ceph、GlusterFS、Lustre等。
相比過去打電話、發短信、用彩鈴的“老三樣”,移動互聯網的發展使得人們可以隨時隨地通過刷微博、看視頻、微信聊天、瀏覽網頁、地圖導航、網上購物、外賣訂餐等,這些業務的海量數據都構建在大規模網絡云資源池之上。當14億中國人把衣食住行搬上移動互聯網的同時,也給網絡云資源池帶來巨大業務挑戰。
首先,用戶需求動態變化,傳統業務流量主要是端到端模式,較為穩定;而互聯網流量易受熱點內容牽引,數據流量流向復雜和規模多變:比如雙十一購物狂潮,電商平臺訂單創建峰值達到58.3萬筆,要求通信網絡提供高并發支持;又如優酷春節期間有超過23億人次上網刷劇、抖音拜年短視頻增長超10倍,需要通信網絡能夠靈活擴充帶寬。面對用戶動態多變的需求,通信網絡需要具備快速洞察和響應用戶需求的能力,提供高效、彈性、智能的數據服務。
“隨著通信網絡管道十倍百倍加粗、節點數從千萬級逐漸躍升至百億千億級,如何‘接得住、存得下’海量數據,成為網絡云資源池建設面臨的巨大考驗”,李輝表示。一直以來,作為新數據存儲首倡者和引領者,浪潮存儲攜手通信行業用戶,不斷 探索 提速通信網絡云基礎設施的各種姿勢。
早在2018年,浪潮存儲就參與了通信行業基礎設施建設,四年內累計交付約5000套存儲產品,涵蓋全閃存儲、高端存儲、分布式存儲等明星產品。其中在網絡云建設中,浪潮存儲已連續兩年兩次中標全球最大的NFV網絡云項目,其中在網絡云二期建設中,浪潮存儲提供數千節點,為上層網元、應用提供高效數據服務。在最新的NFV三期項目中,浪潮存儲也已中標。
能夠與通信用戶在網絡云建設中多次握手,背后是浪潮存儲的持續技術投入與創新。浪潮存儲6年內投入超30億研發經費,開發了業界首個“多合一”極簡架構的浪潮并行融合存儲系統。此存儲系統能夠統籌管理數千個節點,實現性能、容量線性擴展;同時基于浪潮iTurbo智能加速引擎的智能IO均衡、智能資源調度、智能元數據管理等功能,與自研NVMe SSD閃存盤進行系統級別聯調優化,讓百萬級IO均衡落盤且路徑更短,將存儲系統性能發揮到極致。
“為了確保全球最大規模的網絡云正常上線運行,我們聯合用戶對存儲集群展開了長達數月的魔鬼測試”,浪潮存儲工程師表示。網絡云的IO以虛擬機數據和上層應用數據為主,浪潮按照每個存儲集群支持15000臺虛機進行配置,分別對單卷隨機讀寫、順序寫、混合讀寫以及全系統隨機讀寫的IO、帶寬、時延等指標進行了360無死角測試,達到了通信用戶提出的單卷、系統性能不低于4萬和12萬IOPS、時延小于3ms的要求,產品成熟度得到了驗證。
以通信行業為例,2020年全國移動互聯網接入流量1656億GB,相當于中國14億人每人消耗118GB數據;其中春節期間,移動互聯網更是創下7天消耗36億GB數據流量的記錄,還“捎帶”打了548億分鐘電話、發送212億條短信……海量實時數據洪流,在網絡云資源池(NFV)支撐下收放自如,其中分布式存儲平臺發揮了作用。如此樣板工程,其巨大示范及拉動作用不言而喻。
1. 鍵值數據庫
相關產品:Redis、Riak、SimpleDB、Chordless、Scalaris、Memcached
應用:內容緩存
優點:擴展性好、靈活性好、大量寫操作時性能高
缺點:無法存儲結構化信息、條件查詢效率較低
使用者:百度云(Redis)、GitHub(Riak)、BestBuy(Riak)、Twitter(Ridis和Memcached)
2. 列族數據庫
相關產品:BigTable、HBase、Cassandra、HadoopDB、GreenPlum、PNUTS
應用:分布式數據存儲與管理
優點:查找速度快、可擴展性強、容易進行分布式擴展、復雜性低
使用者:Ebay(Cassandra)、Instagram(Cassandra)、NASA(Cassandra)、Facebook(HBase)
3. 文檔數據庫
相關產品:MongoDB、CouchDB、ThruDB、CloudKit、Perservere、Jackrabbit
應用:存儲、索引并管理面向文檔的數據或者類似的半結構化數據
優點:性能好、靈活性高、復雜性低、數據結構靈活
缺點:缺乏統一的查詢語言
使用者:百度云數據庫(MongoDB)、SAP(MongoDB)
4. 圖形數據庫
圖形數據庫-使用圖作為數據模型來存儲數據。
相關產品:Neo4J、OrientDB、InfoGrid、GraphDB
應用:大量復雜、互連接、低結構化的圖結構場合,如社交網絡、推薦系統等
優點:靈活性高、支持復雜的圖形算法、可用于構建復雜的關系圖譜
缺點:復雜性高、只能支持一定的數據規模
使用者:Adobe(Neo4J)、Cisco(Neo4J)、T-Mobile(Neo4J)
nosql分類太多了,下面列舉幾個比較常見的:
Redis:非常適合需要表達時間線的web服務,例如微博
Cassandra:只有順序寫,沒有隨機寫的設計,滿足高負荷情形的性能需求
MongoDB:面向文檔,擅長處理非結構化數據
Neo4J:可以快速實現基于圖的計算(如果用SQL計算可能花更長的時間)
希望對你所有幫助。
NoSQL太火,冒出太多產品了,保守估計也成百上千了。
互聯網公司常用的基本集中在以下幾種,每種只舉一個比較常見或者應用比較成功的例子吧。
1. In-Memory KV Store : Redis
in memory key-value store,同時提供了更加豐富的數據結構和運算的能力,成功用法是替代memcached,通過checkpoint和commit log提供了快速的宕機恢復,同時支持replication提供讀可擴展和高可用。
2. Disk-Based KV Store: Leveldb
真正基于磁盤的key-value storage, 模型單一簡單,數據量不受限于內存大小,數據落盤高可靠,Google的幾位大神出品的精品,LSM模型天然寫優化,順序寫盤的方式對于新硬件ssd再適合不過了,不足是僅提供了一個庫,需要自己封裝server端。
3. Document Store: Mongodb
分布式nosql,具備了區別mysql的最大亮點:可擴展性。mongodb 最新引人的莫過于提供了sql接口,是目前nosql里最像mysql的,只是沒有ACID的特性,發展很快,支持了索引等特性,上手容易,對于數據量遠超內存限制的場景來說,還需要慎重。
4. Column Table Store: HBase
這個富二代似乎不用贅述了,最大的優勢是開源,對于普通的scan和基于行的get等基本查詢,性能完全不是問題,只是只提供裸的api,易用性上是短板,可擴展性方面是最強的,其次坐上了Hadoop的快車,社區發展很快,各種基于其上的開源產品不少,來解決諸如join、聚集運算等復雜查詢。
文檔數據庫
源起:受Lotus Notes啟發。
數據模型:包含了key-value的文檔集合
例子:CouchDB, MongoDB
優點:數據模型自然,編程友好,快速開發,web友好,CRUD。
圖數據庫
源起: 歐拉和圖理論。
數據模型:節點和關系,也可處理鍵值對。
例子:AllegroGraph, InfoGrid, Neo4j
優點:解決復雜的圖問題。
關系數據庫
源起: E. F. Codd 在A Relational Model of Data for Large Shared Data Banks提出的
數據模型:各種關系
例子:VoltDB, Clustrix, MySQL
優點:高性能、可擴展的OLTP,支持SQL,物化視圖,支持事務,編程友好。
對象數據庫
源起:圖數據庫研究
數據模型:對象
例子:Objectivity, Gemstone
優點:復雜對象模型,快速鍵值訪問,鍵功能訪問,以及圖數據庫的優點。
Key-Value數據庫
源起:Amazon的論文 Dynamo 和 Distributed HashTables。
數據模型:鍵值對
例子:Membase, Riak
優點:處理大量數據,快速處理大量讀寫請求。編程友好。
BigTable類型數據庫
源起:Google的論文 BigTable。
數據模型:列簇,每一行在理論上都是不同的
例子:HBase, Hypertable, Cassandra
優點:處理大量數據,應對極高寫負載,高可用,支持跨數據中心, MapReduce。
數據結構服務
源起: ?
數據模型:字典操作,lists, sets和字符串值
例子:Redis
優點:不同于以前的任何數據庫
網格數據庫
源起:數據網格和元組空間研究。
數據模型:基于空間的架構
例子:GigaSpaces, Coherence
優點:適于事務處理的高性能和高擴展性