一般將NoSQL資料庫分為四大類:鍵值(Key-Value)存儲資料庫、列存儲資料庫、文檔型資料庫和圖形(Graph)資料庫。它們的數據模型、優缺點、典型應用場景。
鍵值(Key-Value)存儲資料庫Key指向Value的鍵值對,通常用hash表來實現查找速度快數據無結構化(通常只被當作字元串或者二進制數據)內容緩存,主要用於處理大量數據的高訪問負載,也用於一些日誌系統等。
列存儲資料庫,以列簇式存儲,將同一列數據存在一起查找速度快,可擴展性強,更容易進行分布式擴展功能相對局限分布式的文件系統。
文檔型資料庫,Key-Value對應的鍵值對,Value為結構化數據,數據結構要求不嚴格,表結構可變(不需要像關系型資料庫一樣需預先定義表結構),查詢性能不高,而且缺乏統一的查詢語法,Web應用。
圖形(Graph)資料庫,圖結構,利用圖結構相關演算法(如最短路徑定址,N度關系查找等),很多時候需要對整個圖做計算才能得出需要的信息,而且這種結構不太好做分布式的集群方案,社交網路,推薦系統等。
Ⅱ 你認為DFS與NewSQL和NoSQL資料庫的區別
咨詢記錄 · 回答於2021-09-26
Ⅲ 一、NoSQL資料庫簡介
Web1.0的時代,數據訪問量很有限,用一夫當關的高性能的單點伺服器可以解決大部分問題。
隨著Web2.0的時代的到來,用戶訪問量大幅度提升,同時產生了大量的用戶數據。加上後來的智能移動設備的普及,所有的互聯網平台都面臨了巨大的性能挑戰。
NoSQL(NoSQL = Not Only SQL ),意即「不僅僅是SQL」,泛指非關系型的資料庫。
NoSQL 不依賴業務邏輯方式存儲,而以簡單的key-value模式存儲。因此大大的增加了資料庫的擴展能力。
HBase是Hadoop項目中的資料庫。它用於需要對大量的數據進行隨機、實時的讀寫操作的場景中。
HBase的目標就是處理數據量非常龐大的表,可以用普通的計算機處理超過10億行數據,還可處理有數百萬列元素的數據表。
Apache Cassandra是一款免費的開源NoSQL資料庫,其設計目的在於管理由大量商用伺服器構建起來的龐大集群上的海量數據集(數據量通常達到PB級別)。在眾多顯著特性當中,Cassandra最為卓越的長處是對寫入及讀取操作進行規模調整,而且其不強調主集群的設計思路能夠以相對直觀的方式簡化各集群的創建與擴展流程。
主要應用:社會關系,公共交通網路,地圖及網路拓譜(n*(n-1)/2)
http://db-engines.com/en/ranking
Ⅳ Mongodb和mysql的區別
Mongodb和mysql的區別
1.Mongodb簡介及優缺點分析
Mongodb是非關系型資料庫(nosql ),屬於文檔型資料庫。文檔是mongoDB中數據的基本單元,類似關系資料庫的行,多個鍵值對有序地放置在一起便是文檔,語法有點類似javascript面向對象的查詢語言,它是一個面向集合的,模式自由的文檔型資料庫。
存儲方式:虛擬內存+持久化。
查詢語句:是獨特的Mongodb的查詢方式。
適合場景:事件的記錄,內容管理或者博客平台等等。
架構特點:可以通過副本集,以及分片來實現高可用。
數據處理:數據是存儲在硬碟上的,只不過需要經常讀取的數據會被載入到內存中,將數據存儲在物理內存中,從而達到高速讀寫。
成熟度與廣泛度:新興資料庫,成熟度較低,Nosql資料庫中最為接近關系型資料庫,比較完善的DB之一,適用人群不斷在增長。
優點:
快速!在適量級的內存的Mongodb的性能是非常迅速的,它將熱數據存儲在物理內存中,使得熱數據的讀寫變得十分快。高擴展性,存儲的數據格式是json格式!
缺點:
① mongodb不支持事務操作。
② mongodb佔用空間過大。
③ 開發文檔不是很完全,完善。
2.MySQL優缺點分析
優點:
在不同的引擎上有不同 的存儲方式。
查詢語句是使用傳統的sql語句,擁有較為成熟的體系,成熟度很高。
開源資料庫的份額在不斷增加,mysql的份額頁在持續增長。
缺點:
在海量數據處理的時候效率會顯著變慢。
3.Mongodb和MySQL資料庫的對比
傳統的關系資料庫一般由資料庫(database)、表(table)、記錄(record)三個層次概念組成,MongoDB是由資料庫(database)、集合(collection)、文檔對象(document)三個層次組成。
MongoDB對於關系型資料庫里的表,但是集合中沒有列、行和關系概念,這體現了模式自由的特點。
4.MongoDB常用語句
# 連接Mongo資料庫,並設置數據存儲地址
mongod.exe --dbpath "d:softwareMongoDBServer3.0data"
#-----------------------#1# 資料庫
# 查看所有的資料庫
show dbs
# 刪除當前使用的資料庫
db.dropDatabase()
# 使用這個資料庫(只有插入數據後完成創建資料庫)
use dbt
# 查看當前使用的資料庫
db
db.getName()
# 查看當前資料庫狀態
db.stats()
# 修復當前資料庫
db.repairDatabase()
# 從一個資料庫復制到另一個資料庫
db.Database("mydb", "temp", "127.0.0.1");
#-----------------------#2# 集合
# 查看當前資料庫下所有的集合
show collections
show tables
# 創建名稱為coll集合
db.createCollection('coll')
db.createCollection("coll2", {capped:true, autoIndexId:true, size:6142800, max:10000}) # 可選參數
# 查看當前集合狀態
db.coll.stats()
# 刪除名稱為coll集合
db.coll.drop()
#-----------------------#3# 集合數據
# 插入空數據並且直接創建名稱為coll集合
db.coll.insert({})
# 插入一個或多個數據
db.coll.insert({name:'tom', age:22})
db.coll.insert([{name:'adam', age:10},{name:'john', age:23}])
# 添加數據(save方法可以修改相同id的數據)
db.coll.save({name:'allen'})
# 刪除一個或所有的數據
db.coll.remove({name:'tom'})
db.coll.remove({})
# 刪除符合條件的數據中的第一條
db.coll.remove({name:'tom'}, 1)
# 更改數據
db.coll.update({name:'tom', age:22}, {$set:{name:'tom', age:222}})
# 查看數據
db.coll.find()
# 查看一條數據
db.coll.findOne()
db.coll.find({}, {name:1, '_id':0}) # 1表示顯示,0表示不顯示(find默認顯示_id)
# 格式化顯示數據,使數據更加清晰明了
db.coll.find().pretty()
# 使用and,or查看數據
db.coll.find({name:'tom', age:22}) # 等同and使用
db.coll.find({$or:[{name:'tom'}, {age:21}]}) # or使用
# 操作符大於,小於,等於,不等於,大於不等於,小於不等於
db.coll.find({age: {$gt: 22}}) # 大於
db.coll.find({age: {$lt: 22}}) # 大於
db.coll.find({age: 22}) # 等於
db.coll.find({age: {$ne: 22}}) # 不等於
db.coll.find({age: {$gte: 22}}) # 大於等於
db.coll.find({age: {$lte: 22}}) # 小於等於
# 顯示從skip之後limit個
db.coll.find().limit(2).skip(1)
#-----------------------# # 用戶
# 3.x之後版本添加用戶
use admin
db.createUser({user:'nu', pwd:'nu', roles:[{role:'readWrite',db:'admin'}]})
# 用戶認證
db.auth("nu", "nu");
# 顯示當前所有用戶
show users;
db.system.users.find()
3.x版本刪除用戶
db.removeUser('nu') # 不推薦使用,已經廢棄
db.dropUser("nu");
# 當前db版本
db.version();
# 當前db的鏈接機器地址和埠
db.getMongo();
# 備份到備份目錄
mongomp
# 從備份目錄恢復備份語句。
mongorestore
咱們下期見。
Ⅳ nosql和傳統的資料庫有什麼區別
NoSQL與關系型資料庫設計理念比較
關系型資料庫中的表都是存儲一些格式化的數據結構,每個元組欄位的組成都一樣,即使不是每個元組都需要所有的欄位,但資料庫會為每個元組分配所有的欄位,這樣的結構可以便於表與表之間進行連接等操作,但從另一個角度來說它也是關系型資料庫性能瓶頸的一個因素。而非關系型資料庫以鍵值對存儲,它的結構不固定,每一個元組可以有不一樣的欄位,每個元組可以根據需要增加一些自己的鍵值對,這樣就不會局限於固定的結構,可以減少一些時間和空間的開銷。
特點:
它們可以處理超大量的數據。
它們運行在便宜的PC伺服器集群上。
它們擊碎了性能瓶頸。
沒有過多的操作。
Bootstrap支持
缺點:
但是一些人承認,沒有正式的官方支持,萬一出了差錯會是可怕的,至少很多管理人員是這樣看。
此外,nosql並未形成一定標准,各種產品層出不窮,內部混亂,各種項目還需時間來檢驗
Ⅵ mysql mongodb區別
前言:
MySQL與MongoDB都是開源的常用資料庫,但是MySQL是傳統的關系型資料庫,MongoDB則是非關系型資料庫,也叫文檔型資料庫,是一種NoSQL的資料庫。它們各有各的優點,關鍵是看用在什麼地方。所以我們所熟知的那些SQL語句就不適用於MongoDB了,因為SQL語句是關系型資料庫的標准語言。
一、關系型資料庫-MySQL
1、在不同的引擎上有不同的存儲方式。
2、查詢語句是使用傳統的sql語句,擁有較為成熟的體系,成熟度很高。
3、開源資料庫的份額在不斷增加,mysql的份額頁在持續增長。
4、缺點就是在海量數據處理的時候效率會顯著變慢。
二、非關系型資料庫-MongoDB
非關系型資料庫(nosql ),屬於文檔型資料庫。先解釋一下文檔的資料庫,即可以存放xml、json、bson類型系那個的數據。這些數據具備自述性,呈現分層的樹狀數據結構。數據結構由鍵值(key=>value)對組成。
1、存儲方式:虛擬內存+持久化。
2、查詢語句:是獨特的MongoDB的查詢方式。
3、適合場景:事件的記錄,內容管理或者博客平台等等。
4、架構特點:可以通過副本集,以及分片來實現高可用。
5、數據處理:數據是存儲在硬碟上的,只不過需要經常讀取的數據會被載入到內存中,將數據存儲在物理內存中,從而達到高速讀寫。
6、成熟度與廣泛度:新興資料庫,成熟度較低,Nosql資料庫中最為接近關系型資料庫,比較完善的DB之一,適用人群不斷在增長。
三、MongoDB優勢與劣勢
優勢:
1、在適量級的內存的MongoDB的性能是非常迅速的,它將熱數據存儲在物理內存中,使得熱數據的讀寫變得十分快。
2、MongoDB的高可用和集群架構擁有十分高的擴展性。
3、在副本集中,當主庫遇到問題,無法繼續提供服務的時候,副本集將選舉一個新的主庫繼續提供服務。
4、MongoDB的Bson和JSon格式的數據十分適合文檔格式的存儲與查詢。
劣勢:
1、 不支持事務操作。MongoDB本身沒有自帶事務機制,若需要在MongoDB中實現事務機制,需通過一個額外的表,從邏輯上自行實現事務。
2、 應用經驗少,由於NoSQL興起時間短,應用經驗相比關系型資料庫較少。
3、MongoDB佔用空間過大。
Ⅶ 簡述什麼是nosql資料庫,並列舉兩種常見的nosql資料庫名稱及其特點
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、聚集運算等復雜查詢。
Ⅷ 目前哪些NoSQL資料庫應用廣泛,各有什麼特點
特點:
它們可以處理超大量的數據。
它們運行在便宜的PC伺服器集群上。
PC集群擴充起來非常方便並且成本很低,避免了「sharding」操作的復雜性和成本。
它們擊碎了性能瓶頸。
NoSQL的支持者稱,通過NoSQL架構可以省去將Web或Java應用和數據轉換成SQL友好格式的時間,執行速度變得更快。
「SQL並非適用於所有的程序代碼,」 對於那些繁重的重復操作的數據,SQL值得花錢。但是當資料庫結構非常簡單時,SQL可能沒有太大用處。
沒有過多的操作。
雖然NoSQL的支持者也承認關系資料庫提供了無可比擬的功能集合,而且在數據完整性上也發揮絕對穩定,他們同時也表示,企業的具體需求可能沒有那麼多。
Bootstrap支持
因為NoSQL項目都是開源的,因此它們缺乏供應商提供的正式支持。這一點它們與大多數開源項目一樣,不得不從社區中尋求支持。
優點:
易擴展
NoSQL資料庫種類繁多,但是一個共同的特點都是去掉關系資料庫的關系型特性。數據之間無關系,這樣就非常容易擴展。也無形之間,在架構的層面上帶來了可擴展的能力。
大數據量,高性能
NoSQL資料庫都具有非常高的讀寫性能,尤其在大數據量下,同樣表現優秀。這得益於它的無關系性,資料庫的結構簡單。一般MySQL使用 Query Cache,每次表的更新Cache就失效,是一種大粒度的Cache,在針對web2.0的交互頻繁的應用,Cache性能不高。而NoSQL的 Cache是記錄級的,是一種細粒度的Cache,所以NoSQL在這個層面上來說就要性能高很多了。
靈活的數據模型
NoSQL無需事先為要存儲的數據建立欄位,隨時可以存儲自定義的數據格式。而在關系資料庫里,增刪欄位是一件非常麻煩的事情。如果是非常大數據量的表,增加欄位簡直就是一個噩夢。這點在大數據量的web2.0時代尤其明顯。
高可用
NoSQL在不太影響性能的情況,就可以方便的實現高可用的架構。比如Cassandra,HBase模型,通過復制模型也能實現高可用。
主要應用:
Apache HBase
這個大數據管理平台建立在谷歌強大的BigTable管理引擎基礎上。作為具有開源、Java編碼、分布式多個優勢的資料庫,Hbase最初被設計應用於Hadoop平台,而這一強大的數據管理工具,也被Facebook採用,用於管理消息平台的龐大數據。
Apache Storm
用於處理高速、大型數據流的分布式實時計算系統。Storm為Apache Hadoop添加了可靠的實時數據處理功能,同時還增加了低延遲的儀錶板、安全警報,改進了原有的操作方式,幫助企業更有效率地捕獲商業機會、發展新業務。
Apache Spark
該技術採用內存計算,從多迭代批量處理出發,允許將數據載入內存做反復查詢,此外還融合數據倉庫、流處理和圖計算等多種計算範式,Spark用Scala語言實現,構建在HDFS上,能與Hadoop很好的結合,而且運行速度比MapRece快100倍。
Apache Hadoop
該技術迅速成為了大數據管理標准之一。當它被用來管理大型數據集時,對於復雜的分布式應用,Hadoop體現出了非常好的性能,平台的靈活性使它可以運行在商用硬體系統,它還可以輕松地集成結構化、半結構化和甚至非結構化數據集。
Apache Drill
你有多大的數據集?其實無論你有多大的數據集,Drill都能輕松應對。通過支持HBase、Cassandra和MongoDB,Drill建立了互動式分析平台,允許大規模數據吞吐,而且能很快得出結果。
Apache Sqoop
也許你的數據現在還被鎖定於舊系統中,Sqoop可以幫你解決這個問題。這一平台採用並發連接,可以將數據從關系資料庫系統方便地轉移到Hadoop中,可以自定義數據類型以及元數據傳播的映射。事實上,你還可以將數據(如新的數據)導入到HDFS、Hive和Hbase中。
Apache Giraph
這是功能強大的圖形處理平台,具有很好可擴展性和可用性。該技術已經被Facebook採用,Giraph可以運行在Hadoop環境中,可以將它直接部署到現有的Hadoop系統中。通過這種方式,你可以得到強大的分布式作圖能力,同時還能利用上現有的大數據處理引擎。
Cloudera Impala
Impala模型也可以部署在你現有的Hadoop群集上,監視所有的查詢。該技術和MapRece一樣,具有強大的批處理能力,而且Impala對於實時的SQL查詢也有很好的效果,通過高效的SQL查詢,你可以很快的了解到大數據平台上的數據。
Gephi
它可以用來對信息進行關聯和量化處理,通過為數據創建功能強大的可視化效果,你可以從數據中得到不一樣的洞察力。Gephi已經支持多個圖表類型,而且可以在具有上百萬個節點的大型網路上運行。Gephi具有活躍的用戶社區,Gephi還提供了大量的插件,可以和現有系統完美的集成到一起,它還可以對復雜的IT連接、分布式系統中各個節點、數據流等信息進行可視化分析。
MongoDB
這個堅實的平台一直被很多組織推崇,它在大數據管理上有極好的性能。MongoDB最初是由DoubleClick公司的員工創建,現在該技術已經被廣泛的應用於大數據管理。MongoDB是一個應用開源技術開發的NoSQL資料庫,可以用於在JSON這樣的平台上存儲和處理數據。目前,紐約時報、Craigslist以及眾多企業都採用了MongoDB,幫助他們管理大型數據集。(Couchbase伺服器也作為一個參考)。
十大頂尖公司:
Amazon Web Services
Forrester將AWS稱為「雲霸主」,談到雲計算領域的大數據,那就不得不提到亞馬遜。該公司的Hadoop產品被稱為EMR(Elastic Map Rece),AWS解釋這款產品採用了Hadoop技術來提供大數據管理服務,但它不是純開源Hadoop,經過修改後現在被專門用在AWS雲上。
Forrester稱EMR有很好的市場前景。很多公司基於EMR為客戶提供服務,有一些公司將EMR應用於數據查詢、建模、集成和管理。而且AWS還在創新,Forrester稱未來EMR可以基於工作量的需要自動縮放調整大小。亞馬遜計劃為其產品和服務提供更強大的EMR支持,包括它的RedShift數據倉庫、新公布的Kenesis實時處理引擎以及計劃中的NoSQL資料庫和商業智能工具。不過AWS還沒有自己的Hadoop發行版。
Cloudera
Cloudera有開源Hadoop的發行版,這個發行版採用了Apache Hadoop開源項目的很多技術,不過基於這些技術的發行版也有很大的進步。Cloudera為它的Hadoop發行版開發了很多功能,包括Cloudera管理器,用於管理和監控,以及名為Impala的SQL引擎等。Cloudera的Hadoop發行版基於開源Hadoop,但也不是純開源的產品。當Cloudera的客戶需要Hadoop不具備的某些功能時,Cloudera的工程師們就會實現這些功能,或者找一個擁有這項技術的合作夥伴。Forrester表示:「Cloudera的創新方法忠於核心Hadoop,但因為其可實現快速創新並積極滿足客戶需求,這一點使它不同於其他那些供應商。」目前,Cloudera的平台已經擁有200多個付費客戶,一些客戶在Cloudera的技術支持下已經可以跨1000多個節點實現對PB級數據的有效管理。
Hortonworks
和Cloudera一樣,Hortonworks是一個純粹的Hadoop技術公司。與Cloudera不同的是,Hortonworks堅信開源Hadoop比任何其他供應商的Hadoop發行版都要強大。Hortonworks的目標是建立Hadoop生態圈和Hadoop用戶社區,推進開源項目的發展。Hortonworks平台和開源Hadoop聯系緊密,公司管理人員表示這會給用戶帶來好處,因為它可以防止被供應商套牢(如果Hortonworks的客戶想要離開這個平台,他們可以輕松轉向其他開源平台)。這並不是說Hortonworks完全依賴開源Hadoop技術,而是因為該公司將其所有開發的成果回報給了開源社區,比如Ambari,這個工具就是由Hortonworks開發而成,用來填充集群管理項目漏洞。Hortonworks的方案已經得到了Teradata、Microsoft、Red Hat和SAP這些供應商的支持。
IBM
當企業考慮一些大的IT項目時,很多人首先會想到IBM。IBM是Hadoop項目的主要參與者之一,Forrester稱IBM已有100多個Hadoop部署,它的很多客戶都有PB級的數據。IBM在網格計算、全球數據中心和企業大數據項目實施等眾多領域有著豐富的經驗。「IBM計劃繼續整合SPSS分析、高性能計算、BI工具、數據管理和建模、應對高性能計算的工作負載管理等眾多技術。」
Intel
和AWS類似,英特爾不斷改進和優化Hadoop使其運行在自己的硬體上,具體來說,就是讓Hadoop運行在其至強晶元上,幫助用戶打破Hadoop系統的一些限制,使軟體和硬體結合的更好,英特爾的Hadoop發行版在上述方面做得比較好。Forrester指出英特爾在最近才推出這個產品,所以公司在未來還有很多改進的可能,英特爾和微軟都被認為是Hadoop市場上的潛力股。
MapR Technologies
MapR的Hadoop發行版目前為止也許是最好的了,不過很多人可能都沒有聽說過。Forrester對Hadoop用戶的調查顯示,MapR的評級最高,其發行版在架構和數據處理能力上都獲得了最高分。MapR已將一套特殊功能融入其Hadoop發行版中。例如網路文件系統(NFS)、災難恢復以及高可用性功能。Forrester說MapR在Hadoop市場上沒有Cloudera和Hortonworks那樣的知名度,MapR要成為一個真正的大企業,還需要加強夥伴關系和市場營銷。
Microsoft
微軟在開源軟體問題上一直很低調,但在大數據形勢下,它不得不考慮讓Windows也兼容Hadoop,它還積極投入到開源項目中,以更廣泛地推動Hadoop生態圈的發展。我們可以在微軟的公共雲Windows Azure HDInsight產品中看到其成果。微軟的Hadoop服務基於Hortonworks的發行版,而且是為Azure量身定製的。
微軟也有一些其他的項目,包括名為Polybase的項目,讓Hadoop查詢實現了SQLServer查詢的一些功能。Forrester說:「微軟在資料庫、數據倉庫、雲、OLAP、BI、電子表格(包括PowerPivot)、協作和開發工具市場上有很大優勢,而且微軟擁有龐大的用戶群,但要在Hadoop這個領域成為行業領導者還有很遠的路要走。」
Pivotal Software
EMC和Vmware部分大數據業務分拆組合產生了Pivotal。Pivotal一直努力構建一個性能優越的Hadoop發行版,為此,Pivotal在開源Hadoop的基礎上又添加了一些新的工具,包括一個名為HAWQ的SQL引擎以及一個專門解決大數據問題的Hadoop應用。Forrester稱Pivotal Hadoop平台的優勢在於它整合了Pivotal、EMC、Vmware的眾多技術,Pivotal的真正優勢實際上等於EMC和Vmware兩大公司為其撐腰。到目前為止,Pivotal的用戶還不到100個,而且大多是中小型客戶。
Teradata
對於Teradata來說,Hadoop既是一種威脅也是一種機遇。數據管理,特別是關於SQL和關系資料庫這一領域是Teradata的專長。所以像Hadoop這樣的NoSQL平台崛起可能會威脅到Teradata。相反,Teradata接受了Hadoop,通過與Hortonworks合作,Teradata在Hadoop平台集成了SQL技術,這使Teradata的客戶可以在Hadoop平台上方便地使用存儲在Teradata數據倉庫中的數據。
AMPLab
通過將數據轉變為信息,我們才可以理解世界,而這也正是AMPLab所做的。AMPLab致力於機器學習、數據挖掘、資料庫、信息檢索、自然語言處理和語音識別等多個領域,努力改進對信息包括不透明數據集內信息的甄別技術。除了Spark,開源分布式SQL查詢引擎Shark也源於AMPLab,Shark具有極高的查詢效率,具有良好的兼容性和可擴展性。近幾年的發展使計算機科學進入到全新的時代,而AMPLab為我們設想一個運用大數據、雲計算、通信等各種資源和技術靈活解決難題的方案,以應對越來越復雜的各種難題。
Ⅸ nosql資料庫的幾大類型
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)