新聞中心
nosql怎么多表查詢
sqlserver是微軟旗下一款數(shù)據(jù)庫軟件,今天一起看一下如何使用sqlserver來實(shí)現(xiàn)多表連接查詢。
成都創(chuàng)新互聯(lián)公司憑借在網(wǎng)站建設(shè)、網(wǎng)站推廣領(lǐng)域領(lǐng)先的技術(shù)能力和多年的行業(yè)經(jīng)驗(yàn),為客戶提供超值的營銷型網(wǎng)站建設(shè)服務(wù),我們始終認(rèn)為:好的營銷型網(wǎng)站就是好的業(yè)務(wù)員。我們已成功為企業(yè)單位、個人等客戶提供了成都網(wǎng)站建設(shè)、成都做網(wǎng)站服務(wù),以良好的商業(yè)信譽(yù),完善的服務(wù)及深厚的技術(shù)力量處于同行領(lǐng)先地位。
設(shè)備:聯(lián)想電腦
系統(tǒng):win10
系統(tǒng):sqlserver 2019
1、打開電腦后再開始界面中找到sqlserver 2019,雙擊打開sqlserver 2019。
2、可以看到當(dāng)前有兩個數(shù)據(jù)表,一個班級表,一個學(xué)生表。加下來要將兩張表里面的數(shù)據(jù)查詢出來。
3、在文本域中輸入:select *? from banji select *? from student點(diǎn)擊執(zhí)行按鈕。
4、這時就可以分別查詢出班級和學(xué)生的信息,如圖所示,只不過此時查詢出的數(shù)據(jù)是分開的,多表查詢就完成了。
nosql數(shù)據(jù)庫一般有哪幾種類型?分別用在什么場景
特點(diǎn):
它們可以處理超大量的數(shù)據(jù)。
它們運(yùn)行在便宜的PC服務(wù)器集群上。
PC集群擴(kuò)充起來非常方便并且成本很低,避免了“sharding”操作的復(fù)雜性和成本。
它們擊碎了性能瓶頸。
NoSQL的支持者稱,通過NoSQL架構(gòu)可以省去將Web或Java應(yīng)用和數(shù)據(jù)轉(zhuǎn)換成SQL友好格式的時間,執(zhí)行速度變得更快。
“SQL并非適用于所有的程序代碼,” 對于那些繁重的重復(fù)操作的數(shù)據(jù),SQL值得花錢。但是當(dāng)數(shù)據(jù)庫結(jié)構(gòu)非常簡單時,SQL可能沒有太大用處。
沒有過多的操作。
雖然NoSQL的支持者也承認(rèn)關(guān)系數(shù)據(jù)庫提供了無可比擬的功能集合,而且在數(shù)據(jù)完整性上也發(fā)揮絕對穩(wěn)定,他們同時也表示,企業(yè)的具體需求可能沒有那么多。
Bootstrap支持
因?yàn)镹oSQL項(xiàng)目都是開源的,因此它們?nèi)狈?yīng)商提供的正式支持。這一點(diǎn)它們與大多數(shù)開源項(xiàng)目一樣,不得不從社區(qū)中尋求支持。
優(yōu)點(diǎn):
易擴(kuò)展
NoSQL數(shù)據(jù)庫種類繁多,但是一個共同的特點(diǎn)都是去掉關(guān)系數(shù)據(jù)庫的關(guān)系型特性。數(shù)據(jù)之間無關(guān)系,這樣就非常容易擴(kuò)展。也無形之間,在架構(gòu)的層面上帶來了可擴(kuò)展的能力。
大數(shù)據(jù)量,高性能
NoSQL數(shù)據(jù)庫都具有非常高的讀寫性能,尤其在大數(shù)據(jù)量下,同樣表現(xiàn)優(yōu)秀。這得益于它的無關(guān)系性,數(shù)據(jù)庫的結(jié)構(gòu)簡單。一般MySQL使用 Query Cache,每次表的更新Cache就失效,是一種大粒度的Cache,在針對web2.0的交互頻繁的應(yīng)用,Cache性能不高。而NoSQL的 Cache是記錄級的,是一種細(xì)粒度的Cache,所以NoSQL在這個層面上來說就要性能高很多了。
靈活的數(shù)據(jù)模型
NoSQL無需事先為要存儲的數(shù)據(jù)建立字段,隨時可以存儲自定義的數(shù)據(jù)格式。而在關(guān)系數(shù)據(jù)庫里,增刪字段是一件非常麻煩的事情。如果是非常大數(shù)據(jù)量的表,增加字段簡直就是一個噩夢。這點(diǎn)在大數(shù)據(jù)量的web2.0時代尤其明顯。
高可用
NoSQL在不太影響性能的情況,就可以方便的實(shí)現(xiàn)高可用的架構(gòu)。比如Cassandra,HBase模型,通過復(fù)制模型也能實(shí)現(xiàn)高可用。
主要應(yīng)用:
Apache HBase
這個大數(shù)據(jù)管理平臺建立在谷歌強(qiáng)大的BigTable管理引擎基礎(chǔ)上。作為具有開源、Java編碼、分布式多個優(yōu)勢的數(shù)據(jù)庫,Hbase最初被設(shè)計(jì)應(yīng)用于Hadoop平臺,而這一強(qiáng)大的數(shù)據(jù)管理工具,也被Facebook采用,用于管理消息平臺的龐大數(shù)據(jù)。
Apache Storm
用于處理高速、大型數(shù)據(jù)流的分布式實(shí)時計(jì)算系統(tǒng)。Storm為Apache Hadoop添加了可靠的實(shí)時數(shù)據(jù)處理功能,同時還增加了低延遲的儀表板、安全警報(bào),改進(jìn)了原有的操作方式,幫助企業(yè)更有效率地捕獲商業(yè)機(jī)會、發(fā)展新業(yè)務(wù)。
Apache Spark
該技術(shù)采用內(nèi)存計(jì)算,從多迭代批量處理出發(fā),允許將數(shù)據(jù)載入內(nèi)存做反復(fù)查詢,此外還融合數(shù)據(jù)倉庫、流處理和圖計(jì)算等多種計(jì)算范式,Spark用Scala語言實(shí)現(xiàn),構(gòu)建在HDFS上,能與Hadoop很好的結(jié)合,而且運(yùn)行速度比MapReduce快100倍。
Apache Hadoop
該技術(shù)迅速成為了大數(shù)據(jù)管理標(biāo)準(zhǔn)之一。當(dāng)它被用來管理大型數(shù)據(jù)集時,對于復(fù)雜的分布式應(yīng)用,Hadoop體現(xiàn)出了非常好的性能,平臺的靈活性使它可以運(yùn)行在商用硬件系統(tǒng),它還可以輕松地集成結(jié)構(gòu)化、半結(jié)構(gòu)化和甚至非結(jié)構(gòu)化數(shù)據(jù)集。
Apache Drill
你有多大的數(shù)據(jù)集?其實(shí)無論你有多大的數(shù)據(jù)集,Drill都能輕松應(yīng)對。通過支持HBase、Cassandra和MongoDB,Drill建立了交互式分析平臺,允許大規(guī)模數(shù)據(jù)吞吐,而且能很快得出結(jié)果。
Apache Sqoop
也許你的數(shù)據(jù)現(xiàn)在還被鎖定于舊系統(tǒng)中,Sqoop可以幫你解決這個問題。這一平臺采用并發(fā)連接,可以將數(shù)據(jù)從關(guān)系數(shù)據(jù)庫系統(tǒng)方便地轉(zhuǎn)移到Hadoop中,可以自定義數(shù)據(jù)類型以及元數(shù)據(jù)傳播的映射。事實(shí)上,你還可以將數(shù)據(jù)(如新的數(shù)據(jù))導(dǎo)入到HDFS、Hive和Hbase中。
Apache Giraph
這是功能強(qiáng)大的圖形處理平臺,具有很好可擴(kuò)展性和可用性。該技術(shù)已經(jīng)被Facebook采用,Giraph可以運(yùn)行在Hadoop環(huán)境中,可以將它直接部署到現(xiàn)有的Hadoop系統(tǒng)中。通過這種方式,你可以得到強(qiáng)大的分布式作圖能力,同時還能利用上現(xiàn)有的大數(shù)據(jù)處理引擎。
Cloudera Impala
Impala模型也可以部署在你現(xiàn)有的Hadoop群集上,監(jiān)視所有的查詢。該技術(shù)和MapReduce一樣,具有強(qiáng)大的批處理能力,而且Impala對于實(shí)時的SQL查詢也有很好的效果,通過高效的SQL查詢,你可以很快的了解到大數(shù)據(jù)平臺上的數(shù)據(jù)。
Gephi
它可以用來對信息進(jìn)行關(guān)聯(lián)和量化處理,通過為數(shù)據(jù)創(chuàng)建功能強(qiáng)大的可視化效果,你可以從數(shù)據(jù)中得到不一樣的洞察力。Gephi已經(jīng)支持多個圖表類型,而且可以在具有上百萬個節(jié)點(diǎn)的大型網(wǎng)絡(luò)上運(yùn)行。Gephi具有活躍的用戶社區(qū),Gephi還提供了大量的插件,可以和現(xiàn)有系統(tǒng)完美的集成到一起,它還可以對復(fù)雜的IT連接、分布式系統(tǒng)中各個節(jié)點(diǎn)、數(shù)據(jù)流等信息進(jìn)行可視化分析。
MongoDB
這個堅(jiān)實(shí)的平臺一直被很多組織推崇,它在大數(shù)據(jù)管理上有極好的性能。MongoDB最初是由DoubleClick公司的員工創(chuàng)建,現(xiàn)在該技術(shù)已經(jīng)被廣泛的應(yīng)用于大數(shù)據(jù)管理。MongoDB是一個應(yīng)用開源技術(shù)開發(fā)的NoSQL數(shù)據(jù)庫,可以用于在JSON這樣的平臺上存儲和處理數(shù)據(jù)。目前,紐約時報(bào)、Craigslist以及眾多企業(yè)都采用了MongoDB,幫助他們管理大型數(shù)據(jù)集。(Couchbase服務(wù)器也作為一個參考)。
十大頂尖公司:
Amazon Web Services
Forrester將AWS稱為“云霸主”,談到云計(jì)算領(lǐng)域的大數(shù)據(jù),那就不得不提到亞馬遜。該公司的Hadoop產(chǎn)品被稱為EMR(Elastic Map Reduce),AWS解釋這款產(chǎn)品采用了Hadoop技術(shù)來提供大數(shù)據(jù)管理服務(wù),但它不是純開源Hadoop,經(jīng)過修改后現(xiàn)在被專門用在AWS云上。
Forrester稱EMR有很好的市場前景。很多公司基于EMR為客戶提供服務(wù),有一些公司將EMR應(yīng)用于數(shù)據(jù)查詢、建模、集成和管理。而且AWS還在創(chuàng)新,F(xiàn)orrester稱未來EMR可以基于工作量的需要自動縮放調(diào)整大小。亞馬遜計(jì)劃為其產(chǎn)品和服務(wù)提供更強(qiáng)大的EMR支持,包括它的RedShift數(shù)據(jù)倉庫、新公布的Kenesis實(shí)時處理引擎以及計(jì)劃中的NoSQL數(shù)據(jù)庫和商業(yè)智能工具。不過AWS還沒有自己的Hadoop發(fā)行版。
Cloudera
Cloudera有開源Hadoop的發(fā)行版,這個發(fā)行版采用了Apache Hadoop開源項(xiàng)目的很多技術(shù),不過基于這些技術(shù)的發(fā)行版也有很大的進(jìn)步。Cloudera為它的Hadoop發(fā)行版開發(fā)了很多功能,包括Cloudera管理器,用于管理和監(jiān)控,以及名為Impala的SQL引擎等。Cloudera的Hadoop發(fā)行版基于開源Hadoop,但也不是純開源的產(chǎn)品。當(dāng)Cloudera的客戶需要Hadoop不具備的某些功能時,Cloudera的工程師們就會實(shí)現(xiàn)這些功能,或者找一個擁有這項(xiàng)技術(shù)的合作伙伴。Forrester表示:“Cloudera的創(chuàng)新方法忠于核心Hadoop,但因?yàn)槠淇蓪?shí)現(xiàn)快速創(chuàng)新并積極滿足客戶需求,這一點(diǎn)使它不同于其他那些供應(yīng)商?!蹦壳埃珻loudera的平臺已經(jīng)擁有200多個付費(fèi)客戶,一些客戶在Cloudera的技術(shù)支持下已經(jīng)可以跨1000多個節(jié)點(diǎn)實(shí)現(xiàn)對PB級數(shù)據(jù)的有效管理。
Hortonworks
和Cloudera一樣,Hortonworks是一個純粹的Hadoop技術(shù)公司。與Cloudera不同的是,Hortonworks堅(jiān)信開源Hadoop比任何其他供應(yīng)商的Hadoop發(fā)行版都要強(qiáng)大。Hortonworks的目標(biāo)是建立Hadoop生態(tài)圈和Hadoop用戶社區(qū),推進(jìn)開源項(xiàng)目的發(fā)展。Hortonworks平臺和開源Hadoop聯(lián)系緊密,公司管理人員表示這會給用戶帶來好處,因?yàn)樗梢苑乐贡还?yīng)商套牢(如果Hortonworks的客戶想要離開這個平臺,他們可以輕松轉(zhuǎn)向其他開源平臺)。這并不是說Hortonworks完全依賴開源Hadoop技術(shù),而是因?yàn)樵摴緦⑵渌虚_發(fā)的成果回報(bào)給了開源社區(qū),比如Ambari,這個工具就是由Hortonworks開發(fā)而成,用來填充集群管理項(xiàng)目漏洞。Hortonworks的方案已經(jīng)得到了Teradata、Microsoft、Red Hat和SAP這些供應(yīng)商的支持。
IBM
當(dāng)企業(yè)考慮一些大的IT項(xiàng)目時,很多人首先會想到IBM。IBM是Hadoop項(xiàng)目的主要參與者之一,F(xiàn)orrester稱IBM已有100多個Hadoop部署,它的很多客戶都有PB級的數(shù)據(jù)。IBM在網(wǎng)格計(jì)算、全球數(shù)據(jù)中心和企業(yè)大數(shù)據(jù)項(xiàng)目實(shí)施等眾多領(lǐng)域有著豐富的經(jīng)驗(yàn)?!癐BM計(jì)劃繼續(xù)整合SPSS分析、高性能計(jì)算、BI工具、數(shù)據(jù)管理和建模、應(yīng)對高性能計(jì)算的工作負(fù)載管理等眾多技術(shù)?!?/p>
Intel
和AWS類似,英特爾不斷改進(jìn)和優(yōu)化Hadoop使其運(yùn)行在自己的硬件上,具體來說,就是讓Hadoop運(yùn)行在其至強(qiáng)芯片上,幫助用戶打破Hadoop系統(tǒng)的一些限制,使軟件和硬件結(jié)合的更好,英特爾的Hadoop發(fā)行版在上述方面做得比較好。Forrester指出英特爾在最近才推出這個產(chǎn)品,所以公司在未來還有很多改進(jìn)的可能,英特爾和微軟都被認(rèn)為是Hadoop市場上的潛力股。
MapR Technologies
MapR的Hadoop發(fā)行版目前為止也許是最好的了,不過很多人可能都沒有聽說過。Forrester對Hadoop用戶的調(diào)查顯示,MapR的評級最高,其發(fā)行版在架構(gòu)和數(shù)據(jù)處理能力上都獲得了最高分。MapR已將一套特殊功能融入其Hadoop發(fā)行版中。例如網(wǎng)絡(luò)文件系統(tǒng)(NFS)、災(zāi)難恢復(fù)以及高可用性功能。Forrester說MapR在Hadoop市場上沒有Cloudera和Hortonworks那樣的知名度,MapR要成為一個真正的大企業(yè),還需要加強(qiáng)伙伴關(guān)系和市場營銷。
Microsoft
微軟在開源軟件問題上一直很低調(diào),但在大數(shù)據(jù)形勢下,它不得不考慮讓W(xué)indows也兼容Hadoop,它還積極投入到開源項(xiàng)目中,以更廣泛地推動Hadoop生態(tài)圈的發(fā)展。我們可以在微軟的公共云Windows Azure HDInsight產(chǎn)品中看到其成果。微軟的Hadoop服務(wù)基于Hortonworks的發(fā)行版,而且是為Azure量身定制的。
微軟也有一些其他的項(xiàng)目,包括名為Polybase的項(xiàng)目,讓Hadoop查詢實(shí)現(xiàn)了SQLServer查詢的一些功能。Forrester說:“微軟在數(shù)據(jù)庫、數(shù)據(jù)倉庫、云、OLAP、BI、電子表格(包括PowerPivot)、協(xié)作和開發(fā)工具市場上有很大優(yōu)勢,而且微軟擁有龐大的用戶群,但要在Hadoop這個領(lǐng)域成為行業(yè)領(lǐng)導(dǎo)者還有很遠(yuǎn)的路要走?!?/p>
Pivotal Software
EMC和Vmware部分大數(shù)據(jù)業(yè)務(wù)分拆組合產(chǎn)生了Pivotal。Pivotal一直努力構(gòu)建一個性能優(yōu)越的Hadoop發(fā)行版,為此,Pivotal在開源Hadoop的基礎(chǔ)上又添加了一些新的工具,包括一個名為HAWQ的SQL引擎以及一個專門解決大數(shù)據(jù)問題的Hadoop應(yīng)用。Forrester稱Pivotal Hadoop平臺的優(yōu)勢在于它整合了Pivotal、EMC、Vmware的眾多技術(shù),Pivotal的真正優(yōu)勢實(shí)際上等于EMC和Vmware兩大公司為其撐腰。到目前為止,Pivotal的用戶還不到100個,而且大多是中小型客戶。
Teradata
對于Teradata來說,Hadoop既是一種威脅也是一種機(jī)遇。數(shù)據(jù)管理,特別是關(guān)于SQL和關(guān)系數(shù)據(jù)庫這一領(lǐng)域是Teradata的專長。所以像Hadoop這樣的NoSQL平臺崛起可能會威脅到Teradata。相反,Teradata接受了Hadoop,通過與Hortonworks合作,Teradata在Hadoop平臺集成了SQL技術(shù),這使Teradata的客戶可以在Hadoop平臺上方便地使用存儲在Teradata數(shù)據(jù)倉庫中的數(shù)據(jù)。
AMPLab
通過將數(shù)據(jù)轉(zhuǎn)變?yōu)樾畔?,我們才可以理解世界,而這也正是AMPLab所做的。AMPLab致力于機(jī)器學(xué)習(xí)、數(shù)據(jù)挖掘、數(shù)據(jù)庫、信息檢索、自然語言處理和語音識別等多個領(lǐng)域,努力改進(jìn)對信息包括不透明數(shù)據(jù)集內(nèi)信息的甄別技術(shù)。除了Spark,開源分布式SQL查詢引擎Shark也源于AMPLab,Shark具有極高的查詢效率,具有良好的兼容性和可擴(kuò)展性。近幾年的發(fā)展使計(jì)算機(jī)科學(xué)進(jìn)入到全新的時代,而AMPLab為我們設(shè)想一個運(yùn)用大數(shù)據(jù)、云計(jì)算、通信等各種資源和技術(shù)靈活解決難題的方案,以應(yīng)對越來越復(fù)雜的各種難題。
一份難得的數(shù)據(jù)庫市場分析報(bào)告
目錄
- 數(shù)據(jù)庫分類維度:關(guān)系型/非關(guān)系型、交易型/分析型
- NoSQL數(shù)據(jù)庫的進(jìn)一步分類
- OLTP市場規(guī)模:關(guān)系型數(shù)據(jù)庫仍占營收大頭
- 數(shù)據(jù)庫市場份額:云服務(wù)和新興廠商主導(dǎo)NoSQL
- 開源數(shù)據(jù)庫 vs. 商業(yè)數(shù)據(jù)庫
- 數(shù)據(jù)庫三大陣營:傳統(tǒng)廠商和云服務(wù)提供商
最近由于時間原因我寫東西少了,在公眾號上也轉(zhuǎn)載過幾篇搞數(shù)據(jù)庫朋友的大作。按說我算是外行,沒資格在這個領(lǐng)域品頭論足,而當(dāng)我看到下面這份報(bào)告時立即產(chǎn)生了學(xué)習(xí)的興趣,同時也想就能看懂的部分寫點(diǎn)心得體會分享給大家。
可能本文比較適合普及性閱讀,讓數(shù)據(jù)庫領(lǐng)域資深的朋友見笑了:)
數(shù)據(jù)庫分類維度:關(guān)系型/非關(guān)系型、交易型/分析型
首先是分類維度,上圖中的縱軸分類為Relational Database(關(guān)系型數(shù)據(jù)庫,RDBMS)和Nonrelational Database (非關(guān)系型數(shù)據(jù)庫,NoSQL),橫軸的分類為Operational(交易型,即OLTP)和Analytical(分析型,即OLAP)。
按照習(xí)慣我們先看關(guān)系型數(shù)據(jù)庫,左上角的交易型類別中包括大家熟悉的商業(yè)數(shù)據(jù)庫Oracle、MS SQL Server、DB2、Infomix,也包括開源領(lǐng)域流行的MySQL(MariaDB是它的一個分支)、PostgreSQL,還有云上面比較常見的SQL Azure和Amazon Aurora等。
比較有意思的是,SAP HANA正好位于交易型和分析型的中間分界處,不要忘了SAP還收購了Sybase,盡管后者今天不夠風(fēng)光了,而早年微軟的SQL Server都是來源于Sybase。Sybase的ASE數(shù)據(jù)庫和分析型Sybase IQ還是存在的。
右上角的分析型產(chǎn)品中包括幾款知名的列式數(shù)據(jù)倉庫Pivotal Greenplum、Teradata和IBM Netezza(已宣布停止支持),來自互聯(lián)網(wǎng)巨頭的Google Big Query和Amazon RedShift。至于Oracle Exadata一體機(jī),它上面運(yùn)行的也是Oracle數(shù)據(jù)庫,其最初設(shè)計(jì)用途是OLAP,而在后來發(fā)展中也可以良好兼顧OLTP,算是一個跨界產(chǎn)品吧。
再來看非關(guān)系型數(shù)據(jù)庫,左下角的交易型產(chǎn)品中,有幾個我看著熟悉的MongoDB、Redis、Amazon DynamoDB和DocumentDB等;右下角的分析型產(chǎn)品包括著名的Hadoop分支Cloudera、Hortonworks(這2家已并購),Bigtable(來自Google,Hadoop中的HBase是它的開源實(shí)現(xiàn))、Elasticsearch等。
顯然非關(guān)系型數(shù)據(jù)庫的分類要更加復(fù)雜,產(chǎn)品在應(yīng)用中的差異化也比傳統(tǒng)關(guān)系型數(shù)據(jù)庫更大。Willian Blair很負(fù)責(zé)任地對它們給出了進(jìn)一步的分類。
NoSQL數(shù)據(jù)庫的進(jìn)一步分類
上面這個圖表應(yīng)該說很清晰了。非關(guān)系型數(shù)據(jù)庫可以分為Document-based Store(基于文檔的存儲)、Key-Value Store(鍵值存儲)、Graph-based(圖數(shù)據(jù)庫)、Time Series(時序數(shù)據(jù)庫),以及Wide Cloumn-based Store(寬列式存儲)。
我們再來看下每個細(xì)分類別中的產(chǎn)品:
文檔存儲 :MongoDB、Amazon DocumentDB、Azure Cosmos DB等
Key-Value存儲 :Redis Labs、Oracle Berkeley DB、Amazon DynamoDB、Aerospike等
圖數(shù)據(jù)庫 :Neo4j等
時序數(shù)據(jù)庫 :InfluxDB等
WideCloumn :DataStax、Cassandra、Apache HBase和Bigtable等
多模型數(shù)據(jù)庫 :支持上面不只一種類別特性的NoSQL,比如MongoDB、Redis Labs、Amazon DynamoDB和Azure Cosmos DB等。
OLTP市場規(guī)模:關(guān)系型數(shù)據(jù)庫仍占營收大頭
上面這個基于IDC數(shù)據(jù)的交易型數(shù)據(jù)庫市場份額共有3個分類,其中深藍(lán)色部分的關(guān)系型數(shù)據(jù)庫(RDBMS,在這里不統(tǒng)計(jì)數(shù)據(jù)挖掘/分析型數(shù)據(jù)庫)占據(jù)80%以上的市場。
Dynamic Database(DDMS,動態(tài)數(shù)據(jù)庫管理系統(tǒng),同樣不統(tǒng)計(jì)Hadoop)就是我們前面聊的非關(guān)系型數(shù)據(jù)庫。這部分市場顯得?。ǖl(fā)展勢頭看好),我覺得與互聯(lián)網(wǎng)等大公司多采用開源+自研,而不買商業(yè)產(chǎn)品有關(guān)。
而遵循IDC的統(tǒng)計(jì)分類,在上圖灰色部分的“非關(guān)系型數(shù)據(jù)庫市場”其實(shí)另有定義,參見下面這段文字:
數(shù)據(jù)庫市場份額:云服務(wù)和新興廠商主導(dǎo)NoSQL
請注意,這里的關(guān)系型數(shù)據(jù)庫統(tǒng)計(jì)又包含了分析型產(chǎn)品。Oracle營收份額42%仍居第一,隨后排名依次為微軟、IBM、SAP和Teradata。
代表非關(guān)系型數(shù)據(jù)庫的DDMS分類中(這里同樣加入Hadoop等),云服務(wù)和新興廠商成為了主導(dǎo),微軟應(yīng)該是因?yàn)樵芐QL Server的基礎(chǔ)而小幅領(lǐng)先于AWS,這2家一共占據(jù)超過50%的市場,接下來的排名是Google、Cloudera和Hortonworks(二者加起來13%)。
上面是IDC傳統(tǒng)分類中的“非關(guān)系型數(shù)據(jù)庫”,在這里IBM和CA等應(yīng)該主要是針對大型機(jī)的產(chǎn)品,InterSystems有一款在國內(nèi)醫(yī)療HIS系統(tǒng)中應(yīng)用的Caché數(shù)據(jù)庫(以前也是運(yùn)行在Power小機(jī)上比較多)。我就知道這些,余下的就不瞎寫了。
開源數(shù)據(jù)庫 vs. 商業(yè)數(shù)據(jù)庫
按照流行度來看,開源數(shù)據(jù)庫從2013年到現(xiàn)在一直呈現(xiàn)增長,已經(jīng)快要追上商業(yè)數(shù)據(jù)庫了。
商業(yè)產(chǎn)品在關(guān)系型數(shù)據(jù)庫的占比仍然高達(dá)60.5%,而上表中從這列往左的分類都是開源占優(yōu):
Wide Cloumn:開源占比81.8%;
時序數(shù)據(jù)庫:開源占比80.7%;
文檔存儲:開源占比80.0%;
Key-Value存儲:開源占比72.2%;
圖數(shù)據(jù)庫:開源占比68.4%;
搜索引擎:開源占比65.3%
按照開源License的授權(quán)模式,上面這個三角形越往下管的越寬松。比如MySQL屬于GPL,在互聯(lián)網(wǎng)行業(yè)用戶較多;而PostgreSQL屬于BSD授權(quán),國內(nèi)有不少數(shù)據(jù)庫公司的產(chǎn)品就是基于Postgre哦。
數(shù)據(jù)庫三大陣營:傳統(tǒng)廠商和云服務(wù)提供商
前面在討論市場份額時,我提到過交易型數(shù)據(jù)庫的4個巨頭仍然是Oracle、微軟、IBM和SAP,在這里William Blair將他們歸為第一陣營。
隨著云平臺的不斷興起,AWS、Azure和GCP(Google Cloud Platform)組成了另一個陣營,在國外分析師的眼里還沒有BAT,就像有的朋友所說,國內(nèi)互聯(lián)網(wǎng)巨頭更多是自身業(yè)務(wù)導(dǎo)向的,在本土發(fā)展公有云還有些優(yōu)勢,短時間內(nèi)將技術(shù)輸出到國外的難度應(yīng)該還比較大。(當(dāng)然我并不認(rèn)為國內(nèi)缺優(yōu)秀的DBA和研發(fā)人才)
第三個陣容就是規(guī)模小一些,但比較專注的數(shù)據(jù)庫玩家。
接下來我再帶大家簡單過一下這前兩個陣容,看看具體的數(shù)據(jù)庫產(chǎn)品都有哪些。
甲骨文的產(chǎn)品,我相對熟悉一些的有Oracle Database、MySQL以及Exadata一體機(jī)。
IBM DB2也是一個龐大的家族,除了傳統(tǒng)針對小型機(jī)、x86(好像用的人不多)、z/OS大型機(jī)和for i的版本之外,如今也有了針對云和數(shù)據(jù)挖掘的產(chǎn)品。記得抱枕大師對Informix的技術(shù)比較推崇,可惜這個產(chǎn)品發(fā)展似乎不太理想。
微軟除了看家的SQL Server之外,在Azure云上還能提供MySQL、PostgreSQL和MariaDB開源數(shù)據(jù)庫。應(yīng)該說他們是傳統(tǒng)軟件License+PaaS服務(wù)兩條腿走路的。
如今人們一提起SAP的數(shù)據(jù)庫就想起HANA,之前從Sybase收購來的ASE(Adaptive Server Enterprise)和IQ似乎沒有之前發(fā)展好了。
在云服務(wù)提供商數(shù)據(jù)庫的3巨頭中,微軟有SQL Server的先天優(yōu)勢,甚至把它移植到了Linux擁抱開源平臺。關(guān)系型數(shù)據(jù)庫的創(chuàng)新方面值得一提的是Amazon Aurora和Google Spanner(也有非關(guān)系型特性),至于它們具體好在哪里我就不裝內(nèi)行了:)
非關(guān)系型數(shù)據(jù)庫則是Amazon全面開花,這與其云計(jì)算業(yè)務(wù)發(fā)展早并且占據(jù)優(yōu)勢有關(guān)。Google當(dāng)年的三篇經(jīng)典論文對業(yè)界影響深遠(yuǎn),Yahoo基于此開源的Hadoop有一段時間幾乎是大數(shù)據(jù)的代名詞。HBase和Hive如今已不再是人們討論的熱點(diǎn),而Bigtable和BigQuery似乎仍然以服務(wù)Google自身業(yè)務(wù)為主,畢竟GCP的規(guī)模比AWS要小多了。
最后這張DB-Engines的排行榜,相信許多朋友都不陌生,今年3月已經(jīng)不是最新的數(shù)據(jù),在這里列出只是給大家一個參考。該排行榜幾乎在每次更新時,都會有國內(nèi)數(shù)據(jù)庫專家撰寫點(diǎn)評。
以上是我周末的學(xué)習(xí)筆記,班門弄斧,希望對大家有幫助。
參考資料《Database Software Market:The Long-Awaited Shake-up》
擴(kuò)展閱讀:《 數(shù)據(jù)庫存儲:互相最想知道的事 》
尊重知識,轉(zhuǎn)載時請保留全文。感謝您的閱讀和支持!
NoSQL 數(shù)據(jù)庫:何時使用 NoSQL 與 SQL?
NoSQL 數(shù)據(jù)庫因其功能性、易于開發(fā)性和可擴(kuò)展性而廣受認(rèn)可,它們越來越多地用于大數(shù)據(jù)和實(shí)時 Web 應(yīng)用程序,在本文中,我們通過示例討論 NoSQL、何時使用 NoSQL 與 SQL 及其用例。
NoSQL是一種下一代數(shù)據(jù)庫管理系統(tǒng) (DBMS)。NoSQL 數(shù)據(jù)庫具有靈活的模式,可用于構(gòu)建具有大量數(shù)據(jù)和高負(fù)載的現(xiàn)代應(yīng)用程序。
“NoSQL”一詞最初是由 Carlo Strozzi 在 1998 年創(chuàng)造的,盡管自 1960 年代后期以來就已經(jīng)存在類似的數(shù)據(jù)庫。然而,NoSQL 的發(fā)展始于 2009 年初,并且發(fā)展迅速。
在處理大量數(shù)據(jù)時,任何關(guān)系數(shù)據(jù)庫管理系統(tǒng) (RDBMS) 的響應(yīng)時間都會變慢。為了解決這個問題,我們可以通過升級現(xiàn)有硬件來“擴(kuò)大”信息系統(tǒng),這非常昂貴。但是,NoSQL 可以更好地橫向擴(kuò)展并且更具成本效益。
NoSQL 對于非結(jié)構(gòu)化或非常大的數(shù)據(jù)對象(例如聊天日志數(shù)據(jù)、視頻或圖像)非常有用,這就是為什么 NoSQL 在微軟、谷歌、亞馬遜、Meta (Facebook) 等互聯(lián)網(wǎng)巨頭中特別受歡迎的原因。
一些流行的 NoSQL 數(shù)據(jù)庫包括:
隨著企業(yè)更快地積累更大的數(shù)據(jù)集,結(jié)構(gòu)化數(shù)據(jù)和關(guān)系模式并不總是適合。有必要使用非結(jié)構(gòu)化數(shù)據(jù)和大型對象來更好地捕獲這些信息。
傳統(tǒng)的 RDBMS 使用 SQL(結(jié)構(gòu)化查詢語言)語法來存儲和檢索結(jié)構(gòu)化數(shù)據(jù),相反,NoSQL 數(shù)據(jù)庫包含廣泛的功能,可以存儲和檢索結(jié)構(gòu)化、半結(jié)構(gòu)化、非結(jié)構(gòu)化和多態(tài)數(shù)據(jù)。
有時,NoSQL 也被稱為“ 不僅僅是 SQL ”,強(qiáng)調(diào)它可能支持類似 SQL 的語言或與 SQL 數(shù)據(jù)庫并列。SQL 和 NoSQL DBMS 之間的一個區(qū)別是 JOIN 功能。SQL 數(shù)據(jù)庫使用 JOIN 子句來組合來自兩個或多個表的行,因?yàn)?NoSQL 數(shù)據(jù)庫本質(zhì)上不是表格的,所以這個功能并不總是可行或相關(guān)的。
但是,一些 NoSQL DBMS 可以執(zhí)行類似于 JOIN的操作——就像 MongoDB 一樣。這并不意味著不再需要 SQL DBMS,相反,NoSQL 和 SQL 數(shù)據(jù)庫傾向于以不同的方式解決類似的問題。
一般來說,在以下情況下,NoSQL 比 SQL 更可取:
許多行業(yè)都在采用 NoSQL,取代關(guān)系數(shù)據(jù)庫,從而為某些業(yè)務(wù)應(yīng)用程序提供更高的靈活性和可擴(kuò)展性,下面給出了 NoSQL 數(shù)據(jù)庫的一些企業(yè)用例。
內(nèi)容管理是一組用于收集、管理、傳遞、檢索和發(fā)布任何格式的信息的過程,包括文本、圖像、音頻和視頻。NoSQL 數(shù)據(jù)庫可以通過其靈活和開放的數(shù)據(jù)模型為存儲多媒體內(nèi)容提供更好的選擇。
例如,福布斯在短短幾個月內(nèi)就構(gòu)建了一個基于 MongoDB 的定制內(nèi)容管理系統(tǒng),以更低的成本為他們提供了更大的敏捷性。
大數(shù)據(jù)是指太大而無法通過傳統(tǒng)處理系統(tǒng)處理的數(shù)據(jù)集,實(shí)時存儲和檢索大數(shù)據(jù)的系統(tǒng)在分析 歷史 數(shù)據(jù)的同時使用流處理來攝取新數(shù)據(jù),這是一系列非常適合 NoSQL 數(shù)據(jù)庫的功能。
Zoom使用 DynamoDB(按需模式)使其數(shù)據(jù)能夠在沒有性能問題的情況下進(jìn)行擴(kuò)展,即使該服務(wù)在 COVID-19 大流行的早期使用量激增。
物聯(lián)網(wǎng)設(shè)備具有連接到互聯(lián)網(wǎng)或通信網(wǎng)絡(luò)的嵌入式軟件和傳感器,能夠在無需人工干預(yù)的情況下收集和共享數(shù)據(jù)。隨著數(shù)十億臺設(shè)備生成數(shù)不清的數(shù)據(jù),IoT NoSQL 數(shù)據(jù)庫為 IoT 服務(wù)提供商提供了可擴(kuò)展性和更靈活的架構(gòu)。
Freshub就是這樣的一項(xiàng)服務(wù),它從 MySQL 切換到 MongoDB,以更好地處理其大型、動態(tài)、非統(tǒng)一的數(shù)據(jù)集。
擁有數(shù)十億智能手機(jī)用戶,可擴(kuò)展性正成為在移動設(shè)備上提供服務(wù)的企業(yè)面臨的最大挑戰(zhàn)。具有更靈活數(shù)據(jù)模型的 NoSQL DBMS 通常是完美的解決方案。
例如,The Weather Channel使用 MongoDB 數(shù)據(jù)庫每分鐘處理數(shù)百萬個請求,同時還處理用戶數(shù)據(jù)并提供天氣更新。
數(shù)據(jù)庫軟件都有那些?
企業(yè)里常用的數(shù)據(jù)庫軟件有Mysql、PostgreSQL、Microsoft SQL Server、Oracle數(shù)據(jù)庫、MongoDB。
1、Mysql。
MySQL原本是一個開放源碼的關(guān)系數(shù)據(jù)庫管理系統(tǒng),原開發(fā)者為瑞典的MySQL AB公司,該公司于2008年被升陽微系統(tǒng)(Sun Microsystems)收購。2009年,甲骨文公司(Oracle)收購升陽微系統(tǒng)公司,MySQL成為Oracle旗下產(chǎn)品。
MySQL由于性能高、成本低、可靠性好,已經(jīng)成為最流行的開源數(shù)據(jù)庫,因此被廣泛地應(yīng)用在Internet上的中小型網(wǎng)站中。隨著MySQL的不斷成熟,它也逐漸用于更多大規(guī)模網(wǎng)站和應(yīng)用。
2、PostgreSQL。
PostgreSQL 可以說是目前功能最強(qiáng)大、特性最豐富和結(jié)構(gòu)最復(fù)雜的開源數(shù)據(jù)庫管理系統(tǒng),其中有些特性甚至連商業(yè)數(shù)據(jù)庫都不具備。這個起源于加州大學(xué)伯克利分校的數(shù)據(jù)庫,現(xiàn)已成為一項(xiàng)國際開發(fā)項(xiàng)目,并且擁有廣泛的用戶群,尤其是在海外,目前國內(nèi)使用者也越來越多。
PostgreSQL 基本上算是見證了整個數(shù)據(jù)庫理論和技術(shù)的發(fā)展歷程,由 UCB 計(jì)算機(jī)教授 Michael Stonebraker 于 1986 年創(chuàng)建。在此之前,Stonebraker 教授主導(dǎo)了關(guān)系數(shù)據(jù)庫 Ingres 研究項(xiàng)目,88 年,提出了 Postgres 的第一個原型設(shè)計(jì)。
MySQL 號稱是使用最廣泛的開源數(shù)據(jù)庫,而 PG 則被稱為功能最強(qiáng)大的開源數(shù)據(jù)庫。
3、Microsoft SQL Server。
SQL Server 是 Microsoft 開發(fā)的一個關(guān)系數(shù)據(jù)庫管理系統(tǒng)(RDBMS),現(xiàn)在是世界上最為常用的數(shù)據(jù)庫。SQL Server?現(xiàn)在是包括內(nèi)置的商務(wù)智能工具,以及一系列的分析和報(bào)告工具,可以創(chuàng)建數(shù)據(jù)庫、備份、復(fù)制、安全性更好以及更多。
SQL Server 是一個高度可擴(kuò)展的產(chǎn)品,可以從一個單一的筆記本電腦上運(yùn)行的任何東西或以高倍云服務(wù)器網(wǎng)絡(luò),或在兩者之間任何東西。雖然說是“任何東西”,但是仍然要滿足相關(guān)的軟件和硬件的要求。
4、Oracle數(shù)據(jù)庫。
Oracle數(shù)據(jù)庫系統(tǒng)是美國Oracle(甲骨文)公司提供的以分布式數(shù)據(jù)庫為核心的一組軟件產(chǎn)品,是目前最流行的客戶/服務(wù)器(Client/Server,C/S)或?yàn)g覽器/服務(wù)器(Browser/Server,B/S)體系結(jié)構(gòu)的數(shù)據(jù)庫之一。
Oracle數(shù)據(jù)庫是目前世界上使用最為廣泛的數(shù)據(jù)庫管理系統(tǒng),作為一個通用的數(shù)據(jù)庫系統(tǒng),它具有完整的數(shù)據(jù)管理功能;作為一個關(guān)系數(shù)據(jù)庫,它是一個完備關(guān)系的產(chǎn)品;作為分布式數(shù)據(jù)庫它實(shí)現(xiàn)了分布式處理功能。
5、MongoDB
mongoDB是一個介于關(guān)系數(shù)據(jù)庫和非關(guān)系數(shù)據(jù)庫之間的開源產(chǎn)品,是最接近于關(guān)系型數(shù)據(jù)庫的NoSQL數(shù)據(jù)庫。它在輕量級JSON交換基礎(chǔ)之上進(jìn)行了擴(kuò)展,即稱為BSON的方式來描述其無結(jié)構(gòu)化的數(shù)據(jù)類型。盡管如此它同樣可以存儲較為復(fù)雜的數(shù)據(jù)類型。
參考資料來源:百度百科——Mysql
參考資料來源:百度百科——PostgreSQL
參考資料來源:百度百科——Microsoft SQL Server
參考資料來源:百度百科——Oracle數(shù)據(jù)庫
參考資料來源:百度百科——MongoDB
新聞標(biāo)題:nosql微軟,NoSql
文章URL:http://www.dlmjj.cn/article/hdchpo.html