一、概念
網站建設哪家好,找成都創新互聯公司!專注于網頁設計、網站建設、微信開發、成都小程序開發、集團企業網站建設等服務項目。為回饋新老客戶創新互聯還提供了武勝免費建站歡迎大家使用!
SQL?(Structured?Query?Language)?數據庫,指關系型數據庫。主要代表:SQL?Server,Oracle,MySQL(開源),PostgreSQL(開源)。
NoSQL(Not?Only?SQL)泛指非關系型數據庫。主要代表:MongoDB,Redis,CouchDB。
二、區別
1、存儲方式
SQL數據存在特定結構的表中;而NoSQL則更加靈活和可擴展,存儲方式可以省是JSON文檔、哈希表或者其他方式。SQL通常以數據庫表形式存儲數據。舉個栗子,存個學生借書數據:
而NoSQL存儲方式比較靈活,比如使用類JSON文件存儲上表中熊大的借閱數據:
2、表/數據集合的數據的關系
在SQL中,必須定義好表和字段結構后才能添加數據,例如定義表的主鍵(primary?key),索引(index),觸發器(trigger),存儲過程(stored?procedure)等。表結構可以在被定義之后更新,但是如果有比較大的結構變更的話就會變得比較復雜。在NoSQL中,數據可以在任何時候任何地方添加,不需要先定義表。例如下面這段代碼會自動創建一個新的"借閱表"數據集合:
NoSQL也可以在數據集中建立索引。以MongoDB為例,會自動在數據集合創建后創建唯一值_id字段,這樣的話就可以在數據集創建后增加索引。
從這點來看,NoSQL可能更加適合初始化數據還不明確或者未定的項目中。
3、外部數據存儲
SQL中如何需要增加外部關聯數據的話,規范化做法是在原表中增加一個外鍵,關聯外部數據表。例如需要在借閱表中增加審核人信息,先建立一個審核人表:
再在原來的借閱人表中增加審核人外鍵:
這樣如果我們需要更新審核人個人信息的時候只需要更新審核人表而不需要對借閱人表做更新。而在NoSQL中除了這種規范化的外部數據表做法以外,我們還能用如下的非規范化方式把外部數據直接放到原數據集中,以提高查詢效率。缺點也比較明顯,更新審核人數據的時候將會比較麻煩。
4、SQL中的JOIN查詢
SQL中可以使用JOIN表鏈接方式將多個關系數據表中的數據用一條簡單的查詢語句查詢出來。NoSQL暫未提供類似JOIN的查詢方式對多個數據集中的數據做查詢。所以大部分NoSQL使用非規范化的數據存儲方式存儲數據。
5、數據耦合性
SQL中不允許刪除已經被使用的外部數據,例如審核人表中的"熊三"已經被分配給了借閱人熊大,那么在審核人表中將不允許刪除熊三這條數據,以保證數據完整性。而NoSQL中則沒有這種強耦合的概念,可以隨時刪除任何數據。
6、事務
SQL中如果多張表數據需要同批次被更新,即如果其中一張表更新失敗的話其他表也不能更新成功。這種場景可以通過事務來控制,可以在所有命令完成后再統一提交事務。而NoSQL中沒有事務這個概念,每一個數據集的操作都是原子級的。
7、增刪改查語法
8、查詢性能
在相同水平的系統設計的前提下,因為NoSQL中省略了JOIN查詢的消耗,故理論上性能上是優于SQL的。
數據庫是一組信息的集合,以便可以方便地訪問、管理和更新,常用數據庫有:1、關系型數據庫;2、分布式數據庫;3、云數據庫;4、NoSQL數據庫;5、面向對象的數據庫;6、圖形數據庫。
計算機數據庫通常包含數據記錄或文件的聚合,例如銷售事務、產品目錄和庫存以及客戶配置文件。
通常,數據庫管理器為用戶提供了控制讀寫訪問、指定報表生成和分析使用情況的能力。有些數據庫提供ACID(原子性、一致性、隔離性和持久性)遵從性,以確保數據的一致性和事務的完整性。
數據庫普遍存在于大型主機系統中,但也存在于較小的分布式工作站和中端系統中,如IBM的as /400和個人計算機。
數據庫的演變
數據庫從1960年代開始發展,從層次數據庫和網絡數據庫開始,到1980年代的面向對象數據庫,再到今天的SQL和NoSQL數據庫和云數據庫。
一種觀點認為,數據庫可以按照內容類型分類:書目、全文、數字和圖像。在計算中,數據庫有時根據其組織方法進行分類。有許多不同類型的數據庫,從最流行的方法關系數據庫到分布式數據庫、云數據庫或NoSQL數據庫。
常用數據庫:
1、關系型數據庫
關系型數據庫是由IBM的E.F. Codd于1970年發明的,它是一個表格數據庫,其中定義了數據,因此可以以多種不同的方式對其進行重組和訪問。
關系數據庫由一組表組成,其中的數據屬于預定義的類別。每個表在一個列中至少有一個數據類別,并且每一行對于列中定義的類別都有一個特定的數據實例。
結構化查詢語言(SQL)是關系數據庫的標準用戶和應用程序接口。關系數據庫易于擴展,并且可以在原始數據庫創建之后添加新的數據類別,而不需要修改所有現有應用程序。
2、分布式數據庫
分布式數據庫是一種數據庫,其中部分數據庫存儲在多個物理位置,處理在網絡中的不同點之間分散或復制。
分布式數據庫可以是同構的,也可以是異構的。同構分布式數據庫系統中的所有物理位置都具有相同的底層硬件,并運行相同的操作系統和數據庫應用程序。異構分布式數據庫中的硬件、操作系統或數據庫應用程序在每個位置上可能是不同的。
3、云數據庫
云數據庫是針對虛擬化環境(混合云、公共云或私有云)優化或構建的數據庫。云數據庫提供了一些好處,比如可以按每次使用支付存儲容量和帶寬的費用,還可以根據需要提供可伸縮性和高可用性。
云數據庫還為企業提供了在軟件即服務部署中支持業務應用程序的機會。
4、NoSQL數據庫
NoSQL數據庫對于大型分布式數據集非常有用。
NoSQL數據庫對于關系數據庫無法解決的大數據性能問題非常有效。當組織必須分析大量非結構化數據或存儲在云中多個虛擬服務器上的數據時,它們是最有效的。
5、面向對象的數據庫
使用面向對象編程語言創建的項通常存儲在關系數據庫中,但是面向對象數據庫非常適合于這些項。
面向對象的數據庫是圍繞對象(而不是操作)和數據(而不是邏輯)組織的。例如,關系數據庫中的多媒體記錄可以是可定義的數據對象,而不是字母數字值。
6、圖形數據庫
面向圖形的數據庫是一種NoSQL數據庫,它使用圖形理論存儲、映射和查詢關系。圖數據庫基本上是節點和邊的集合,其中每個節點表示一個實體,每個邊表示節點之間的連接。
圖形數據庫在分析互連方面越來越受歡迎。例如,公司可以使用圖形數據庫從社交媒體中挖掘關于客戶的數據。
訪問數據庫:DBMS和RDBMS
數據庫管理系統(DBMS)是一種允許您定義、操作、檢索和管理存儲在數據庫中的數據的軟件。
關系數據庫管理系統(RDBMS)是上世紀70年代開發的一種基于關系模型的數據庫管理軟件,目前仍然是最流行的數據庫管理方法。
Microsoft SQL Server、Oracle數據庫、IBM DB2和MySQL是企業用戶最常用的RDBMS產品。DBMS技術始于20世紀60年代,支持分層數據庫,包括IBM的信息管理系統和CA的集成數據庫管理系統。一個關系數據庫管理系統(RDBMS)是一種數據庫管理軟件是在20世紀70年代開發的,基于關系模式,仍然是管理數據庫的最普遍的方式。
希望能幫助你還請及時采納謝謝
2. 什么是NoSQL?
2.1 NoSQL 概述
NoSQL(NoSQL = Not Only SQL ),意即“不僅僅是SQL”,
泛指非關系型的數據庫。隨著互聯網web2.0網站的興起,傳統的關系數據庫在應付web2.0網站,特別是超大規模和高并發的SNS類型的web2.0純動態網站已經顯得力不從心,暴露了很多難以克服的問題,而非關系型的數據庫則由于其本身的特點得到了非常迅速的發展。NoSQL數據庫的產生就是為了解決大規模數據集合多重數據種類帶來的挑戰,尤其是大數據應用難題,包括超大規模數據的存儲。
(例如谷歌或Facebook每天為他們的用戶收集萬億比特的數據)。這些類型的數據存儲不需要固定的模式,無需多余操作就可以橫向擴展。
2.2 NoSQL代表
MongDB、 Redis、Memcache
3. 關系型數據庫與NoSQL的區別?
3.1 RDBMS
高度組織化結構化數據
結構化查詢語言(SQL)
數據和關系都存儲在單獨的表中。
數據操縱語言,數據定義語言
嚴格的一致性
基礎事務
ACID
關系型數據庫遵循ACID規則
事務在英文中是transaction,和現實世界中的交易很類似,它有如下四個特性:
A (Atomicity) 原子性
原子性很容易理解,也就是說事務里的所有操作要么全部做完,要么都不做,事務成功的條件是事務里的所有操作都成功,只要有一個操作失敗,整個事務就失敗,需要回滾。比如銀行轉賬,從A賬戶轉100元至B賬戶,分為兩個步驟:1)從A賬戶取100元;2)存入100元至B賬戶。這兩步要么一起完成,要么一起不完成,如果只完成第一步,第二步失敗,錢會莫名其妙少了100元。
C (Consistency) 一致性
一致性也比較容易理解,也就是說數據庫要一直處于一致的狀態,事務的運行不會改變數據庫原本的一致性約束。
I (Isolation) 獨立性
所謂的獨立性是指并發的事務之間不會互相影響,如果一個事務要訪問的數據正在被另外一個事務修改,只要另外一個事務未提交,它所訪問的數據就不受未提交事務的影響。比如現有有個交易是從A賬戶轉100元至B賬戶,在這個交易還未完成的情況下,如果此時B查詢自己的賬戶,是看不到新增加的100元的
D (Durability) 持久性
持久性是指一旦事務提交后,它所做的修改將會永久的保存在數據庫上,即使出現宕機也不會丟失。
3.2 NoSQL
代表著不僅僅是SQL
沒有聲明性查詢語言
沒有預定義的模式
鍵 - 值對存儲,列存儲,文檔存儲,圖形數據庫
最終一致性,而非ACID屬性
非結構化和不可預知的數據
CAP定理
高性能,高可用性和可伸縮性
分布式數據庫中的CAP原理(了解)
CAP定理:
Consistency(一致性), 數據一致更新,所有數據變動都是同步的
Availability(可用性), 好的響應性能
Partition tolerance(分區容錯性) 可靠性
P: 系統中任意信息的丟失或失敗不會影響系統的繼續運作。
定理:任何分布式系統只可同時滿足二點,沒法三者兼顧。
CAP理論的核心是:一個分布式系統不可能同時很好的滿足一致性,可用性和分區容錯性這三個需求,
因此,根據 CAP 原理將 NoSQL 數據庫分成了滿足 CA 原則、滿足 CP 原則和滿足 AP 原則三 大類:
CA - 單點集群,滿足一致性,可用性的系統,通常在可擴展性上不太強大。
CP - 滿足一致性,分區容忍性的系統,通常性能不是特別高。
AP - 滿足可用性,分區容忍性的系統,通常可能對一致性要求低一些。
CAP理論就是說在分布式存儲系統中,最多只能實現上面的兩點。
而由于當前的網絡硬件肯定會出現延遲丟包等問題,所以分區容忍性是我們必須需要實現的。
所以我們只能在一致性和可用性之間進行權衡,沒有NoSQL系統能同時保證這三點。
說明:C:強一致性 A:高可用性 P:分布式容忍性
舉例:
CA:傳統Oracle數據庫
AP:大多數網站架構的選擇
CP:Redis、Mongodb
注意:分布式架構的時候必須做出取舍。
一致性和可用性之間取一個平衡。多余大多數web應用,其實并不需要強一致性。
因此犧牲C換取P,這是目前分布式數據庫產品的方向。
4. 當下NoSQL的經典應用
當下的應用是 SQL 與 NoSQL 一起使用的。
代表項目:阿里巴巴商品信息的存放。
去 IOE 化。
ps:I 是指 IBM 的小型機,很貴的,好像好幾萬一臺;O 是指 Oracle 數據庫,也很貴的,好幾萬呢;M 是指 EMC 的存儲設備,也很貴的。
難點:
數據類型多樣性。
數據源多樣性和變化重構。
數據源改造而服務平臺不需要大面積重構。
什么是NoSQL數據庫?從名稱“非SQL”或“非關系型”衍生而來,這些數據庫不使用類似SQL的查詢語言,通常稱為結構化存儲。這些數據庫自1960年就已經存在,但是直到現在一些大公司(例如Google和Facebook)開始使用它們時,這些數據庫才流行起來。該數據庫最明顯的優勢是擺脫了一組固定的列、連接和類似SQL的查詢語言的限制。有時,NoSQL這個名稱也可能表示“不僅僅SQL”,來確保它們可能支持SQL。 NoSQL數據庫使用諸如鍵值、寬列、圖形或文檔之類的數據結構,并且可以如JSON之類的不同格式存儲。
特點:
它們可以處理超大量的數據。
它們運行在便宜的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很好的結合,而且運行速度比MapReduce快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群集上,監視所有的查詢。該技術和MapReduce一樣,具有強大的批處理能力,而且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 Reduce),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.key-value鍵值存儲數據庫:
相關產品: Redis、Riak、SimpleDB、Chordless、Scalaris、Memcached.
主要應用: 內容緩存,處理大量數據的高負載訪問,也用于系統日志。
優點:查找速度快,大量操作時性能高。
2.列存儲數據庫:
相關產品: BigTable、HBase、Cassandra、HadoopDB、GreenPlum、PNUTS.
主要應用: 分布式數據的儲存與管理。
優點:查找速度快,可擴展性強,容易進行分布式擴展。
缺點:功能相對局限。
3.文檔型數據庫
相關產品:MongoDB、CouchDB、ThruDB、CloudKit、Perservere、Jackrabbit.
主要應用: web應用,管理面向文檔的數據或者類似的半結構化數據。
優點:數據結構靈活,表結構可變,復雜性低。
缺點:查詢效率低,且缺乏統一的查詢語言。
4.Graph圖形數據庫
相關產品: Neo4J、OrientDB、InfoGrid、GraphDB.
主要應用: 復雜,互連接,低結構化的圖結構場合, 專注構建關系圖譜。
優點: 利用圖結構相關算法, 可用于構建復雜的關系圖譜。
缺點: 復雜度高。
本文題目:nosql數據庫計算,nosql數據庫技術
轉載來于:http://vcdvsql.cn/article6/dsijdog.html
成都網站建設公司_創新互聯,為您提供商城網站、網站維護、Google、小程序開發、網站設計、ChatGPT
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯