AWS推出了與SQL兼容的查詢語言PartiQL,只要數(shù)據(jù)庫查詢引擎提供PartiQL支持,使用者就能以PartiQL單一查詢關(guān)聯(lián)式數(shù)據(jù)庫的結(jié)構(gòu)化資料,以及開放資料格式中的巢狀資料或是半結(jié)構(gòu)化資料,甚至還能用來查詢NoSQL或是文件數(shù)據(jù)庫中無固定結(jié)構(gòu)(Schema-less)的資料。除了AWS自家的數(shù)據(jù)庫服務(wù),NoSQL數(shù)據(jù)庫Couchbase Server也承諾將會(huì)支持PartiQL。
10余年的崖州網(wǎng)站建設(shè)經(jīng)驗(yàn),針對設(shè)計(jì)、前端、開發(fā)、售后、文案、推廣等六對一服務(wù),響應(yīng)快,48小時(shí)及時(shí)工作處理。成都全網(wǎng)營銷推廣的優(yōu)勢是能夠根據(jù)用戶設(shè)備顯示端的尺寸不同,自動(dòng)調(diào)整崖州建站的顯示方式,使網(wǎng)站能夠適用不同顯示終端,在瀏覽器中調(diào)整網(wǎng)站的寬度,無論在任何一種瀏覽器上瀏覽網(wǎng)站,都能展現(xiàn)優(yōu)雅布局與設(shè)計(jì),從而大程度地提升瀏覽體驗(yàn)。創(chuàng)新互聯(lián)從事“崖州網(wǎng)站設(shè)計(jì)”,“崖州網(wǎng)站推廣”以來,每個(gè)客戶項(xiàng)目都認(rèn)真落實(shí)執(zhí)行。
企業(yè)資料分散在關(guān)聯(lián)式數(shù)據(jù)庫、非關(guān)聯(lián)式數(shù)據(jù)庫以及資料湖泊中。高度結(jié)構(gòu)化的資料,儲(chǔ)存在SQL數(shù)據(jù)庫或是資料倉儲(chǔ);無固定結(jié)構(gòu)的資料則由鍵值儲(chǔ)存、圖形數(shù)據(jù)庫(Graph Database)、分類帳數(shù)據(jù)庫或是時(shí)間序列數(shù)據(jù)庫等NoSQL數(shù)據(jù)庫處理;而在資料湖泊中的資料,可能也有部分缺乏結(jié)構(gòu),或是可能為巢狀或是多值結(jié)構(gòu)。不同的資料類型適用于不同的使用案例,而每種類型的資料,可能都有自己的查詢語言。
不同的資料儲(chǔ)存對應(yīng)不同的查詢語言,當(dāng)企業(yè)更換資料格式或是數(shù)據(jù)庫引擎時(shí),可能還需要跟著改變應(yīng)用程式和查詢語法,AWS提到,這對于資料的應(yīng)用,特別是使用資料湖泊的靈活性與效率,有著很大的阻礙。為了統(tǒng)一不同類型數(shù)據(jù)庫存取方法,AWS發(fā)布了查詢語言PartiQL,這是個(gè)與SQL兼容的查詢語言,可以用來查詢以各種格式儲(chǔ)存在各地的資料。
用戶可以使用PartiQL來查詢關(guān)聯(lián)式數(shù)據(jù)庫,像是在Redshift實(shí)作交易或是資料分析等應(yīng)用,或?qū)τ贏mazon S3資料湖泊的開放資料格式,同樣能使用PartiQL對巢狀資料與半結(jié)構(gòu)化資料例如Amazon Ion格式進(jìn)行查詢,另外,PartiQL也可用于文件數(shù)據(jù)庫等NoSQL數(shù)據(jù)庫,查詢無固定結(jié)構(gòu)的資料。
AWS表示,PartiQL的出現(xiàn),是為了滿足自家查詢和轉(zhuǎn)換大量資料的需求,其提供嚴(yán)格的SQL兼容性,可與標(biāo)準(zhǔn)SQL混合使用,執(zhí)行連接(Join)、過濾(Filtering)與聚合(Aggregation)操作,并以最小擴(kuò)充支持巢狀和半結(jié)構(gòu)化資料,讓開發(fā)者以簡單且一致的方法,不需要更改查詢語言,就能查詢各種格式和服務(wù)的資料。
PartiQL具格式獨(dú)立性與儲(chǔ)存獨(dú)立性,PartiQL語法和語義不依賴任何資料格式,無論使用者是要查詢JSON、Parquet、ORC、CSV還是Ion等格式,查詢語句的寫法都相同,PartiQL的查詢在綜合邏輯類型系統(tǒng)上運(yùn)作,才對應(yīng)到不同底層的格式。而PartiQL也不相依于特定資料儲(chǔ)存,因此適用于不同的底層資料儲(chǔ)存。
雖然過去針對跨不同類型數(shù)據(jù)庫查詢的問題,已有不少解決方案,AWS指出,像是Postgres JSON同樣也兼容于SQL,但是卻無法良好地處理JSON巢狀資料;而半結(jié)構(gòu)化查詢語言,雖然能良好處理巢狀資料,但卻無法與SQL語言兼容。AWS提到,PartiQL是第一個(gè)能夠完全解決這些問題的查詢語言。
目前AWS已在自家多項(xiàng)服務(wù)支持PartiQL,包括Amazon S3 Select、Amazon Glacier Select、Amazon Redshift Spectrum、Amazon QLDB,接下來幾個(gè)月將會(huì)有更多的AWS服務(wù)支持PartiQL,Couchbase也公布將加入支持PartiQL的行列。現(xiàn)在PartiQL以Apache2.0授權(quán)許可開源,公開教學(xué)、規(guī)范以及參考實(shí)作,所有社群都能使用并參與貢獻(xiàn)。
Web1.0的時(shí)代,數(shù)據(jù)訪問量很有限,用一夫當(dāng)關(guān)的高性能的單點(diǎn)服務(wù)器可以解決大部分問題。
隨著Web2.0的時(shí)代的到來,用戶訪問量大幅度提升,同時(shí)產(chǎn)生了大量的用戶數(shù)據(jù)。加上后來的智能移動(dòng)設(shè)備的普及,所有的互聯(lián)網(wǎng)平臺都面臨了巨大的性能挑戰(zhàn)。
NoSQL(NoSQL = Not Only SQL ),意即“不僅僅是SQL”,泛指非關(guān)系型的數(shù)據(jù)庫。
NoSQL 不依賴業(yè)務(wù)邏輯方式存儲(chǔ),而以簡單的key-value模式存儲(chǔ)。因此大大的增加了數(shù)據(jù)庫的擴(kuò)展能力。
Memcache Memcache Redis Redis MongoDB MongoDB 列式數(shù)據(jù)庫 列式數(shù)據(jù)庫 Hbase Hbase
HBase是Hadoop項(xiàng)目中的數(shù)據(jù)庫。它用于需要對大量的數(shù)據(jù)進(jìn)行隨機(jī)、實(shí)時(shí)的讀寫操作的場景中。
HBase的目標(biāo)就是處理數(shù)據(jù)量非常龐大的表,可以用普通的計(jì)算機(jī)處理超過10億行數(shù)據(jù),還可處理有數(shù)百萬列元素的數(shù)據(jù)表。
Cassandra Cassandra
Apache Cassandra是一款免費(fèi)的開源NoSQL數(shù)據(jù)庫,其設(shè)計(jì)目的在于管理由大量商用服務(wù)器構(gòu)建起來的龐大集群上的海量數(shù)據(jù)集(數(shù)據(jù)量通常達(dá)到PB級別)。在眾多顯著特性當(dāng)中,Cassandra最為卓越的長處是對寫入及讀取操作進(jìn)行規(guī)模調(diào)整,而且其不強(qiáng)調(diào)主集群的設(shè)計(jì)思路能夠以相對直觀的方式簡化各集群的創(chuàng)建與擴(kuò)展流程。
主要應(yīng)用:社會(huì)關(guān)系,公共交通網(wǎng)絡(luò),地圖及網(wǎng)絡(luò)拓譜(n*(n-1)/2)
1、MySQL
MySQL是一個(gè)開源的關(guān)系型數(shù)據(jù)庫管理系統(tǒng),為甲骨文公司產(chǎn)品。支持多種存儲(chǔ)引擎、集群、全文索引、支持多線程、充分利用CPU資源、支持多用戶等其它許多非常專業(yè)的功能。
MySQL由于性能高、成本低、可靠性好已經(jīng)成為最流行的開源數(shù)據(jù)庫,并且被廣泛應(yīng)用在Web應(yīng)用程序以及其它中小型項(xiàng)目上。從WordPress到Movable
Type都把MySQL作為默認(rèn)的數(shù)據(jù)庫。此外,自甲骨文收購MySQL以后,又將MySQL閉源的潛在風(fēng)險(xiǎn),因此社區(qū)采用分支的方式避開這種風(fēng)險(xiǎn),開發(fā)并運(yùn)營著完全兼容MySQL的MariaDB數(shù)據(jù)庫。
2、MongoDB
MongoDB是一款開源、面向文檔并且也是當(dāng)下人氣最旺的Nosql數(shù)據(jù)庫,它也是一款介于關(guān)系數(shù)據(jù)庫和非關(guān)系數(shù)據(jù)庫之間的產(chǎn)品。Mongo最大特點(diǎn)是它支持的查詢語言非常強(qiáng)大,其語法有點(diǎn)類似于面向?qū)ο蟮牟樵冋Z言,幾乎可以實(shí)現(xiàn)類似關(guān)系數(shù)據(jù)庫單表查詢的絕大部分功能,而且還支持對數(shù)據(jù)建立索引。還具有高性能、易部署、易使用,存儲(chǔ)數(shù)據(jù)非常方便等特點(diǎn)。
3、Hadoop
Hadoop是一個(gè)開源的、基于列存儲(chǔ)模型的分布式數(shù)據(jù)庫,它是Apache Hadoop項(xiàng)目的一部分,開發(fā)語言為Java。
Hadoop不同于一般的關(guān)系數(shù)據(jù)庫,它是一個(gè)適合于非結(jié)構(gòu)化數(shù)據(jù)存儲(chǔ)的數(shù)據(jù)庫。另一個(gè)不同的是Hadoop基于列的而不是基于行的模式。且具有高可靠性、高性能、可伸縮、并建立在關(guān)系模型基礎(chǔ)上的分布式數(shù)據(jù)庫。
4、Redis
Redis是一個(gè)開源、支持網(wǎng)絡(luò)、基于內(nèi)存、鍵值對存儲(chǔ)數(shù)據(jù)庫。開發(fā)者無需存儲(chǔ)數(shù)字和字符串即可dump整個(gè)哈希值、列表、集合以及其它復(fù)雜的結(jié)果存儲(chǔ),此外,Redis還提供復(fù)制/同步和持久化等功能。
Redis是一個(gè)高性能的鍵值對數(shù)據(jù)庫。Redis的出現(xiàn),很大程度補(bǔ)償了memcached這類key/value存儲(chǔ)的不足,在部分場合可以對關(guān)系數(shù)據(jù)庫起到很好的補(bǔ)充作用。
5、MariaDB
MariaDB數(shù)據(jù)庫管理系統(tǒng)是MySQL的一個(gè)分支,完全兼容MySQL,包括API和命令行,使之能輕松成為MySQL的代替品。在存儲(chǔ)引擎方面,使用XtraDB來代替MySQL的InnoDB。另外又添加了一些功能,以支持本地的非阻塞操作和進(jìn)度報(bào)告。這意味著,所有使用MySQL的連接器、庫和應(yīng)用程序也將會(huì)在MariaDB下工作。
Apache三劍客:HBase, Cassandra, CouchDB。HBase的前景最為看好,因?yàn)樗拈_發(fā)者眾多并且都是頂尖高手。Cassandra目前有很多否定的聲音。CouchDB的小而精悍,贊譽(yù)很多,將要正式發(fā)布的CouchBase融合了MemBase和CouchDB,很令人期待。
HBase和Cassandra都是效仿Google的BigTable的基于列的數(shù)據(jù)庫,它們都是用Java寫的。另外一類似的數(shù)據(jù)庫是HyperTable,百度用在一些后臺分析,因?yàn)樗荂++寫的,速度比較快。不過HyperTable有點(diǎn)邊緣,不太流行。這些基于列的開源數(shù)據(jù)庫目前都比Goolge的BigTable差之少一個(gè)數(shù)量級
CouchDB是一個(gè)文檔數(shù)據(jù)庫。其最大的競爭者是MongoDB。MongoDB和HBase都采用主從服務(wù)器設(shè)計(jì)。CouchDB的服務(wù)器分布設(shè)計(jì)和Cassandra類似,Peer to Peer類型的。主從服務(wù)器設(shè)計(jì)一般能更好的strong consistent,屬于CAP理論中的CP類型。 CouchDB和Cassandra一般認(rèn)為都是eventual consistent,屬于CAP理論中的AP類型。但其實(shí)MongoDB和Cassandra都可以設(shè)置成strong consistent或者eventual consistent。
以上所提到的數(shù)據(jù)庫都支持MapReduce。好像出了HyperTable都支持非主鍵索引。HBase和strong consistent配置的MongoDB都支持最基本的鎖定(HBase單行鎖定,MongoDB單文檔鎖定),因此可以實(shí)現(xiàn)transaction,但是實(shí)現(xiàn)有點(diǎn)復(fù)雜和低效。單就transaction這一點(diǎn),目前開源NoSQL數(shù)據(jù)庫沒有做的比較好的。
MongoDB的最大賣點(diǎn)是不需構(gòu)建非主鍵索引也能執(zhí)行很多查詢。但是MongoDB的服務(wù)器分布設(shè)計(jì)實(shí)在不能讓人恭維,可以說是NoSQL數(shù)據(jù)庫中最Ugly的實(shí)現(xiàn)。
K-V數(shù)據(jù)庫比較多,而且上面提到的基于列的數(shù)據(jù)庫和文檔數(shù)據(jù)庫其實(shí)也都是K-V數(shù)據(jù)庫。比較流行的純種K-V數(shù)據(jù)庫有:
Memcached: 非常流行,不支持持久化
VMWare's Redis: 很流行,新浪和知乎都在用,CP類型。
MemBase: 由很多Memcached的開發(fā)者開發(fā),使用sqlite作底層存儲(chǔ)。在社交游戲中用的比較多, zynga在用,CP類型。
Riak, 分布式實(shí)現(xiàn)和CouchDB/Cassandra比較像,AP類型。支持MapReduce。
Linkin's Voldemort, 在K-V中少見的eventual consistent ,AP類型。
TT, TC
純基于二維座標(biāo)索引的是Neo4j。但是現(xiàn)在MongoDB和CouchDB都集成這一特性。
目前CouchDB的開發(fā)者成立的公司CouchOne收購了MemBase,將其底層sqlite換成CouchDB推出了CouchBase,從而引入MapReduce以支持非主鍵索引。CouchBase暫時(shí)還沒有正式發(fā)布官方正式版,不過快了。雖然CouchDB是eventual consistent的,但是CouchBase的開發(fā)者宣稱CouchBase保持了MemBase的strong consistent特性,具體實(shí)現(xiàn)有待以后研究。
如果從成熟的角度來看,比較成熟并且十分流行的的有CouchDB,Memcached,Redis。
分享題目:nosql有哪些開源,開源nosql數(shù)據(jù)庫
本文地址:http://vcdvsql.cn/article0/dsigdoo.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供品牌網(wǎng)站制作、企業(yè)網(wǎng)站制作、網(wǎng)站營銷、微信小程序、面包屑導(dǎo)航、網(wǎng)站維護(hù)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)