日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

2019年最受程序员欢迎的10大非关系型(NoSQL)数据库

發(fā)布時(shí)間:2023/12/20 数据库 39 豆豆
生活随笔 收集整理的這篇文章主要介紹了 2019年最受程序员欢迎的10大非关系型(NoSQL)数据库 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

數(shù)據(jù)庫是一組信息的集合,這些信息被組織起來以便于訪問、管理和更新。在開始介紹最流行的NoSQL數(shù)據(jù)庫之前。您必須了解NoSQL數(shù)據(jù)庫。大多數(shù)程序員不知道它代表什么。它的全稱是Not Only SQL。在了解了NoSQL數(shù)據(jù)庫之后,我們將介紹2019年最受程序員歡迎的NoSQL數(shù)據(jù)庫。

?

什么是NoSQL數(shù)據(jù)庫?

NoSQL數(shù)據(jù)庫(非關(guān)系型數(shù)據(jù)庫)是用于存儲(chǔ)和檢索數(shù)據(jù)的非關(guān)系數(shù)據(jù)庫系統(tǒng)。在當(dāng)今世界,我們不應(yīng)該只以沒有預(yù)定義固定模式的表格式存儲(chǔ)所有數(shù)據(jù)(固定沒有列)。像用戶生成的數(shù)據(jù)、地理位置數(shù)據(jù)、物聯(lián)網(wǎng)生成的數(shù)據(jù)一樣,社交圖是真實(shí)世界數(shù)據(jù)呈指數(shù)級(jí)增長的例子。這些龐大的數(shù)據(jù)也需要大量的處理。這時(shí)NoSQL數(shù)據(jù)庫就出現(xiàn)了。使用NoSQL數(shù)據(jù)庫,我們可以存儲(chǔ)和退休的文件,鍵值,圖形為基礎(chǔ)的數(shù)據(jù)容易和更快。我們可以很容易地避免復(fù)雜的SQL連接操作。易于使用NoSQL DBs對(duì)實(shí)際問題(web和企業(yè)業(yè)務(wù)應(yīng)用程序)進(jìn)行水平伸縮。Carlo Strozzi是在1998年引入NoSQL術(shù)語的。使用NoSQL的動(dòng)機(jī)——設(shè)計(jì)的簡單性、對(duì)機(jī)器集群的水平擴(kuò)展。

?

NoSQL數(shù)據(jù)庫類型

文檔數(shù)據(jù)庫——這些數(shù)據(jù)庫通常將每個(gè)鍵與稱為文檔的復(fù)雜數(shù)據(jù)結(jié)構(gòu)配對(duì)。文檔可以包含鍵數(shù)組對(duì)、鍵值對(duì)甚至嵌套文檔。示例:MongoDB、Apache CouchDB、ArangoDB、Couchbase、Cosmos DB、IBM Domino、MarkLogic、OrientDB。

鍵值存儲(chǔ)——每個(gè)單獨(dú)的項(xiàng)都存儲(chǔ)為鍵值對(duì)。鍵值存儲(chǔ)是所有NoSQL數(shù)據(jù)庫中最簡單的數(shù)據(jù)庫。示例:Redis, Memcached, Apache Ignite, Riak。

寬列存儲(chǔ)——這些類型的數(shù)據(jù)庫針對(duì)大型數(shù)據(jù)集上的查詢進(jìn)行了優(yōu)化,它們將數(shù)據(jù)列存儲(chǔ)在一起,而不是行。示例:Cassandra,Hbase,Scylla。

圖形存儲(chǔ)——這些存儲(chǔ)關(guān)于圖形、網(wǎng)絡(luò)的信息,例如社會(huì)關(guān)系、路線圖、交通鏈接。示例:Neo4j,AllegroGraph。

2019最佳NoSQL數(shù)據(jù)庫

MongoDB:是一個(gè)面向文檔的開源NoSQL數(shù)據(jù)庫。MongoDB使用JSON之類的文檔來存儲(chǔ)任何數(shù)據(jù)。它是用c++寫的。

Cassandra:是Facebook為收件箱搜索開發(fā)的。Cassandra是一個(gè)用于處理大量結(jié)構(gòu)化數(shù)據(jù)的分布式數(shù)據(jù)存儲(chǔ)系統(tǒng)。

Redis:是最著名的鍵值存儲(chǔ)。Redis是用C語言編寫的。它是根據(jù)BSD授權(quán)的。

HBase:是谷歌為BigTable數(shù)據(jù)庫設(shè)計(jì)的分布式非關(guān)系數(shù)據(jù)庫。

Neo4j:稱為原生圖數(shù)據(jù)庫,因?yàn)樗行У貙?shí)現(xiàn)了屬性圖模型,一直到存儲(chǔ)層。

Oracle NoSQL:實(shí)現(xiàn)了從用戶定義的鍵到不透明數(shù)據(jù)項(xiàng)的映射。

Amazon DynamoDB:使用了一個(gè)NoSQL數(shù)據(jù)庫模型,它是非關(guān)系型的,允許文檔、圖形和列在它的數(shù)據(jù)模型之間。

Couchbase:是一個(gè)用于交互式web應(yīng)用程序的NoSQL文檔數(shù)據(jù)庫。它具有靈活的數(shù)據(jù)模型,易于擴(kuò)展,提供一致的高性能。

Memcached:是一個(gè)開源、高性能、分布式內(nèi)存緩存系統(tǒng),旨在通過減少數(shù)據(jù)庫負(fù)載來加速動(dòng)態(tài)web應(yīng)用程序。

CouchDB:是一個(gè)開源的NoSQL數(shù)據(jù)庫,使用JSON存儲(chǔ)信息,JavaScript作為查詢語言。

?

1. MongoDB

?

MongoDB是最著名的NoSQL數(shù)據(jù)庫。它是一個(gè)面向文檔的開源數(shù)據(jù)庫。MongoDB是一個(gè)可伸縮和可訪問的數(shù)據(jù)庫。它在c++中。MongoDB同樣可以用作文件系統(tǒng)。在MongoDB中,JavaScript可以作為查詢語言使用。通過使用sharding MongoDB水平伸縮。它在流行的JavaScript框架中非常有用。人們真的很享受分片、高級(jí)文本搜索、gridFS和map-reduce功能。驚人的性能和新特性使這個(gè)NoSQL數(shù)據(jù)庫在我們的列表中名列第一。

特點(diǎn):提供高性能;自動(dòng)分片;運(yùn)行在多個(gè)服務(wù)器上;支持主從復(fù)制;數(shù)據(jù)以JSON樣式文檔的形式存儲(chǔ);索引文檔中的任何字段;由于數(shù)據(jù)被放置在碎片中,所以它具有自動(dòng)負(fù)載平衡配置;支持正則表達(dá)式搜索;在失敗的情況下易于管理。

優(yōu)點(diǎn):易于安裝MongoDB;MongoDB Inc.為客戶提供專業(yè)支持;支持臨時(shí)查詢;高速數(shù)據(jù)庫;無模式數(shù)據(jù)庫;橫向擴(kuò)展數(shù)據(jù)庫;性能非常高。

缺點(diǎn):不支持連接;數(shù)據(jù)量大;嵌套文檔是有限的;增加不必要的內(nèi)存使用。

?

2. Cassandra

Cassandra是Facebook為收件箱搜索開發(fā)的。Cassandra是一個(gè)用于處理大量結(jié)構(gòu)化數(shù)據(jù)的分布式數(shù)據(jù)存儲(chǔ)系統(tǒng)。通常,這些數(shù)據(jù)分布在許多普通服務(wù)器上。您還可以添加數(shù)據(jù)存儲(chǔ)容量,使您的服務(wù)保持在線,您可以輕松地完成這項(xiàng)任務(wù)。由于集群中的所有節(jié)點(diǎn)都是相同的,因此不需要處理復(fù)雜的配置。Cassandra是用Java編寫的。Cassandra查詢語言(CQL)是查詢Cassandra數(shù)據(jù)庫的一種類似sql的語言。因此,Cassandra在最佳開源數(shù)據(jù)庫中排名第二。Facebook、Twitter、思科(Cisco)、Rackspace、eBay、Twitter、Netflix等一些最大的公司都在使用Cassandra。

特點(diǎn):線性可伸縮;;保持快速響應(yīng)時(shí)間;支持原子性、一致性、隔離性和耐久性(ACID)等屬性;使用Apache Hadoop支持MapReduce;分配數(shù)據(jù)的最大靈活性;高度可伸縮;點(diǎn)對(duì)點(diǎn)架構(gòu)。

優(yōu)點(diǎn):高度可伸縮;無單點(diǎn)故障;Multi-DC復(fù)制;與其他基于JVM的應(yīng)用程序緊密集成;更適合多數(shù)據(jù)中心部署、冗余、故障轉(zhuǎn)移和災(zāi)難恢復(fù)。

缺點(diǎn):對(duì)聚合的有限支持;不可預(yù)知的性能;不支持特別查詢。

?

3. Redis

Redis是一個(gè)鍵值存儲(chǔ)。此外,它是最著名的鍵值存儲(chǔ)。Redis支持一些c++、PHP、Ruby、Python、Perl、Scala等等。Redis是用C語言編寫的。此外,它是根據(jù)BSD授權(quán)的。

特點(diǎn):自動(dòng)故障轉(zhuǎn)移;將其數(shù)據(jù)庫完全保存在內(nèi)存中;事務(wù);Lua腳本;將數(shù)據(jù)復(fù)制到任意數(shù)量的從屬服務(wù)器;鑰匙的壽命有限;LRU驅(qū)逐鑰匙;支持發(fā)布/訂閱。

優(yōu)點(diǎn):支持多種數(shù)據(jù)類型;很容易安裝;非常快(每秒執(zhí)行約11萬組,每秒執(zhí)行約81000次);操作都是原子的;多用途工具(在許多用例中使用)。

缺點(diǎn):不支持連接;存儲(chǔ)過程所需的Lua知識(shí);數(shù)據(jù)集必須很好地適應(yīng)內(nèi)存。

?

4. HBase

HBase是谷歌為BigTable數(shù)據(jù)庫設(shè)計(jì)的分布式非關(guān)系數(shù)據(jù)庫。HBase的主要目標(biāo)之一是托管數(shù)十億行X數(shù)百萬列。您可以隨時(shí)添加服務(wù)器來增加容量。多個(gè)主節(jié)點(diǎn)將確保數(shù)據(jù)的高可用性。HBase是用Java 8編寫的。它是在Apache下授權(quán)的。Hbase還簡單地利用Java API進(jìn)行客戶訪問。

特點(diǎn):支持自動(dòng)故障;線性可伸縮;提供了數(shù)據(jù)復(fù)制;與Hadoop集成,作為源和目標(biāo)。

優(yōu)點(diǎn):為較大的表提供快速查找;提供對(duì)來自數(shù)十億條記錄的單行的低延遲訪問;簡單的Java API為客戶端;自動(dòng)分片;License-free;處理HDFS文件存儲(chǔ)之上的大型數(shù)據(jù)集;靈活的模式設(shè)計(jì);高速。

缺點(diǎn):不支持事務(wù);沒有權(quán)限或內(nèi)置身份驗(yàn)證;僅按鍵索引和排序;單點(diǎn)故障(當(dāng)只使用一個(gè)HMaster時(shí));不支持SQL結(jié)構(gòu);集群上的內(nèi)存問題。

?

5. neo4j

Neo4j被稱為原生圖數(shù)據(jù)庫,因?yàn)樗行У貙?shí)現(xiàn)了屬性圖模型,一直到存儲(chǔ)層。這意味著數(shù)據(jù)完全按照白板的方式存儲(chǔ),數(shù)據(jù)庫使用指針導(dǎo)航和遍歷圖。Neo4j有數(shù)據(jù)庫的社區(qū)版和企業(yè)版。企業(yè)版包括Community Edition必須提供的所有功能,以及額外的企業(yè)需求,如備份、集群和故障轉(zhuǎn)移功能。

特點(diǎn):它支持唯一的約束;Neo4j支持完整的ACID(原子性、一致性、隔離性和持久性)規(guī)則;Java API: Cypher API和本機(jī)Java API;使用Apache Lucence索引;簡單查詢語言Neo4j CQL;包含用于執(zhí)行CQL命令的UI: Neo4j Data Browser。

優(yōu)點(diǎn):容易檢索其相鄰節(jié)點(diǎn)或關(guān)系細(xì)節(jié),無需連接或索引;易于學(xué)習(xí)Neo4j CQL查詢語言命令;不需要復(fù)雜的連接來檢索數(shù)據(jù);非常容易地表示半結(jié)構(gòu)化數(shù)據(jù);大型企業(yè)實(shí)時(shí)應(yīng)用程序的高可用性;簡化的調(diào)優(yōu)。

缺點(diǎn):不支持分片。

?

6. Oracle NoSQL

Oracle剛剛用Oracle NoSQL啟動(dòng)了NoSQL數(shù)據(jù)庫。它在2018年變得流行起來。與MongoDB和Casandra數(shù)據(jù)庫相比,它不那么流行。Oracle NoSQL數(shù)據(jù)庫實(shí)現(xiàn)了從用戶定義的鍵到不透明數(shù)據(jù)項(xiàng)的映射。盡管它記錄了鍵/值對(duì)的內(nèi)部版本號(hào),但是它只維護(hù)存儲(chǔ)中的最新版本。Oracle的12c版本是為云而設(shè)計(jì)的,可以托管在一臺(tái)服務(wù)器或多臺(tái)服務(wù)器上,并支持管理包含數(shù)十億條記錄的數(shù)據(jù)庫。Oracle最新版本的一些特性包括網(wǎng)格框架以及物理和邏輯結(jié)構(gòu)的使用。Oracle Database 18c現(xiàn)在為客戶提供了一個(gè)高性能、可靠和安全的平臺(tái),使他們的事務(wù)和分析工作負(fù)載(無論是在云環(huán)境中,還是在本地環(huán)境中,或者在混合云配置中)更容易、更經(jīng)濟(jì)地實(shí)現(xiàn)現(xiàn)代化。

特點(diǎn):Oracle NoSQL數(shù)據(jù)庫處理大數(shù)據(jù);支持SQL,可以從Oracle關(guān)系數(shù)據(jù)庫訪問它;Oracle NoSQL數(shù)據(jù)庫使用Java/C API讀寫數(shù)據(jù);分布式數(shù)據(jù)庫;通過節(jié)點(diǎn)為請(qǐng)求的密鑰提供對(duì)數(shù)據(jù)的訪問。

優(yōu)點(diǎn):基于PL/SQL編程結(jié)構(gòu);對(duì)等社區(qū)有助于解決所有問題;Oracle數(shù)據(jù)庫是安全的,并確保不會(huì)通過提示更新篡改用戶數(shù)據(jù)。

缺點(diǎn):小型組織的高成本;安裝需要大量的資源;甚至可能需要硬件升級(jí)才能實(shí)現(xiàn)Oracle;占用了很多空間。

?

7. Amazon DynamoDB

DynamoDB使用了一個(gè)NoSQL數(shù)據(jù)庫模型,它是非關(guān)系型的,允許文檔、圖形和列在它的數(shù)據(jù)模型之間。每個(gè)DynamoDB查詢由用戶標(biāo)識(shí)的主鍵執(zhí)行,主鍵唯一標(biāo)識(shí)每個(gè)項(xiàng)。它還減輕了客戶操作和擴(kuò)展分布式數(shù)據(jù)庫的負(fù)擔(dān)。因此,硬件供應(yīng)、設(shè)置、配置、復(fù)制、軟件補(bǔ)丁、集群擴(kuò)展等都由Amazon管理。

特點(diǎn):高可伸縮性;用于索引值范圍的散列范圍;將數(shù)據(jù)存儲(chǔ)在分區(qū)中;使用JSON作為傳輸協(xié)議,而不是存儲(chǔ)格式。

優(yōu)點(diǎn):易于設(shè)置;提供底層AWS DynamoDB API;自動(dòng)伸縮;降低管理高可用性和高峰使用時(shí)間伸縮的復(fù)雜性;靜止加密;DynamoDB的安全性由AWS標(biāo)識(shí)控制。

缺點(diǎn):不免費(fèi)備份您的表;大小限制。

?

8. Couchbase

重點(diǎn)是易用性,包括web。它是一個(gè)NoSQL文檔存儲(chǔ)數(shù)據(jù)庫。Couchbase Server是一個(gè)用于交互式web應(yīng)用程序的NoSQL文檔數(shù)據(jù)庫。它具有靈活的數(shù)據(jù)模型,易于擴(kuò)展,提供一致的高性能。Couchbase Server、JSON文檔用于表示應(yīng)用程序?qū)ο蠛蛯?duì)象之間的關(guān)系。

特點(diǎn):與Kubernetes一起大規(guī)模自動(dòng)故障轉(zhuǎn)移部署和管理Couchbase;索引分區(qū);通過N1QL查詢本地支持JSON數(shù)據(jù);數(shù)據(jù)壓縮;事件服務(wù)。

優(yōu)點(diǎn):綜合優(yōu)化;降低網(wǎng)絡(luò)、內(nèi)存和存儲(chǔ)的成本;極棒的管理面板,提供了大量關(guān)于您的集群如何執(zhí)行的見解。

缺點(diǎn):Couchbase不是開源的。

?

9. Memcached

Memcached是一個(gè)開源、高性能的分布式內(nèi)存緩存系統(tǒng),旨在通過減少數(shù)據(jù)庫負(fù)載來加速動(dòng)態(tài)web應(yīng)用程序。它是存儲(chǔ)在內(nèi)存中的字符串、對(duì)象等的鍵值字典,由數(shù)據(jù)庫調(diào)用、API調(diào)用或頁面呈現(xiàn)生成。它現(xiàn)在被Netlog、Facebook、Flickr、Wikipedia、Twitter和YouTube等網(wǎng)站使用。

特點(diǎn):通過TCP或UDP的客戶機(jī)-服務(wù)器應(yīng)用程序;減少數(shù)據(jù)庫負(fù)載;Memcached服務(wù)器是一個(gè)大哈希表;高效的網(wǎng)站與高數(shù)據(jù)庫負(fù)荷;根據(jù)Berkeley Software Distribution license進(jìn)行分發(fā);將內(nèi)存緩存合并到邏輯池中。

優(yōu)點(diǎn):安裝快;廣泛記錄在一個(gè)巨大的社區(qū)中。

缺點(diǎn):只支持Linux操作系統(tǒng)和類似于BSD的系統(tǒng);不支持?jǐn)?shù)據(jù)冗余;不支持鎖、通讀、CAS。

?

10. CouchDB

CouchDB是一個(gè)開源的NoSQL數(shù)據(jù)庫,它使用JSON存儲(chǔ)信息,JavaScript作為查詢語言。它采用了一種多版本控制系統(tǒng),避免了DB文件在寫入過程中被阻塞。Erlang。它是在Apache下授權(quán)的。它在2016年最受歡迎的NoSQL數(shù)據(jù)庫中排名第一。

特點(diǎn):Map/Reduce列表和顯示;提供數(shù)據(jù)庫級(jí)安全;身份驗(yàn)證像web應(yīng)用程序一樣通過會(huì)話cookie打開;JSONP是免費(fèi)的;按照文檔存儲(chǔ);支持ACID屬性;提供最簡單的復(fù)制形式;基于瀏覽器的GUI來處理數(shù)據(jù)、權(quán)限和配置。

優(yōu)點(diǎn):Map/Reduce,查詢數(shù)據(jù)在某種程度上與數(shù)據(jù)本身是分離的;存儲(chǔ)任何JSON數(shù)據(jù)。

缺點(diǎn):任意查詢都很昂貴;使用CouchDB需要額外的空間;不支持XML。

總結(jié)

以上是生活随笔為你收集整理的2019年最受程序员欢迎的10大非关系型(NoSQL)数据库的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。