"
"
2019年最受程序員歡迎的10大非關係型(NoSQL)數據庫

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

什麼是NoSQL數據庫?

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

NoSQL數據庫類型

  • 文檔數據庫——這些數據庫通常將每個鍵與稱為文檔的複雜數據結構配對。文檔可以包含鍵數組對、鍵值對甚至嵌套文檔。示例:MongoDB、Apache CouchDB、ArangoDB、Couchbase、Cosmos DB、IBM Domino、MarkLogic、OrientDB。
  • 鍵值存儲——每個單獨的項都存儲為鍵值對。鍵值存儲是所有NoSQL數據庫中最簡單的數據庫。示例:Redis, Memcached, Apache Ignite, Riak。
  • 寬列存儲——這些類型的數據庫針對大型數據集上的查詢進行了優化,它們將數據列存儲在一起,而不是行。示例:Cassandra,Hbase,Scylla。
  • 圖形存儲——這些存儲關於圖形、網絡的信息,例如社會關係、路線圖、交通鏈接。示例:Neo4j,AllegroGraph。

2019最佳NoSQL數據庫

  1. MongoDB:是一個面向文檔的開源NoSQL數據庫。MongoDB使用JSON之類的文檔來存儲任何數據。它是用c++寫的。
  2. Cassandra:是Facebook為收件箱搜索開發的。Cassandra是一個用於處理大量結構化數據的分佈式數據存儲系統。
  3. Redis:是最著名的鍵值存儲。Redis是用C語言編寫的。它是根據BSD授權的。
  4. HBase:是谷歌為BigTable數據庫設計的分佈式非關係數據庫。
  5. Neo4j:稱為原生圖數據庫,因為它有效地實現了屬性圖模型,一直到存儲層。
  6. Oracle NoSQL:實現了從用戶定義的鍵到不透明數據項的映射。
  7. Amazon DynamoDB:使用了一個NoSQL數據庫模型,它是非關係型的,允許文檔、圖形和列在它的數據模型之間。
  8. Couchbase:是一個用於交互式web應用程序的NoSQL文檔數據庫。它具有靈活的數據模型,易於擴展,提供一致的高性能。
  9. Memcached:是一個開源、高性能、分佈式內存緩存系統,旨在通過減少數據庫負載來加速動態web應用程序。
  10. CouchDB:是一個開源的NoSQL數據庫,使用JSON存儲信息,JavaScript作為查詢語言。

1. MongoDB

"
2019年最受程序員歡迎的10大非關係型(NoSQL)數據庫

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

什麼是NoSQL數據庫?

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

NoSQL數據庫類型

  • 文檔數據庫——這些數據庫通常將每個鍵與稱為文檔的複雜數據結構配對。文檔可以包含鍵數組對、鍵值對甚至嵌套文檔。示例:MongoDB、Apache CouchDB、ArangoDB、Couchbase、Cosmos DB、IBM Domino、MarkLogic、OrientDB。
  • 鍵值存儲——每個單獨的項都存儲為鍵值對。鍵值存儲是所有NoSQL數據庫中最簡單的數據庫。示例:Redis, Memcached, Apache Ignite, Riak。
  • 寬列存儲——這些類型的數據庫針對大型數據集上的查詢進行了優化,它們將數據列存儲在一起,而不是行。示例:Cassandra,Hbase,Scylla。
  • 圖形存儲——這些存儲關於圖形、網絡的信息,例如社會關係、路線圖、交通鏈接。示例:Neo4j,AllegroGraph。

2019最佳NoSQL數據庫

  1. MongoDB:是一個面向文檔的開源NoSQL數據庫。MongoDB使用JSON之類的文檔來存儲任何數據。它是用c++寫的。
  2. Cassandra:是Facebook為收件箱搜索開發的。Cassandra是一個用於處理大量結構化數據的分佈式數據存儲系統。
  3. Redis:是最著名的鍵值存儲。Redis是用C語言編寫的。它是根據BSD授權的。
  4. HBase:是谷歌為BigTable數據庫設計的分佈式非關係數據庫。
  5. Neo4j:稱為原生圖數據庫,因為它有效地實現了屬性圖模型,一直到存儲層。
  6. Oracle NoSQL:實現了從用戶定義的鍵到不透明數據項的映射。
  7. Amazon DynamoDB:使用了一個NoSQL數據庫模型,它是非關係型的,允許文檔、圖形和列在它的數據模型之間。
  8. Couchbase:是一個用於交互式web應用程序的NoSQL文檔數據庫。它具有靈活的數據模型,易於擴展,提供一致的高性能。
  9. Memcached:是一個開源、高性能、分佈式內存緩存系統,旨在通過減少數據庫負載來加速動態web應用程序。
  10. CouchDB:是一個開源的NoSQL數據庫,使用JSON存儲信息,JavaScript作為查詢語言。

1. MongoDB

2019年最受程序員歡迎的10大非關係型(NoSQL)數據庫

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

  • 特點:提供高性能;自動分片;運行在多個服務器上;支持主從複製;數據以JSON樣式文檔的形式存儲;索引文檔中的任何字段;由於數據被放置在碎片中,所以它具有自動負載平衡配置;支持正則表達式搜索;在失敗的情況下易於管理。
  • 優點:易於安裝MongoDB;MongoDB Inc.為客戶提供專業支持;支持臨時查詢;高速數據庫;無模式數據庫;橫向擴展數據庫;性能非常高。
  • 缺點:不支持連接;數據量大;嵌套文檔是有限的;增加不必要的內存使用。

2. Cassandra

"
2019年最受程序員歡迎的10大非關係型(NoSQL)數據庫

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

什麼是NoSQL數據庫?

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

NoSQL數據庫類型

  • 文檔數據庫——這些數據庫通常將每個鍵與稱為文檔的複雜數據結構配對。文檔可以包含鍵數組對、鍵值對甚至嵌套文檔。示例:MongoDB、Apache CouchDB、ArangoDB、Couchbase、Cosmos DB、IBM Domino、MarkLogic、OrientDB。
  • 鍵值存儲——每個單獨的項都存儲為鍵值對。鍵值存儲是所有NoSQL數據庫中最簡單的數據庫。示例:Redis, Memcached, Apache Ignite, Riak。
  • 寬列存儲——這些類型的數據庫針對大型數據集上的查詢進行了優化,它們將數據列存儲在一起,而不是行。示例:Cassandra,Hbase,Scylla。
  • 圖形存儲——這些存儲關於圖形、網絡的信息,例如社會關係、路線圖、交通鏈接。示例:Neo4j,AllegroGraph。

2019最佳NoSQL數據庫

  1. MongoDB:是一個面向文檔的開源NoSQL數據庫。MongoDB使用JSON之類的文檔來存儲任何數據。它是用c++寫的。
  2. Cassandra:是Facebook為收件箱搜索開發的。Cassandra是一個用於處理大量結構化數據的分佈式數據存儲系統。
  3. Redis:是最著名的鍵值存儲。Redis是用C語言編寫的。它是根據BSD授權的。
  4. HBase:是谷歌為BigTable數據庫設計的分佈式非關係數據庫。
  5. Neo4j:稱為原生圖數據庫,因為它有效地實現了屬性圖模型,一直到存儲層。
  6. Oracle NoSQL:實現了從用戶定義的鍵到不透明數據項的映射。
  7. Amazon DynamoDB:使用了一個NoSQL數據庫模型,它是非關係型的,允許文檔、圖形和列在它的數據模型之間。
  8. Couchbase:是一個用於交互式web應用程序的NoSQL文檔數據庫。它具有靈活的數據模型,易於擴展,提供一致的高性能。
  9. Memcached:是一個開源、高性能、分佈式內存緩存系統,旨在通過減少數據庫負載來加速動態web應用程序。
  10. CouchDB:是一個開源的NoSQL數據庫,使用JSON存儲信息,JavaScript作為查詢語言。

1. MongoDB

2019年最受程序員歡迎的10大非關係型(NoSQL)數據庫

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

  • 特點:提供高性能;自動分片;運行在多個服務器上;支持主從複製;數據以JSON樣式文檔的形式存儲;索引文檔中的任何字段;由於數據被放置在碎片中,所以它具有自動負載平衡配置;支持正則表達式搜索;在失敗的情況下易於管理。
  • 優點:易於安裝MongoDB;MongoDB Inc.為客戶提供專業支持;支持臨時查詢;高速數據庫;無模式數據庫;橫向擴展數據庫;性能非常高。
  • 缺點:不支持連接;數據量大;嵌套文檔是有限的;增加不必要的內存使用。

2. Cassandra

2019年最受程序員歡迎的10大非關係型(NoSQL)數據庫

Cassandra是Facebook為收件箱搜索開發的。Cassandra是一個用於處理大量結構化數據的分佈式數據存儲系統。通常,這些數據分佈在許多普通服務器上。您還可以添加數據存儲容量,使您的服務保持在線,您可以輕鬆地完成這項任務。由於集群中的所有節點都是相同的,因此不需要處理複雜的配置。Cassandra是用Java編寫的。Cassandra查詢語言(CQL)是查詢Cassandra數據庫的一種類似sql的語言。因此,Cassandra在最佳開源數據庫中排名第二。Facebook、Twitter、思科(Cisco)、Rackspace、eBay、Twitter、Netflix等一些最大的公司都在使用Cassandra。

  • 特點:線性可伸縮;;保持快速響應時間;支持原子性、一致性、隔離性和耐久性(ACID)等屬性;使用Apache Hadoop支持MapReduce;分配數據的最大靈活性;高度可伸縮;點對點架構。
  • 優點:高度可伸縮;無單點故障;Multi-DC複製;與其他基於JVM的應用程序緊密集成;更適合多數據中心部署、冗餘、故障轉移和災難恢復。
  • 缺點:對聚合的有限支持;不可預知的性能;不支持特別查詢。

3. Redis

"
2019年最受程序員歡迎的10大非關係型(NoSQL)數據庫

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

什麼是NoSQL數據庫?

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

NoSQL數據庫類型

  • 文檔數據庫——這些數據庫通常將每個鍵與稱為文檔的複雜數據結構配對。文檔可以包含鍵數組對、鍵值對甚至嵌套文檔。示例:MongoDB、Apache CouchDB、ArangoDB、Couchbase、Cosmos DB、IBM Domino、MarkLogic、OrientDB。
  • 鍵值存儲——每個單獨的項都存儲為鍵值對。鍵值存儲是所有NoSQL數據庫中最簡單的數據庫。示例:Redis, Memcached, Apache Ignite, Riak。
  • 寬列存儲——這些類型的數據庫針對大型數據集上的查詢進行了優化,它們將數據列存儲在一起,而不是行。示例:Cassandra,Hbase,Scylla。
  • 圖形存儲——這些存儲關於圖形、網絡的信息,例如社會關係、路線圖、交通鏈接。示例:Neo4j,AllegroGraph。

2019最佳NoSQL數據庫

  1. MongoDB:是一個面向文檔的開源NoSQL數據庫。MongoDB使用JSON之類的文檔來存儲任何數據。它是用c++寫的。
  2. Cassandra:是Facebook為收件箱搜索開發的。Cassandra是一個用於處理大量結構化數據的分佈式數據存儲系統。
  3. Redis:是最著名的鍵值存儲。Redis是用C語言編寫的。它是根據BSD授權的。
  4. HBase:是谷歌為BigTable數據庫設計的分佈式非關係數據庫。
  5. Neo4j:稱為原生圖數據庫,因為它有效地實現了屬性圖模型,一直到存儲層。
  6. Oracle NoSQL:實現了從用戶定義的鍵到不透明數據項的映射。
  7. Amazon DynamoDB:使用了一個NoSQL數據庫模型,它是非關係型的,允許文檔、圖形和列在它的數據模型之間。
  8. Couchbase:是一個用於交互式web應用程序的NoSQL文檔數據庫。它具有靈活的數據模型,易於擴展,提供一致的高性能。
  9. Memcached:是一個開源、高性能、分佈式內存緩存系統,旨在通過減少數據庫負載來加速動態web應用程序。
  10. CouchDB:是一個開源的NoSQL數據庫,使用JSON存儲信息,JavaScript作為查詢語言。

1. MongoDB

2019年最受程序員歡迎的10大非關係型(NoSQL)數據庫

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

  • 特點:提供高性能;自動分片;運行在多個服務器上;支持主從複製;數據以JSON樣式文檔的形式存儲;索引文檔中的任何字段;由於數據被放置在碎片中,所以它具有自動負載平衡配置;支持正則表達式搜索;在失敗的情況下易於管理。
  • 優點:易於安裝MongoDB;MongoDB Inc.為客戶提供專業支持;支持臨時查詢;高速數據庫;無模式數據庫;橫向擴展數據庫;性能非常高。
  • 缺點:不支持連接;數據量大;嵌套文檔是有限的;增加不必要的內存使用。

2. Cassandra

2019年最受程序員歡迎的10大非關係型(NoSQL)數據庫

Cassandra是Facebook為收件箱搜索開發的。Cassandra是一個用於處理大量結構化數據的分佈式數據存儲系統。通常,這些數據分佈在許多普通服務器上。您還可以添加數據存儲容量,使您的服務保持在線,您可以輕鬆地完成這項任務。由於集群中的所有節點都是相同的,因此不需要處理複雜的配置。Cassandra是用Java編寫的。Cassandra查詢語言(CQL)是查詢Cassandra數據庫的一種類似sql的語言。因此,Cassandra在最佳開源數據庫中排名第二。Facebook、Twitter、思科(Cisco)、Rackspace、eBay、Twitter、Netflix等一些最大的公司都在使用Cassandra。

  • 特點:線性可伸縮;;保持快速響應時間;支持原子性、一致性、隔離性和耐久性(ACID)等屬性;使用Apache Hadoop支持MapReduce;分配數據的最大靈活性;高度可伸縮;點對點架構。
  • 優點:高度可伸縮;無單點故障;Multi-DC複製;與其他基於JVM的應用程序緊密集成;更適合多數據中心部署、冗餘、故障轉移和災難恢復。
  • 缺點:對聚合的有限支持;不可預知的性能;不支持特別查詢。

3. Redis

2019年最受程序員歡迎的10大非關係型(NoSQL)數據庫

Redis是一個鍵值存儲。此外,它是最著名的鍵值存儲。Redis支持一些c++、PHP、Ruby、Python、Perl、Scala等等。Redis是用C語言編寫的。此外,它是根據BSD授權的。

  • 特點:自動故障轉移;將其數據庫完全保存在內存中;事務;Lua腳本;將數據複製到任意數量的從屬服務器;鑰匙的壽命有限;LRU驅逐鑰匙;支持發佈/訂閱。
  • 優點:支持多種數據類型;很容易安裝;非常快(每秒執行約11萬組,每秒執行約81000次);操作都是原子的;多用途工具(在許多用例中使用)。
  • 缺點:不支持連接;存儲過程所需的Lua知識;數據集必須很好地適應內存。

4. HBase

"
2019年最受程序員歡迎的10大非關係型(NoSQL)數據庫

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

什麼是NoSQL數據庫?

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

NoSQL數據庫類型

  • 文檔數據庫——這些數據庫通常將每個鍵與稱為文檔的複雜數據結構配對。文檔可以包含鍵數組對、鍵值對甚至嵌套文檔。示例:MongoDB、Apache CouchDB、ArangoDB、Couchbase、Cosmos DB、IBM Domino、MarkLogic、OrientDB。
  • 鍵值存儲——每個單獨的項都存儲為鍵值對。鍵值存儲是所有NoSQL數據庫中最簡單的數據庫。示例:Redis, Memcached, Apache Ignite, Riak。
  • 寬列存儲——這些類型的數據庫針對大型數據集上的查詢進行了優化,它們將數據列存儲在一起,而不是行。示例:Cassandra,Hbase,Scylla。
  • 圖形存儲——這些存儲關於圖形、網絡的信息,例如社會關係、路線圖、交通鏈接。示例:Neo4j,AllegroGraph。

2019最佳NoSQL數據庫

  1. MongoDB:是一個面向文檔的開源NoSQL數據庫。MongoDB使用JSON之類的文檔來存儲任何數據。它是用c++寫的。
  2. Cassandra:是Facebook為收件箱搜索開發的。Cassandra是一個用於處理大量結構化數據的分佈式數據存儲系統。
  3. Redis:是最著名的鍵值存儲。Redis是用C語言編寫的。它是根據BSD授權的。
  4. HBase:是谷歌為BigTable數據庫設計的分佈式非關係數據庫。
  5. Neo4j:稱為原生圖數據庫,因為它有效地實現了屬性圖模型,一直到存儲層。
  6. Oracle NoSQL:實現了從用戶定義的鍵到不透明數據項的映射。
  7. Amazon DynamoDB:使用了一個NoSQL數據庫模型,它是非關係型的,允許文檔、圖形和列在它的數據模型之間。
  8. Couchbase:是一個用於交互式web應用程序的NoSQL文檔數據庫。它具有靈活的數據模型,易於擴展,提供一致的高性能。
  9. Memcached:是一個開源、高性能、分佈式內存緩存系統,旨在通過減少數據庫負載來加速動態web應用程序。
  10. CouchDB:是一個開源的NoSQL數據庫,使用JSON存儲信息,JavaScript作為查詢語言。

1. MongoDB

2019年最受程序員歡迎的10大非關係型(NoSQL)數據庫

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

  • 特點:提供高性能;自動分片;運行在多個服務器上;支持主從複製;數據以JSON樣式文檔的形式存儲;索引文檔中的任何字段;由於數據被放置在碎片中,所以它具有自動負載平衡配置;支持正則表達式搜索;在失敗的情況下易於管理。
  • 優點:易於安裝MongoDB;MongoDB Inc.為客戶提供專業支持;支持臨時查詢;高速數據庫;無模式數據庫;橫向擴展數據庫;性能非常高。
  • 缺點:不支持連接;數據量大;嵌套文檔是有限的;增加不必要的內存使用。

2. Cassandra

2019年最受程序員歡迎的10大非關係型(NoSQL)數據庫

Cassandra是Facebook為收件箱搜索開發的。Cassandra是一個用於處理大量結構化數據的分佈式數據存儲系統。通常,這些數據分佈在許多普通服務器上。您還可以添加數據存儲容量,使您的服務保持在線,您可以輕鬆地完成這項任務。由於集群中的所有節點都是相同的,因此不需要處理複雜的配置。Cassandra是用Java編寫的。Cassandra查詢語言(CQL)是查詢Cassandra數據庫的一種類似sql的語言。因此,Cassandra在最佳開源數據庫中排名第二。Facebook、Twitter、思科(Cisco)、Rackspace、eBay、Twitter、Netflix等一些最大的公司都在使用Cassandra。

  • 特點:線性可伸縮;;保持快速響應時間;支持原子性、一致性、隔離性和耐久性(ACID)等屬性;使用Apache Hadoop支持MapReduce;分配數據的最大靈活性;高度可伸縮;點對點架構。
  • 優點:高度可伸縮;無單點故障;Multi-DC複製;與其他基於JVM的應用程序緊密集成;更適合多數據中心部署、冗餘、故障轉移和災難恢復。
  • 缺點:對聚合的有限支持;不可預知的性能;不支持特別查詢。

3. Redis

2019年最受程序員歡迎的10大非關係型(NoSQL)數據庫

Redis是一個鍵值存儲。此外,它是最著名的鍵值存儲。Redis支持一些c++、PHP、Ruby、Python、Perl、Scala等等。Redis是用C語言編寫的。此外,它是根據BSD授權的。

  • 特點:自動故障轉移;將其數據庫完全保存在內存中;事務;Lua腳本;將數據複製到任意數量的從屬服務器;鑰匙的壽命有限;LRU驅逐鑰匙;支持發佈/訂閱。
  • 優點:支持多種數據類型;很容易安裝;非常快(每秒執行約11萬組,每秒執行約81000次);操作都是原子的;多用途工具(在許多用例中使用)。
  • 缺點:不支持連接;存儲過程所需的Lua知識;數據集必須很好地適應內存。

4. HBase

2019年最受程序員歡迎的10大非關係型(NoSQL)數據庫

HBase是谷歌為BigTable數據庫設計的分佈式非關係數據庫。HBase的主要目標之一是託管數十億行X數百萬列。您可以隨時添加服務器來增加容量。多個主節點將確保數據的高可用性。HBase是用Java 8編寫的。它是在Apache下授權的。Hbase還簡單地利用Java API進行客戶訪問。

  • 特點:支持自動故障;線性可伸縮;提供了數據複製;與Hadoop集成,作為源和目標。
  • 優點:為較大的表提供快速查找;提供對來自數十億條記錄的單行的低延遲訪問;簡單的Java API為客戶端;自動分片;License-free;處理HDFS文件存儲之上的大型數據集;靈活的模式設計;高速。
  • 缺點:不支持事務;沒有權限或內置身份驗證;僅按鍵索引和排序;單點故障(當只使用一個HMaster時);不支持SQL結構;集群上的內存問題。

5. neo4j

"
2019年最受程序員歡迎的10大非關係型(NoSQL)數據庫

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

什麼是NoSQL數據庫?

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

NoSQL數據庫類型

  • 文檔數據庫——這些數據庫通常將每個鍵與稱為文檔的複雜數據結構配對。文檔可以包含鍵數組對、鍵值對甚至嵌套文檔。示例:MongoDB、Apache CouchDB、ArangoDB、Couchbase、Cosmos DB、IBM Domino、MarkLogic、OrientDB。
  • 鍵值存儲——每個單獨的項都存儲為鍵值對。鍵值存儲是所有NoSQL數據庫中最簡單的數據庫。示例:Redis, Memcached, Apache Ignite, Riak。
  • 寬列存儲——這些類型的數據庫針對大型數據集上的查詢進行了優化,它們將數據列存儲在一起,而不是行。示例:Cassandra,Hbase,Scylla。
  • 圖形存儲——這些存儲關於圖形、網絡的信息,例如社會關係、路線圖、交通鏈接。示例:Neo4j,AllegroGraph。

2019最佳NoSQL數據庫

  1. MongoDB:是一個面向文檔的開源NoSQL數據庫。MongoDB使用JSON之類的文檔來存儲任何數據。它是用c++寫的。
  2. Cassandra:是Facebook為收件箱搜索開發的。Cassandra是一個用於處理大量結構化數據的分佈式數據存儲系統。
  3. Redis:是最著名的鍵值存儲。Redis是用C語言編寫的。它是根據BSD授權的。
  4. HBase:是谷歌為BigTable數據庫設計的分佈式非關係數據庫。
  5. Neo4j:稱為原生圖數據庫,因為它有效地實現了屬性圖模型,一直到存儲層。
  6. Oracle NoSQL:實現了從用戶定義的鍵到不透明數據項的映射。
  7. Amazon DynamoDB:使用了一個NoSQL數據庫模型,它是非關係型的,允許文檔、圖形和列在它的數據模型之間。
  8. Couchbase:是一個用於交互式web應用程序的NoSQL文檔數據庫。它具有靈活的數據模型,易於擴展,提供一致的高性能。
  9. Memcached:是一個開源、高性能、分佈式內存緩存系統,旨在通過減少數據庫負載來加速動態web應用程序。
  10. CouchDB:是一個開源的NoSQL數據庫,使用JSON存儲信息,JavaScript作為查詢語言。

1. MongoDB

2019年最受程序員歡迎的10大非關係型(NoSQL)數據庫

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

  • 特點:提供高性能;自動分片;運行在多個服務器上;支持主從複製;數據以JSON樣式文檔的形式存儲;索引文檔中的任何字段;由於數據被放置在碎片中,所以它具有自動負載平衡配置;支持正則表達式搜索;在失敗的情況下易於管理。
  • 優點:易於安裝MongoDB;MongoDB Inc.為客戶提供專業支持;支持臨時查詢;高速數據庫;無模式數據庫;橫向擴展數據庫;性能非常高。
  • 缺點:不支持連接;數據量大;嵌套文檔是有限的;增加不必要的內存使用。

2. Cassandra

2019年最受程序員歡迎的10大非關係型(NoSQL)數據庫

Cassandra是Facebook為收件箱搜索開發的。Cassandra是一個用於處理大量結構化數據的分佈式數據存儲系統。通常,這些數據分佈在許多普通服務器上。您還可以添加數據存儲容量,使您的服務保持在線,您可以輕鬆地完成這項任務。由於集群中的所有節點都是相同的,因此不需要處理複雜的配置。Cassandra是用Java編寫的。Cassandra查詢語言(CQL)是查詢Cassandra數據庫的一種類似sql的語言。因此,Cassandra在最佳開源數據庫中排名第二。Facebook、Twitter、思科(Cisco)、Rackspace、eBay、Twitter、Netflix等一些最大的公司都在使用Cassandra。

  • 特點:線性可伸縮;;保持快速響應時間;支持原子性、一致性、隔離性和耐久性(ACID)等屬性;使用Apache Hadoop支持MapReduce;分配數據的最大靈活性;高度可伸縮;點對點架構。
  • 優點:高度可伸縮;無單點故障;Multi-DC複製;與其他基於JVM的應用程序緊密集成;更適合多數據中心部署、冗餘、故障轉移和災難恢復。
  • 缺點:對聚合的有限支持;不可預知的性能;不支持特別查詢。

3. Redis

2019年最受程序員歡迎的10大非關係型(NoSQL)數據庫

Redis是一個鍵值存儲。此外,它是最著名的鍵值存儲。Redis支持一些c++、PHP、Ruby、Python、Perl、Scala等等。Redis是用C語言編寫的。此外,它是根據BSD授權的。

  • 特點:自動故障轉移;將其數據庫完全保存在內存中;事務;Lua腳本;將數據複製到任意數量的從屬服務器;鑰匙的壽命有限;LRU驅逐鑰匙;支持發佈/訂閱。
  • 優點:支持多種數據類型;很容易安裝;非常快(每秒執行約11萬組,每秒執行約81000次);操作都是原子的;多用途工具(在許多用例中使用)。
  • 缺點:不支持連接;存儲過程所需的Lua知識;數據集必須很好地適應內存。

4. HBase

2019年最受程序員歡迎的10大非關係型(NoSQL)數據庫

HBase是谷歌為BigTable數據庫設計的分佈式非關係數據庫。HBase的主要目標之一是託管數十億行X數百萬列。您可以隨時添加服務器來增加容量。多個主節點將確保數據的高可用性。HBase是用Java 8編寫的。它是在Apache下授權的。Hbase還簡單地利用Java API進行客戶訪問。

  • 特點:支持自動故障;線性可伸縮;提供了數據複製;與Hadoop集成,作為源和目標。
  • 優點:為較大的表提供快速查找;提供對來自數十億條記錄的單行的低延遲訪問;簡單的Java API為客戶端;自動分片;License-free;處理HDFS文件存儲之上的大型數據集;靈活的模式設計;高速。
  • 缺點:不支持事務;沒有權限或內置身份驗證;僅按鍵索引和排序;單點故障(當只使用一個HMaster時);不支持SQL結構;集群上的內存問題。

5. neo4j

2019年最受程序員歡迎的10大非關係型(NoSQL)數據庫

Neo4j被稱為原生圖數據庫,因為它有效地實現了屬性圖模型,一直到存儲層。這意味著數據完全按照白板的方式存儲,數據庫使用指針導航和遍歷圖。Neo4j有數據庫的社區版和企業版。企業版包括Community Edition必須提供的所有功能,以及額外的企業需求,如備份、集群和故障轉移功能。

  • 特點:它支持唯一的約束;Neo4j支持完整的ACID(原子性、一致性、隔離性和持久性)規則;Java API: Cypher API和本機Java API;使用Apache Lucence索引;簡單查詢語言Neo4j CQL;包含用於執行CQL命令的UI: Neo4j Data Browser。
  • 優點:容易檢索其相鄰節點或關係細節,無需連接或索引;易於學習Neo4j CQL查詢語言命令;不需要複雜的連接來檢索數據;非常容易地表示半結構化數據;大型企業實時應用程序的高可用性;簡化的調優。
  • 缺點:不支持分片。

6. Oracle NoSQL

"
2019年最受程序員歡迎的10大非關係型(NoSQL)數據庫

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

什麼是NoSQL數據庫?

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

NoSQL數據庫類型

  • 文檔數據庫——這些數據庫通常將每個鍵與稱為文檔的複雜數據結構配對。文檔可以包含鍵數組對、鍵值對甚至嵌套文檔。示例:MongoDB、Apache CouchDB、ArangoDB、Couchbase、Cosmos DB、IBM Domino、MarkLogic、OrientDB。
  • 鍵值存儲——每個單獨的項都存儲為鍵值對。鍵值存儲是所有NoSQL數據庫中最簡單的數據庫。示例:Redis, Memcached, Apache Ignite, Riak。
  • 寬列存儲——這些類型的數據庫針對大型數據集上的查詢進行了優化,它們將數據列存儲在一起,而不是行。示例:Cassandra,Hbase,Scylla。
  • 圖形存儲——這些存儲關於圖形、網絡的信息,例如社會關係、路線圖、交通鏈接。示例:Neo4j,AllegroGraph。

2019最佳NoSQL數據庫

  1. MongoDB:是一個面向文檔的開源NoSQL數據庫。MongoDB使用JSON之類的文檔來存儲任何數據。它是用c++寫的。
  2. Cassandra:是Facebook為收件箱搜索開發的。Cassandra是一個用於處理大量結構化數據的分佈式數據存儲系統。
  3. Redis:是最著名的鍵值存儲。Redis是用C語言編寫的。它是根據BSD授權的。
  4. HBase:是谷歌為BigTable數據庫設計的分佈式非關係數據庫。
  5. Neo4j:稱為原生圖數據庫,因為它有效地實現了屬性圖模型,一直到存儲層。
  6. Oracle NoSQL:實現了從用戶定義的鍵到不透明數據項的映射。
  7. Amazon DynamoDB:使用了一個NoSQL數據庫模型,它是非關係型的,允許文檔、圖形和列在它的數據模型之間。
  8. Couchbase:是一個用於交互式web應用程序的NoSQL文檔數據庫。它具有靈活的數據模型,易於擴展,提供一致的高性能。
  9. Memcached:是一個開源、高性能、分佈式內存緩存系統,旨在通過減少數據庫負載來加速動態web應用程序。
  10. CouchDB:是一個開源的NoSQL數據庫,使用JSON存儲信息,JavaScript作為查詢語言。

1. MongoDB

2019年最受程序員歡迎的10大非關係型(NoSQL)數據庫

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

  • 特點:提供高性能;自動分片;運行在多個服務器上;支持主從複製;數據以JSON樣式文檔的形式存儲;索引文檔中的任何字段;由於數據被放置在碎片中,所以它具有自動負載平衡配置;支持正則表達式搜索;在失敗的情況下易於管理。
  • 優點:易於安裝MongoDB;MongoDB Inc.為客戶提供專業支持;支持臨時查詢;高速數據庫;無模式數據庫;橫向擴展數據庫;性能非常高。
  • 缺點:不支持連接;數據量大;嵌套文檔是有限的;增加不必要的內存使用。

2. Cassandra

2019年最受程序員歡迎的10大非關係型(NoSQL)數據庫

Cassandra是Facebook為收件箱搜索開發的。Cassandra是一個用於處理大量結構化數據的分佈式數據存儲系統。通常,這些數據分佈在許多普通服務器上。您還可以添加數據存儲容量,使您的服務保持在線,您可以輕鬆地完成這項任務。由於集群中的所有節點都是相同的,因此不需要處理複雜的配置。Cassandra是用Java編寫的。Cassandra查詢語言(CQL)是查詢Cassandra數據庫的一種類似sql的語言。因此,Cassandra在最佳開源數據庫中排名第二。Facebook、Twitter、思科(Cisco)、Rackspace、eBay、Twitter、Netflix等一些最大的公司都在使用Cassandra。

  • 特點:線性可伸縮;;保持快速響應時間;支持原子性、一致性、隔離性和耐久性(ACID)等屬性;使用Apache Hadoop支持MapReduce;分配數據的最大靈活性;高度可伸縮;點對點架構。
  • 優點:高度可伸縮;無單點故障;Multi-DC複製;與其他基於JVM的應用程序緊密集成;更適合多數據中心部署、冗餘、故障轉移和災難恢復。
  • 缺點:對聚合的有限支持;不可預知的性能;不支持特別查詢。

3. Redis

2019年最受程序員歡迎的10大非關係型(NoSQL)數據庫

Redis是一個鍵值存儲。此外,它是最著名的鍵值存儲。Redis支持一些c++、PHP、Ruby、Python、Perl、Scala等等。Redis是用C語言編寫的。此外,它是根據BSD授權的。

  • 特點:自動故障轉移;將其數據庫完全保存在內存中;事務;Lua腳本;將數據複製到任意數量的從屬服務器;鑰匙的壽命有限;LRU驅逐鑰匙;支持發佈/訂閱。
  • 優點:支持多種數據類型;很容易安裝;非常快(每秒執行約11萬組,每秒執行約81000次);操作都是原子的;多用途工具(在許多用例中使用)。
  • 缺點:不支持連接;存儲過程所需的Lua知識;數據集必須很好地適應內存。

4. HBase

2019年最受程序員歡迎的10大非關係型(NoSQL)數據庫

HBase是谷歌為BigTable數據庫設計的分佈式非關係數據庫。HBase的主要目標之一是託管數十億行X數百萬列。您可以隨時添加服務器來增加容量。多個主節點將確保數據的高可用性。HBase是用Java 8編寫的。它是在Apache下授權的。Hbase還簡單地利用Java API進行客戶訪問。

  • 特點:支持自動故障;線性可伸縮;提供了數據複製;與Hadoop集成,作為源和目標。
  • 優點:為較大的表提供快速查找;提供對來自數十億條記錄的單行的低延遲訪問;簡單的Java API為客戶端;自動分片;License-free;處理HDFS文件存儲之上的大型數據集;靈活的模式設計;高速。
  • 缺點:不支持事務;沒有權限或內置身份驗證;僅按鍵索引和排序;單點故障(當只使用一個HMaster時);不支持SQL結構;集群上的內存問題。

5. neo4j

2019年最受程序員歡迎的10大非關係型(NoSQL)數據庫

Neo4j被稱為原生圖數據庫,因為它有效地實現了屬性圖模型,一直到存儲層。這意味著數據完全按照白板的方式存儲,數據庫使用指針導航和遍歷圖。Neo4j有數據庫的社區版和企業版。企業版包括Community Edition必須提供的所有功能,以及額外的企業需求,如備份、集群和故障轉移功能。

  • 特點:它支持唯一的約束;Neo4j支持完整的ACID(原子性、一致性、隔離性和持久性)規則;Java API: Cypher API和本機Java API;使用Apache Lucence索引;簡單查詢語言Neo4j CQL;包含用於執行CQL命令的UI: Neo4j Data Browser。
  • 優點:容易檢索其相鄰節點或關係細節,無需連接或索引;易於學習Neo4j CQL查詢語言命令;不需要複雜的連接來檢索數據;非常容易地表示半結構化數據;大型企業實時應用程序的高可用性;簡化的調優。
  • 缺點:不支持分片。

6. Oracle NoSQL

2019年最受程序員歡迎的10大非關係型(NoSQL)數據庫

Oracle剛剛用Oracle NoSQL啟動了NoSQL數據庫。它在2018年變得流行起來。與MongoDB和Casandra數據庫相比,它不那麼流行。Oracle NoSQL數據庫實現了從用戶定義的鍵到不透明數據項的映射。儘管它記錄了鍵/值對的內部版本號,但是它只維護存儲中的最新版本。Oracle的12c版本是為雲而設計的,可以託管在一臺服務器或多臺服務器上,並支持管理包含數十億條記錄的數據庫。Oracle最新版本的一些特性包括網格框架以及物理和邏輯結構的使用。Oracle Database 18c現在為客戶提供了一個高性能、可靠和安全的平臺,使他們的事務和分析工作負載(無論是在雲環境中,還是在本地環境中,或者在混合雲配置中)更容易、更經濟地實現現代化。

  • 特點:Oracle NoSQL數據庫處理大數據;支持SQL,可以從Oracle關係數據庫訪問它;Oracle NoSQL數據庫使用Java/C API讀寫數據;分佈式數據庫;通過節點為請求的密鑰提供對數據的訪問。
  • 優點:基於PL/SQL編程結構;對等社區有助於解決所有問題;Oracle數據庫是安全的,並確保不會通過提示更新篡改用戶數據。
  • 缺點:小型組織的高成本;安裝需要大量的資源;甚至可能需要硬件升級才能實現Oracle;佔用了很多空間。

7. Amazon DynamoDB

"
2019年最受程序員歡迎的10大非關係型(NoSQL)數據庫

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

什麼是NoSQL數據庫?

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

NoSQL數據庫類型

  • 文檔數據庫——這些數據庫通常將每個鍵與稱為文檔的複雜數據結構配對。文檔可以包含鍵數組對、鍵值對甚至嵌套文檔。示例:MongoDB、Apache CouchDB、ArangoDB、Couchbase、Cosmos DB、IBM Domino、MarkLogic、OrientDB。
  • 鍵值存儲——每個單獨的項都存儲為鍵值對。鍵值存儲是所有NoSQL數據庫中最簡單的數據庫。示例:Redis, Memcached, Apache Ignite, Riak。
  • 寬列存儲——這些類型的數據庫針對大型數據集上的查詢進行了優化,它們將數據列存儲在一起,而不是行。示例:Cassandra,Hbase,Scylla。
  • 圖形存儲——這些存儲關於圖形、網絡的信息,例如社會關係、路線圖、交通鏈接。示例:Neo4j,AllegroGraph。

2019最佳NoSQL數據庫

  1. MongoDB:是一個面向文檔的開源NoSQL數據庫。MongoDB使用JSON之類的文檔來存儲任何數據。它是用c++寫的。
  2. Cassandra:是Facebook為收件箱搜索開發的。Cassandra是一個用於處理大量結構化數據的分佈式數據存儲系統。
  3. Redis:是最著名的鍵值存儲。Redis是用C語言編寫的。它是根據BSD授權的。
  4. HBase:是谷歌為BigTable數據庫設計的分佈式非關係數據庫。
  5. Neo4j:稱為原生圖數據庫,因為它有效地實現了屬性圖模型,一直到存儲層。
  6. Oracle NoSQL:實現了從用戶定義的鍵到不透明數據項的映射。
  7. Amazon DynamoDB:使用了一個NoSQL數據庫模型,它是非關係型的,允許文檔、圖形和列在它的數據模型之間。
  8. Couchbase:是一個用於交互式web應用程序的NoSQL文檔數據庫。它具有靈活的數據模型,易於擴展,提供一致的高性能。
  9. Memcached:是一個開源、高性能、分佈式內存緩存系統,旨在通過減少數據庫負載來加速動態web應用程序。
  10. CouchDB:是一個開源的NoSQL數據庫,使用JSON存儲信息,JavaScript作為查詢語言。

1. MongoDB

2019年最受程序員歡迎的10大非關係型(NoSQL)數據庫

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

  • 特點:提供高性能;自動分片;運行在多個服務器上;支持主從複製;數據以JSON樣式文檔的形式存儲;索引文檔中的任何字段;由於數據被放置在碎片中,所以它具有自動負載平衡配置;支持正則表達式搜索;在失敗的情況下易於管理。
  • 優點:易於安裝MongoDB;MongoDB Inc.為客戶提供專業支持;支持臨時查詢;高速數據庫;無模式數據庫;橫向擴展數據庫;性能非常高。
  • 缺點:不支持連接;數據量大;嵌套文檔是有限的;增加不必要的內存使用。

2. Cassandra

2019年最受程序員歡迎的10大非關係型(NoSQL)數據庫

Cassandra是Facebook為收件箱搜索開發的。Cassandra是一個用於處理大量結構化數據的分佈式數據存儲系統。通常,這些數據分佈在許多普通服務器上。您還可以添加數據存儲容量,使您的服務保持在線,您可以輕鬆地完成這項任務。由於集群中的所有節點都是相同的,因此不需要處理複雜的配置。Cassandra是用Java編寫的。Cassandra查詢語言(CQL)是查詢Cassandra數據庫的一種類似sql的語言。因此,Cassandra在最佳開源數據庫中排名第二。Facebook、Twitter、思科(Cisco)、Rackspace、eBay、Twitter、Netflix等一些最大的公司都在使用Cassandra。

  • 特點:線性可伸縮;;保持快速響應時間;支持原子性、一致性、隔離性和耐久性(ACID)等屬性;使用Apache Hadoop支持MapReduce;分配數據的最大靈活性;高度可伸縮;點對點架構。
  • 優點:高度可伸縮;無單點故障;Multi-DC複製;與其他基於JVM的應用程序緊密集成;更適合多數據中心部署、冗餘、故障轉移和災難恢復。
  • 缺點:對聚合的有限支持;不可預知的性能;不支持特別查詢。

3. Redis

2019年最受程序員歡迎的10大非關係型(NoSQL)數據庫

Redis是一個鍵值存儲。此外,它是最著名的鍵值存儲。Redis支持一些c++、PHP、Ruby、Python、Perl、Scala等等。Redis是用C語言編寫的。此外,它是根據BSD授權的。

  • 特點:自動故障轉移;將其數據庫完全保存在內存中;事務;Lua腳本;將數據複製到任意數量的從屬服務器;鑰匙的壽命有限;LRU驅逐鑰匙;支持發佈/訂閱。
  • 優點:支持多種數據類型;很容易安裝;非常快(每秒執行約11萬組,每秒執行約81000次);操作都是原子的;多用途工具(在許多用例中使用)。
  • 缺點:不支持連接;存儲過程所需的Lua知識;數據集必須很好地適應內存。

4. HBase

2019年最受程序員歡迎的10大非關係型(NoSQL)數據庫

HBase是谷歌為BigTable數據庫設計的分佈式非關係數據庫。HBase的主要目標之一是託管數十億行X數百萬列。您可以隨時添加服務器來增加容量。多個主節點將確保數據的高可用性。HBase是用Java 8編寫的。它是在Apache下授權的。Hbase還簡單地利用Java API進行客戶訪問。

  • 特點:支持自動故障;線性可伸縮;提供了數據複製;與Hadoop集成,作為源和目標。
  • 優點:為較大的表提供快速查找;提供對來自數十億條記錄的單行的低延遲訪問;簡單的Java API為客戶端;自動分片;License-free;處理HDFS文件存儲之上的大型數據集;靈活的模式設計;高速。
  • 缺點:不支持事務;沒有權限或內置身份驗證;僅按鍵索引和排序;單點故障(當只使用一個HMaster時);不支持SQL結構;集群上的內存問題。

5. neo4j

2019年最受程序員歡迎的10大非關係型(NoSQL)數據庫

Neo4j被稱為原生圖數據庫,因為它有效地實現了屬性圖模型,一直到存儲層。這意味著數據完全按照白板的方式存儲,數據庫使用指針導航和遍歷圖。Neo4j有數據庫的社區版和企業版。企業版包括Community Edition必須提供的所有功能,以及額外的企業需求,如備份、集群和故障轉移功能。

  • 特點:它支持唯一的約束;Neo4j支持完整的ACID(原子性、一致性、隔離性和持久性)規則;Java API: Cypher API和本機Java API;使用Apache Lucence索引;簡單查詢語言Neo4j CQL;包含用於執行CQL命令的UI: Neo4j Data Browser。
  • 優點:容易檢索其相鄰節點或關係細節,無需連接或索引;易於學習Neo4j CQL查詢語言命令;不需要複雜的連接來檢索數據;非常容易地表示半結構化數據;大型企業實時應用程序的高可用性;簡化的調優。
  • 缺點:不支持分片。

6. Oracle NoSQL

2019年最受程序員歡迎的10大非關係型(NoSQL)數據庫

Oracle剛剛用Oracle NoSQL啟動了NoSQL數據庫。它在2018年變得流行起來。與MongoDB和Casandra數據庫相比,它不那麼流行。Oracle NoSQL數據庫實現了從用戶定義的鍵到不透明數據項的映射。儘管它記錄了鍵/值對的內部版本號,但是它只維護存儲中的最新版本。Oracle的12c版本是為雲而設計的,可以託管在一臺服務器或多臺服務器上,並支持管理包含數十億條記錄的數據庫。Oracle最新版本的一些特性包括網格框架以及物理和邏輯結構的使用。Oracle Database 18c現在為客戶提供了一個高性能、可靠和安全的平臺,使他們的事務和分析工作負載(無論是在雲環境中,還是在本地環境中,或者在混合雲配置中)更容易、更經濟地實現現代化。

  • 特點:Oracle NoSQL數據庫處理大數據;支持SQL,可以從Oracle關係數據庫訪問它;Oracle NoSQL數據庫使用Java/C API讀寫數據;分佈式數據庫;通過節點為請求的密鑰提供對數據的訪問。
  • 優點:基於PL/SQL編程結構;對等社區有助於解決所有問題;Oracle數據庫是安全的,並確保不會通過提示更新篡改用戶數據。
  • 缺點:小型組織的高成本;安裝需要大量的資源;甚至可能需要硬件升級才能實現Oracle;佔用了很多空間。

7. Amazon DynamoDB

2019年最受程序員歡迎的10大非關係型(NoSQL)數據庫

DynamoDB使用了一個NoSQL數據庫模型,它是非關係型的,允許文檔、圖形和列在它的數據模型之間。每個DynamoDB查詢由用戶標識的主鍵執行,主鍵唯一標識每個項。它還減輕了客戶操作和擴展分佈式數據庫的負擔。因此,硬件供應、設置、配置、複製、軟件補丁、集群擴展等都由Amazon管理。

  • 特點:高可伸縮性;用於索引值範圍的散列範圍;將數據存儲在分區中;使用JSON作為傳輸協議,而不是存儲格式。
  • 優點:易於設置;提供底層AWS DynamoDB API;自動伸縮;降低管理高可用性和高峰使用時間伸縮的複雜性;靜止加密;DynamoDB的安全性由AWS標識控制。
  • 缺點:不免費備份您的表;大小限制。

8. Couchbase

"
2019年最受程序員歡迎的10大非關係型(NoSQL)數據庫

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

什麼是NoSQL數據庫?

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

NoSQL數據庫類型

  • 文檔數據庫——這些數據庫通常將每個鍵與稱為文檔的複雜數據結構配對。文檔可以包含鍵數組對、鍵值對甚至嵌套文檔。示例:MongoDB、Apache CouchDB、ArangoDB、Couchbase、Cosmos DB、IBM Domino、MarkLogic、OrientDB。
  • 鍵值存儲——每個單獨的項都存儲為鍵值對。鍵值存儲是所有NoSQL數據庫中最簡單的數據庫。示例:Redis, Memcached, Apache Ignite, Riak。
  • 寬列存儲——這些類型的數據庫針對大型數據集上的查詢進行了優化,它們將數據列存儲在一起,而不是行。示例:Cassandra,Hbase,Scylla。
  • 圖形存儲——這些存儲關於圖形、網絡的信息,例如社會關係、路線圖、交通鏈接。示例:Neo4j,AllegroGraph。

2019最佳NoSQL數據庫

  1. MongoDB:是一個面向文檔的開源NoSQL數據庫。MongoDB使用JSON之類的文檔來存儲任何數據。它是用c++寫的。
  2. Cassandra:是Facebook為收件箱搜索開發的。Cassandra是一個用於處理大量結構化數據的分佈式數據存儲系統。
  3. Redis:是最著名的鍵值存儲。Redis是用C語言編寫的。它是根據BSD授權的。
  4. HBase:是谷歌為BigTable數據庫設計的分佈式非關係數據庫。
  5. Neo4j:稱為原生圖數據庫,因為它有效地實現了屬性圖模型,一直到存儲層。
  6. Oracle NoSQL:實現了從用戶定義的鍵到不透明數據項的映射。
  7. Amazon DynamoDB:使用了一個NoSQL數據庫模型,它是非關係型的,允許文檔、圖形和列在它的數據模型之間。
  8. Couchbase:是一個用於交互式web應用程序的NoSQL文檔數據庫。它具有靈活的數據模型,易於擴展,提供一致的高性能。
  9. Memcached:是一個開源、高性能、分佈式內存緩存系統,旨在通過減少數據庫負載來加速動態web應用程序。
  10. CouchDB:是一個開源的NoSQL數據庫,使用JSON存儲信息,JavaScript作為查詢語言。

1. MongoDB

2019年最受程序員歡迎的10大非關係型(NoSQL)數據庫

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

  • 特點:提供高性能;自動分片;運行在多個服務器上;支持主從複製;數據以JSON樣式文檔的形式存儲;索引文檔中的任何字段;由於數據被放置在碎片中,所以它具有自動負載平衡配置;支持正則表達式搜索;在失敗的情況下易於管理。
  • 優點:易於安裝MongoDB;MongoDB Inc.為客戶提供專業支持;支持臨時查詢;高速數據庫;無模式數據庫;橫向擴展數據庫;性能非常高。
  • 缺點:不支持連接;數據量大;嵌套文檔是有限的;增加不必要的內存使用。

2. Cassandra

2019年最受程序員歡迎的10大非關係型(NoSQL)數據庫

Cassandra是Facebook為收件箱搜索開發的。Cassandra是一個用於處理大量結構化數據的分佈式數據存儲系統。通常,這些數據分佈在許多普通服務器上。您還可以添加數據存儲容量,使您的服務保持在線,您可以輕鬆地完成這項任務。由於集群中的所有節點都是相同的,因此不需要處理複雜的配置。Cassandra是用Java編寫的。Cassandra查詢語言(CQL)是查詢Cassandra數據庫的一種類似sql的語言。因此,Cassandra在最佳開源數據庫中排名第二。Facebook、Twitter、思科(Cisco)、Rackspace、eBay、Twitter、Netflix等一些最大的公司都在使用Cassandra。

  • 特點:線性可伸縮;;保持快速響應時間;支持原子性、一致性、隔離性和耐久性(ACID)等屬性;使用Apache Hadoop支持MapReduce;分配數據的最大靈活性;高度可伸縮;點對點架構。
  • 優點:高度可伸縮;無單點故障;Multi-DC複製;與其他基於JVM的應用程序緊密集成;更適合多數據中心部署、冗餘、故障轉移和災難恢復。
  • 缺點:對聚合的有限支持;不可預知的性能;不支持特別查詢。

3. Redis

2019年最受程序員歡迎的10大非關係型(NoSQL)數據庫

Redis是一個鍵值存儲。此外,它是最著名的鍵值存儲。Redis支持一些c++、PHP、Ruby、Python、Perl、Scala等等。Redis是用C語言編寫的。此外,它是根據BSD授權的。

  • 特點:自動故障轉移;將其數據庫完全保存在內存中;事務;Lua腳本;將數據複製到任意數量的從屬服務器;鑰匙的壽命有限;LRU驅逐鑰匙;支持發佈/訂閱。
  • 優點:支持多種數據類型;很容易安裝;非常快(每秒執行約11萬組,每秒執行約81000次);操作都是原子的;多用途工具(在許多用例中使用)。
  • 缺點:不支持連接;存儲過程所需的Lua知識;數據集必須很好地適應內存。

4. HBase

2019年最受程序員歡迎的10大非關係型(NoSQL)數據庫

HBase是谷歌為BigTable數據庫設計的分佈式非關係數據庫。HBase的主要目標之一是託管數十億行X數百萬列。您可以隨時添加服務器來增加容量。多個主節點將確保數據的高可用性。HBase是用Java 8編寫的。它是在Apache下授權的。Hbase還簡單地利用Java API進行客戶訪問。

  • 特點:支持自動故障;線性可伸縮;提供了數據複製;與Hadoop集成,作為源和目標。
  • 優點:為較大的表提供快速查找;提供對來自數十億條記錄的單行的低延遲訪問;簡單的Java API為客戶端;自動分片;License-free;處理HDFS文件存儲之上的大型數據集;靈活的模式設計;高速。
  • 缺點:不支持事務;沒有權限或內置身份驗證;僅按鍵索引和排序;單點故障(當只使用一個HMaster時);不支持SQL結構;集群上的內存問題。

5. neo4j

2019年最受程序員歡迎的10大非關係型(NoSQL)數據庫

Neo4j被稱為原生圖數據庫,因為它有效地實現了屬性圖模型,一直到存儲層。這意味著數據完全按照白板的方式存儲,數據庫使用指針導航和遍歷圖。Neo4j有數據庫的社區版和企業版。企業版包括Community Edition必須提供的所有功能,以及額外的企業需求,如備份、集群和故障轉移功能。

  • 特點:它支持唯一的約束;Neo4j支持完整的ACID(原子性、一致性、隔離性和持久性)規則;Java API: Cypher API和本機Java API;使用Apache Lucence索引;簡單查詢語言Neo4j CQL;包含用於執行CQL命令的UI: Neo4j Data Browser。
  • 優點:容易檢索其相鄰節點或關係細節,無需連接或索引;易於學習Neo4j CQL查詢語言命令;不需要複雜的連接來檢索數據;非常容易地表示半結構化數據;大型企業實時應用程序的高可用性;簡化的調優。
  • 缺點:不支持分片。

6. Oracle NoSQL

2019年最受程序員歡迎的10大非關係型(NoSQL)數據庫

Oracle剛剛用Oracle NoSQL啟動了NoSQL數據庫。它在2018年變得流行起來。與MongoDB和Casandra數據庫相比,它不那麼流行。Oracle NoSQL數據庫實現了從用戶定義的鍵到不透明數據項的映射。儘管它記錄了鍵/值對的內部版本號,但是它只維護存儲中的最新版本。Oracle的12c版本是為雲而設計的,可以託管在一臺服務器或多臺服務器上,並支持管理包含數十億條記錄的數據庫。Oracle最新版本的一些特性包括網格框架以及物理和邏輯結構的使用。Oracle Database 18c現在為客戶提供了一個高性能、可靠和安全的平臺,使他們的事務和分析工作負載(無論是在雲環境中,還是在本地環境中,或者在混合雲配置中)更容易、更經濟地實現現代化。

  • 特點:Oracle NoSQL數據庫處理大數據;支持SQL,可以從Oracle關係數據庫訪問它;Oracle NoSQL數據庫使用Java/C API讀寫數據;分佈式數據庫;通過節點為請求的密鑰提供對數據的訪問。
  • 優點:基於PL/SQL編程結構;對等社區有助於解決所有問題;Oracle數據庫是安全的,並確保不會通過提示更新篡改用戶數據。
  • 缺點:小型組織的高成本;安裝需要大量的資源;甚至可能需要硬件升級才能實現Oracle;佔用了很多空間。

7. Amazon DynamoDB

2019年最受程序員歡迎的10大非關係型(NoSQL)數據庫

DynamoDB使用了一個NoSQL數據庫模型,它是非關係型的,允許文檔、圖形和列在它的數據模型之間。每個DynamoDB查詢由用戶標識的主鍵執行,主鍵唯一標識每個項。它還減輕了客戶操作和擴展分佈式數據庫的負擔。因此,硬件供應、設置、配置、複製、軟件補丁、集群擴展等都由Amazon管理。

  • 特點:高可伸縮性;用於索引值範圍的散列範圍;將數據存儲在分區中;使用JSON作為傳輸協議,而不是存儲格式。
  • 優點:易於設置;提供底層AWS DynamoDB API;自動伸縮;降低管理高可用性和高峰使用時間伸縮的複雜性;靜止加密;DynamoDB的安全性由AWS標識控制。
  • 缺點:不免費備份您的表;大小限制。

8. Couchbase

2019年最受程序員歡迎的10大非關係型(NoSQL)數據庫

重點是易用性,包括web。它是一個NoSQL文檔存儲數據庫。Couchbase Server是一個用於交互式web應用程序的NoSQL文檔數據庫。它具有靈活的數據模型,易於擴展,提供一致的高性能。Couchbase Server、JSON文檔用於表示應用程序對象和對象之間的關係。

  • 特點:與Kubernetes一起大規模自動故障轉移部署和管理Couchbase;索引分區;通過N1QL查詢本地支持JSON數據;數據壓縮;事件服務。
  • 優點:綜合優化;降低網絡、內存和存儲的成本;極棒的管理面板,提供了大量關於您的集群如何執行的見解。
  • 缺點:Couchbase不是開源的。

9. Memcached

"
2019年最受程序員歡迎的10大非關係型(NoSQL)數據庫

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

什麼是NoSQL數據庫?

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

NoSQL數據庫類型

  • 文檔數據庫——這些數據庫通常將每個鍵與稱為文檔的複雜數據結構配對。文檔可以包含鍵數組對、鍵值對甚至嵌套文檔。示例:MongoDB、Apache CouchDB、ArangoDB、Couchbase、Cosmos DB、IBM Domino、MarkLogic、OrientDB。
  • 鍵值存儲——每個單獨的項都存儲為鍵值對。鍵值存儲是所有NoSQL數據庫中最簡單的數據庫。示例:Redis, Memcached, Apache Ignite, Riak。
  • 寬列存儲——這些類型的數據庫針對大型數據集上的查詢進行了優化,它們將數據列存儲在一起,而不是行。示例:Cassandra,Hbase,Scylla。
  • 圖形存儲——這些存儲關於圖形、網絡的信息,例如社會關係、路線圖、交通鏈接。示例:Neo4j,AllegroGraph。

2019最佳NoSQL數據庫

  1. MongoDB:是一個面向文檔的開源NoSQL數據庫。MongoDB使用JSON之類的文檔來存儲任何數據。它是用c++寫的。
  2. Cassandra:是Facebook為收件箱搜索開發的。Cassandra是一個用於處理大量結構化數據的分佈式數據存儲系統。
  3. Redis:是最著名的鍵值存儲。Redis是用C語言編寫的。它是根據BSD授權的。
  4. HBase:是谷歌為BigTable數據庫設計的分佈式非關係數據庫。
  5. Neo4j:稱為原生圖數據庫,因為它有效地實現了屬性圖模型,一直到存儲層。
  6. Oracle NoSQL:實現了從用戶定義的鍵到不透明數據項的映射。
  7. Amazon DynamoDB:使用了一個NoSQL數據庫模型,它是非關係型的,允許文檔、圖形和列在它的數據模型之間。
  8. Couchbase:是一個用於交互式web應用程序的NoSQL文檔數據庫。它具有靈活的數據模型,易於擴展,提供一致的高性能。
  9. Memcached:是一個開源、高性能、分佈式內存緩存系統,旨在通過減少數據庫負載來加速動態web應用程序。
  10. CouchDB:是一個開源的NoSQL數據庫,使用JSON存儲信息,JavaScript作為查詢語言。

1. MongoDB

2019年最受程序員歡迎的10大非關係型(NoSQL)數據庫

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

  • 特點:提供高性能;自動分片;運行在多個服務器上;支持主從複製;數據以JSON樣式文檔的形式存儲;索引文檔中的任何字段;由於數據被放置在碎片中,所以它具有自動負載平衡配置;支持正則表達式搜索;在失敗的情況下易於管理。
  • 優點:易於安裝MongoDB;MongoDB Inc.為客戶提供專業支持;支持臨時查詢;高速數據庫;無模式數據庫;橫向擴展數據庫;性能非常高。
  • 缺點:不支持連接;數據量大;嵌套文檔是有限的;增加不必要的內存使用。

2. Cassandra

2019年最受程序員歡迎的10大非關係型(NoSQL)數據庫

Cassandra是Facebook為收件箱搜索開發的。Cassandra是一個用於處理大量結構化數據的分佈式數據存儲系統。通常,這些數據分佈在許多普通服務器上。您還可以添加數據存儲容量,使您的服務保持在線,您可以輕鬆地完成這項任務。由於集群中的所有節點都是相同的,因此不需要處理複雜的配置。Cassandra是用Java編寫的。Cassandra查詢語言(CQL)是查詢Cassandra數據庫的一種類似sql的語言。因此,Cassandra在最佳開源數據庫中排名第二。Facebook、Twitter、思科(Cisco)、Rackspace、eBay、Twitter、Netflix等一些最大的公司都在使用Cassandra。

  • 特點:線性可伸縮;;保持快速響應時間;支持原子性、一致性、隔離性和耐久性(ACID)等屬性;使用Apache Hadoop支持MapReduce;分配數據的最大靈活性;高度可伸縮;點對點架構。
  • 優點:高度可伸縮;無單點故障;Multi-DC複製;與其他基於JVM的應用程序緊密集成;更適合多數據中心部署、冗餘、故障轉移和災難恢復。
  • 缺點:對聚合的有限支持;不可預知的性能;不支持特別查詢。

3. Redis

2019年最受程序員歡迎的10大非關係型(NoSQL)數據庫

Redis是一個鍵值存儲。此外,它是最著名的鍵值存儲。Redis支持一些c++、PHP、Ruby、Python、Perl、Scala等等。Redis是用C語言編寫的。此外,它是根據BSD授權的。

  • 特點:自動故障轉移;將其數據庫完全保存在內存中;事務;Lua腳本;將數據複製到任意數量的從屬服務器;鑰匙的壽命有限;LRU驅逐鑰匙;支持發佈/訂閱。
  • 優點:支持多種數據類型;很容易安裝;非常快(每秒執行約11萬組,每秒執行約81000次);操作都是原子的;多用途工具(在許多用例中使用)。
  • 缺點:不支持連接;存儲過程所需的Lua知識;數據集必須很好地適應內存。

4. HBase

2019年最受程序員歡迎的10大非關係型(NoSQL)數據庫

HBase是谷歌為BigTable數據庫設計的分佈式非關係數據庫。HBase的主要目標之一是託管數十億行X數百萬列。您可以隨時添加服務器來增加容量。多個主節點將確保數據的高可用性。HBase是用Java 8編寫的。它是在Apache下授權的。Hbase還簡單地利用Java API進行客戶訪問。

  • 特點:支持自動故障;線性可伸縮;提供了數據複製;與Hadoop集成,作為源和目標。
  • 優點:為較大的表提供快速查找;提供對來自數十億條記錄的單行的低延遲訪問;簡單的Java API為客戶端;自動分片;License-free;處理HDFS文件存儲之上的大型數據集;靈活的模式設計;高速。
  • 缺點:不支持事務;沒有權限或內置身份驗證;僅按鍵索引和排序;單點故障(當只使用一個HMaster時);不支持SQL結構;集群上的內存問題。

5. neo4j

2019年最受程序員歡迎的10大非關係型(NoSQL)數據庫

Neo4j被稱為原生圖數據庫,因為它有效地實現了屬性圖模型,一直到存儲層。這意味著數據完全按照白板的方式存儲,數據庫使用指針導航和遍歷圖。Neo4j有數據庫的社區版和企業版。企業版包括Community Edition必須提供的所有功能,以及額外的企業需求,如備份、集群和故障轉移功能。

  • 特點:它支持唯一的約束;Neo4j支持完整的ACID(原子性、一致性、隔離性和持久性)規則;Java API: Cypher API和本機Java API;使用Apache Lucence索引;簡單查詢語言Neo4j CQL;包含用於執行CQL命令的UI: Neo4j Data Browser。
  • 優點:容易檢索其相鄰節點或關係細節,無需連接或索引;易於學習Neo4j CQL查詢語言命令;不需要複雜的連接來檢索數據;非常容易地表示半結構化數據;大型企業實時應用程序的高可用性;簡化的調優。
  • 缺點:不支持分片。

6. Oracle NoSQL

2019年最受程序員歡迎的10大非關係型(NoSQL)數據庫

Oracle剛剛用Oracle NoSQL啟動了NoSQL數據庫。它在2018年變得流行起來。與MongoDB和Casandra數據庫相比,它不那麼流行。Oracle NoSQL數據庫實現了從用戶定義的鍵到不透明數據項的映射。儘管它記錄了鍵/值對的內部版本號,但是它只維護存儲中的最新版本。Oracle的12c版本是為雲而設計的,可以託管在一臺服務器或多臺服務器上,並支持管理包含數十億條記錄的數據庫。Oracle最新版本的一些特性包括網格框架以及物理和邏輯結構的使用。Oracle Database 18c現在為客戶提供了一個高性能、可靠和安全的平臺,使他們的事務和分析工作負載(無論是在雲環境中,還是在本地環境中,或者在混合雲配置中)更容易、更經濟地實現現代化。

  • 特點:Oracle NoSQL數據庫處理大數據;支持SQL,可以從Oracle關係數據庫訪問它;Oracle NoSQL數據庫使用Java/C API讀寫數據;分佈式數據庫;通過節點為請求的密鑰提供對數據的訪問。
  • 優點:基於PL/SQL編程結構;對等社區有助於解決所有問題;Oracle數據庫是安全的,並確保不會通過提示更新篡改用戶數據。
  • 缺點:小型組織的高成本;安裝需要大量的資源;甚至可能需要硬件升級才能實現Oracle;佔用了很多空間。

7. Amazon DynamoDB

2019年最受程序員歡迎的10大非關係型(NoSQL)數據庫

DynamoDB使用了一個NoSQL數據庫模型,它是非關係型的,允許文檔、圖形和列在它的數據模型之間。每個DynamoDB查詢由用戶標識的主鍵執行,主鍵唯一標識每個項。它還減輕了客戶操作和擴展分佈式數據庫的負擔。因此,硬件供應、設置、配置、複製、軟件補丁、集群擴展等都由Amazon管理。

  • 特點:高可伸縮性;用於索引值範圍的散列範圍;將數據存儲在分區中;使用JSON作為傳輸協議,而不是存儲格式。
  • 優點:易於設置;提供底層AWS DynamoDB API;自動伸縮;降低管理高可用性和高峰使用時間伸縮的複雜性;靜止加密;DynamoDB的安全性由AWS標識控制。
  • 缺點:不免費備份您的表;大小限制。

8. Couchbase

2019年最受程序員歡迎的10大非關係型(NoSQL)數據庫

重點是易用性,包括web。它是一個NoSQL文檔存儲數據庫。Couchbase Server是一個用於交互式web應用程序的NoSQL文檔數據庫。它具有靈活的數據模型,易於擴展,提供一致的高性能。Couchbase Server、JSON文檔用於表示應用程序對象和對象之間的關係。

  • 特點:與Kubernetes一起大規模自動故障轉移部署和管理Couchbase;索引分區;通過N1QL查詢本地支持JSON數據;數據壓縮;事件服務。
  • 優點:綜合優化;降低網絡、內存和存儲的成本;極棒的管理面板,提供了大量關於您的集群如何執行的見解。
  • 缺點:Couchbase不是開源的。

9. Memcached

2019年最受程序員歡迎的10大非關係型(NoSQL)數據庫

Memcached是一個開源、高性能的分佈式內存緩存系統,旨在通過減少數據庫負載來加速動態web應用程序。它是存儲在內存中的字符串、對象等的鍵值字典,由數據庫調用、API調用或頁面呈現生成。它現在被Netlog、Facebook、Flickr、Wikipedia、Twitter和YouTube等網站使用。

  • 特點:通過TCP或UDP的客戶機-服務器應用程序;減少數據庫負載;Memcached服務器是一個大哈希表;高效的網站與高數據庫負荷;根據Berkeley Software Distribution license進行分發;將內存緩存合併到邏輯池中。
  • 優點:安裝快;廣泛記錄在一個巨大的社區中。
  • 缺點:只支持Linux操作系統和類似於BSD的系統;不支持數據冗餘;不支持鎖、通讀、CAS。

10. CouchDB

"
2019年最受程序員歡迎的10大非關係型(NoSQL)數據庫

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

什麼是NoSQL數據庫?

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

NoSQL數據庫類型

  • 文檔數據庫——這些數據庫通常將每個鍵與稱為文檔的複雜數據結構配對。文檔可以包含鍵數組對、鍵值對甚至嵌套文檔。示例:MongoDB、Apache CouchDB、ArangoDB、Couchbase、Cosmos DB、IBM Domino、MarkLogic、OrientDB。
  • 鍵值存儲——每個單獨的項都存儲為鍵值對。鍵值存儲是所有NoSQL數據庫中最簡單的數據庫。示例:Redis, Memcached, Apache Ignite, Riak。
  • 寬列存儲——這些類型的數據庫針對大型數據集上的查詢進行了優化,它們將數據列存儲在一起,而不是行。示例:Cassandra,Hbase,Scylla。
  • 圖形存儲——這些存儲關於圖形、網絡的信息,例如社會關係、路線圖、交通鏈接。示例:Neo4j,AllegroGraph。

2019最佳NoSQL數據庫

  1. MongoDB:是一個面向文檔的開源NoSQL數據庫。MongoDB使用JSON之類的文檔來存儲任何數據。它是用c++寫的。
  2. Cassandra:是Facebook為收件箱搜索開發的。Cassandra是一個用於處理大量結構化數據的分佈式數據存儲系統。
  3. Redis:是最著名的鍵值存儲。Redis是用C語言編寫的。它是根據BSD授權的。
  4. HBase:是谷歌為BigTable數據庫設計的分佈式非關係數據庫。
  5. Neo4j:稱為原生圖數據庫,因為它有效地實現了屬性圖模型,一直到存儲層。
  6. Oracle NoSQL:實現了從用戶定義的鍵到不透明數據項的映射。
  7. Amazon DynamoDB:使用了一個NoSQL數據庫模型,它是非關係型的,允許文檔、圖形和列在它的數據模型之間。
  8. Couchbase:是一個用於交互式web應用程序的NoSQL文檔數據庫。它具有靈活的數據模型,易於擴展,提供一致的高性能。
  9. Memcached:是一個開源、高性能、分佈式內存緩存系統,旨在通過減少數據庫負載來加速動態web應用程序。
  10. CouchDB:是一個開源的NoSQL數據庫,使用JSON存儲信息,JavaScript作為查詢語言。

1. MongoDB

2019年最受程序員歡迎的10大非關係型(NoSQL)數據庫

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

  • 特點:提供高性能;自動分片;運行在多個服務器上;支持主從複製;數據以JSON樣式文檔的形式存儲;索引文檔中的任何字段;由於數據被放置在碎片中,所以它具有自動負載平衡配置;支持正則表達式搜索;在失敗的情況下易於管理。
  • 優點:易於安裝MongoDB;MongoDB Inc.為客戶提供專業支持;支持臨時查詢;高速數據庫;無模式數據庫;橫向擴展數據庫;性能非常高。
  • 缺點:不支持連接;數據量大;嵌套文檔是有限的;增加不必要的內存使用。

2. Cassandra

2019年最受程序員歡迎的10大非關係型(NoSQL)數據庫

Cassandra是Facebook為收件箱搜索開發的。Cassandra是一個用於處理大量結構化數據的分佈式數據存儲系統。通常,這些數據分佈在許多普通服務器上。您還可以添加數據存儲容量,使您的服務保持在線,您可以輕鬆地完成這項任務。由於集群中的所有節點都是相同的,因此不需要處理複雜的配置。Cassandra是用Java編寫的。Cassandra查詢語言(CQL)是查詢Cassandra數據庫的一種類似sql的語言。因此,Cassandra在最佳開源數據庫中排名第二。Facebook、Twitter、思科(Cisco)、Rackspace、eBay、Twitter、Netflix等一些最大的公司都在使用Cassandra。

  • 特點:線性可伸縮;;保持快速響應時間;支持原子性、一致性、隔離性和耐久性(ACID)等屬性;使用Apache Hadoop支持MapReduce;分配數據的最大靈活性;高度可伸縮;點對點架構。
  • 優點:高度可伸縮;無單點故障;Multi-DC複製;與其他基於JVM的應用程序緊密集成;更適合多數據中心部署、冗餘、故障轉移和災難恢復。
  • 缺點:對聚合的有限支持;不可預知的性能;不支持特別查詢。

3. Redis

2019年最受程序員歡迎的10大非關係型(NoSQL)數據庫

Redis是一個鍵值存儲。此外,它是最著名的鍵值存儲。Redis支持一些c++、PHP、Ruby、Python、Perl、Scala等等。Redis是用C語言編寫的。此外,它是根據BSD授權的。

  • 特點:自動故障轉移;將其數據庫完全保存在內存中;事務;Lua腳本;將數據複製到任意數量的從屬服務器;鑰匙的壽命有限;LRU驅逐鑰匙;支持發佈/訂閱。
  • 優點:支持多種數據類型;很容易安裝;非常快(每秒執行約11萬組,每秒執行約81000次);操作都是原子的;多用途工具(在許多用例中使用)。
  • 缺點:不支持連接;存儲過程所需的Lua知識;數據集必須很好地適應內存。

4. HBase

2019年最受程序員歡迎的10大非關係型(NoSQL)數據庫

HBase是谷歌為BigTable數據庫設計的分佈式非關係數據庫。HBase的主要目標之一是託管數十億行X數百萬列。您可以隨時添加服務器來增加容量。多個主節點將確保數據的高可用性。HBase是用Java 8編寫的。它是在Apache下授權的。Hbase還簡單地利用Java API進行客戶訪問。

  • 特點:支持自動故障;線性可伸縮;提供了數據複製;與Hadoop集成,作為源和目標。
  • 優點:為較大的表提供快速查找;提供對來自數十億條記錄的單行的低延遲訪問;簡單的Java API為客戶端;自動分片;License-free;處理HDFS文件存儲之上的大型數據集;靈活的模式設計;高速。
  • 缺點:不支持事務;沒有權限或內置身份驗證;僅按鍵索引和排序;單點故障(當只使用一個HMaster時);不支持SQL結構;集群上的內存問題。

5. neo4j

2019年最受程序員歡迎的10大非關係型(NoSQL)數據庫

Neo4j被稱為原生圖數據庫,因為它有效地實現了屬性圖模型,一直到存儲層。這意味著數據完全按照白板的方式存儲,數據庫使用指針導航和遍歷圖。Neo4j有數據庫的社區版和企業版。企業版包括Community Edition必須提供的所有功能,以及額外的企業需求,如備份、集群和故障轉移功能。

  • 特點:它支持唯一的約束;Neo4j支持完整的ACID(原子性、一致性、隔離性和持久性)規則;Java API: Cypher API和本機Java API;使用Apache Lucence索引;簡單查詢語言Neo4j CQL;包含用於執行CQL命令的UI: Neo4j Data Browser。
  • 優點:容易檢索其相鄰節點或關係細節,無需連接或索引;易於學習Neo4j CQL查詢語言命令;不需要複雜的連接來檢索數據;非常容易地表示半結構化數據;大型企業實時應用程序的高可用性;簡化的調優。
  • 缺點:不支持分片。

6. Oracle NoSQL

2019年最受程序員歡迎的10大非關係型(NoSQL)數據庫

Oracle剛剛用Oracle NoSQL啟動了NoSQL數據庫。它在2018年變得流行起來。與MongoDB和Casandra數據庫相比,它不那麼流行。Oracle NoSQL數據庫實現了從用戶定義的鍵到不透明數據項的映射。儘管它記錄了鍵/值對的內部版本號,但是它只維護存儲中的最新版本。Oracle的12c版本是為雲而設計的,可以託管在一臺服務器或多臺服務器上,並支持管理包含數十億條記錄的數據庫。Oracle最新版本的一些特性包括網格框架以及物理和邏輯結構的使用。Oracle Database 18c現在為客戶提供了一個高性能、可靠和安全的平臺,使他們的事務和分析工作負載(無論是在雲環境中,還是在本地環境中,或者在混合雲配置中)更容易、更經濟地實現現代化。

  • 特點:Oracle NoSQL數據庫處理大數據;支持SQL,可以從Oracle關係數據庫訪問它;Oracle NoSQL數據庫使用Java/C API讀寫數據;分佈式數據庫;通過節點為請求的密鑰提供對數據的訪問。
  • 優點:基於PL/SQL編程結構;對等社區有助於解決所有問題;Oracle數據庫是安全的,並確保不會通過提示更新篡改用戶數據。
  • 缺點:小型組織的高成本;安裝需要大量的資源;甚至可能需要硬件升級才能實現Oracle;佔用了很多空間。

7. Amazon DynamoDB

2019年最受程序員歡迎的10大非關係型(NoSQL)數據庫

DynamoDB使用了一個NoSQL數據庫模型,它是非關係型的,允許文檔、圖形和列在它的數據模型之間。每個DynamoDB查詢由用戶標識的主鍵執行,主鍵唯一標識每個項。它還減輕了客戶操作和擴展分佈式數據庫的負擔。因此,硬件供應、設置、配置、複製、軟件補丁、集群擴展等都由Amazon管理。

  • 特點:高可伸縮性;用於索引值範圍的散列範圍;將數據存儲在分區中;使用JSON作為傳輸協議,而不是存儲格式。
  • 優點:易於設置;提供底層AWS DynamoDB API;自動伸縮;降低管理高可用性和高峰使用時間伸縮的複雜性;靜止加密;DynamoDB的安全性由AWS標識控制。
  • 缺點:不免費備份您的表;大小限制。

8. Couchbase

2019年最受程序員歡迎的10大非關係型(NoSQL)數據庫

重點是易用性,包括web。它是一個NoSQL文檔存儲數據庫。Couchbase Server是一個用於交互式web應用程序的NoSQL文檔數據庫。它具有靈活的數據模型,易於擴展,提供一致的高性能。Couchbase Server、JSON文檔用於表示應用程序對象和對象之間的關係。

  • 特點:與Kubernetes一起大規模自動故障轉移部署和管理Couchbase;索引分區;通過N1QL查詢本地支持JSON數據;數據壓縮;事件服務。
  • 優點:綜合優化;降低網絡、內存和存儲的成本;極棒的管理面板,提供了大量關於您的集群如何執行的見解。
  • 缺點:Couchbase不是開源的。

9. Memcached

2019年最受程序員歡迎的10大非關係型(NoSQL)數據庫

Memcached是一個開源、高性能的分佈式內存緩存系統,旨在通過減少數據庫負載來加速動態web應用程序。它是存儲在內存中的字符串、對象等的鍵值字典,由數據庫調用、API調用或頁面呈現生成。它現在被Netlog、Facebook、Flickr、Wikipedia、Twitter和YouTube等網站使用。

  • 特點:通過TCP或UDP的客戶機-服務器應用程序;減少數據庫負載;Memcached服務器是一個大哈希表;高效的網站與高數據庫負荷;根據Berkeley Software Distribution license進行分發;將內存緩存合併到邏輯池中。
  • 優點:安裝快;廣泛記錄在一個巨大的社區中。
  • 缺點:只支持Linux操作系統和類似於BSD的系統;不支持數據冗餘;不支持鎖、通讀、CAS。

10. CouchDB

2019年最受程序員歡迎的10大非關係型(NoSQL)數據庫

CouchDB是一個開源的NoSQL數據庫,它使用JSON存儲信息,JavaScript作為查詢語言。它採用了一種多版本控制系統,避免了DB文件在寫入過程中被阻塞。Erlang。它是在Apache下授權的。它在2016年最受歡迎的NoSQL數據庫中排名第一。

  • 特點:Map/Reduce列表和顯示;提供數據庫級安全;身份驗證像web應用程序一樣通過會話cookie打開;JSONP是免費的;按照文檔存儲;支持ACID屬性;提供最簡單的複製形式;基於瀏覽器的GUI來處理數據、權限和配置。
  • 優點:Map/Reduce,查詢數據在某種程度上與數據本身是分離的;存儲任何JSON數據。
  • 缺點:任意查詢都很昂貴;使用CouchDB需要額外的空間;不支持XML。

每日一笑 - 在超寬顯示器上書寫長代碼的正確方式

"
2019年最受程序員歡迎的10大非關係型(NoSQL)數據庫

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

什麼是NoSQL數據庫?

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

NoSQL數據庫類型

  • 文檔數據庫——這些數據庫通常將每個鍵與稱為文檔的複雜數據結構配對。文檔可以包含鍵數組對、鍵值對甚至嵌套文檔。示例:MongoDB、Apache CouchDB、ArangoDB、Couchbase、Cosmos DB、IBM Domino、MarkLogic、OrientDB。
  • 鍵值存儲——每個單獨的項都存儲為鍵值對。鍵值存儲是所有NoSQL數據庫中最簡單的數據庫。示例:Redis, Memcached, Apache Ignite, Riak。
  • 寬列存儲——這些類型的數據庫針對大型數據集上的查詢進行了優化,它們將數據列存儲在一起,而不是行。示例:Cassandra,Hbase,Scylla。
  • 圖形存儲——這些存儲關於圖形、網絡的信息,例如社會關係、路線圖、交通鏈接。示例:Neo4j,AllegroGraph。

2019最佳NoSQL數據庫

  1. MongoDB:是一個面向文檔的開源NoSQL數據庫。MongoDB使用JSON之類的文檔來存儲任何數據。它是用c++寫的。
  2. Cassandra:是Facebook為收件箱搜索開發的。Cassandra是一個用於處理大量結構化數據的分佈式數據存儲系統。
  3. Redis:是最著名的鍵值存儲。Redis是用C語言編寫的。它是根據BSD授權的。
  4. HBase:是谷歌為BigTable數據庫設計的分佈式非關係數據庫。
  5. Neo4j:稱為原生圖數據庫,因為它有效地實現了屬性圖模型,一直到存儲層。
  6. Oracle NoSQL:實現了從用戶定義的鍵到不透明數據項的映射。
  7. Amazon DynamoDB:使用了一個NoSQL數據庫模型,它是非關係型的,允許文檔、圖形和列在它的數據模型之間。
  8. Couchbase:是一個用於交互式web應用程序的NoSQL文檔數據庫。它具有靈活的數據模型,易於擴展,提供一致的高性能。
  9. Memcached:是一個開源、高性能、分佈式內存緩存系統,旨在通過減少數據庫負載來加速動態web應用程序。
  10. CouchDB:是一個開源的NoSQL數據庫,使用JSON存儲信息,JavaScript作為查詢語言。

1. MongoDB

2019年最受程序員歡迎的10大非關係型(NoSQL)數據庫

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

  • 特點:提供高性能;自動分片;運行在多個服務器上;支持主從複製;數據以JSON樣式文檔的形式存儲;索引文檔中的任何字段;由於數據被放置在碎片中,所以它具有自動負載平衡配置;支持正則表達式搜索;在失敗的情況下易於管理。
  • 優點:易於安裝MongoDB;MongoDB Inc.為客戶提供專業支持;支持臨時查詢;高速數據庫;無模式數據庫;橫向擴展數據庫;性能非常高。
  • 缺點:不支持連接;數據量大;嵌套文檔是有限的;增加不必要的內存使用。

2. Cassandra

2019年最受程序員歡迎的10大非關係型(NoSQL)數據庫

Cassandra是Facebook為收件箱搜索開發的。Cassandra是一個用於處理大量結構化數據的分佈式數據存儲系統。通常,這些數據分佈在許多普通服務器上。您還可以添加數據存儲容量,使您的服務保持在線,您可以輕鬆地完成這項任務。由於集群中的所有節點都是相同的,因此不需要處理複雜的配置。Cassandra是用Java編寫的。Cassandra查詢語言(CQL)是查詢Cassandra數據庫的一種類似sql的語言。因此,Cassandra在最佳開源數據庫中排名第二。Facebook、Twitter、思科(Cisco)、Rackspace、eBay、Twitter、Netflix等一些最大的公司都在使用Cassandra。

  • 特點:線性可伸縮;;保持快速響應時間;支持原子性、一致性、隔離性和耐久性(ACID)等屬性;使用Apache Hadoop支持MapReduce;分配數據的最大靈活性;高度可伸縮;點對點架構。
  • 優點:高度可伸縮;無單點故障;Multi-DC複製;與其他基於JVM的應用程序緊密集成;更適合多數據中心部署、冗餘、故障轉移和災難恢復。
  • 缺點:對聚合的有限支持;不可預知的性能;不支持特別查詢。

3. Redis

2019年最受程序員歡迎的10大非關係型(NoSQL)數據庫

Redis是一個鍵值存儲。此外,它是最著名的鍵值存儲。Redis支持一些c++、PHP、Ruby、Python、Perl、Scala等等。Redis是用C語言編寫的。此外,它是根據BSD授權的。

  • 特點:自動故障轉移;將其數據庫完全保存在內存中;事務;Lua腳本;將數據複製到任意數量的從屬服務器;鑰匙的壽命有限;LRU驅逐鑰匙;支持發佈/訂閱。
  • 優點:支持多種數據類型;很容易安裝;非常快(每秒執行約11萬組,每秒執行約81000次);操作都是原子的;多用途工具(在許多用例中使用)。
  • 缺點:不支持連接;存儲過程所需的Lua知識;數據集必須很好地適應內存。

4. HBase

2019年最受程序員歡迎的10大非關係型(NoSQL)數據庫

HBase是谷歌為BigTable數據庫設計的分佈式非關係數據庫。HBase的主要目標之一是託管數十億行X數百萬列。您可以隨時添加服務器來增加容量。多個主節點將確保數據的高可用性。HBase是用Java 8編寫的。它是在Apache下授權的。Hbase還簡單地利用Java API進行客戶訪問。

  • 特點:支持自動故障;線性可伸縮;提供了數據複製;與Hadoop集成,作為源和目標。
  • 優點:為較大的表提供快速查找;提供對來自數十億條記錄的單行的低延遲訪問;簡單的Java API為客戶端;自動分片;License-free;處理HDFS文件存儲之上的大型數據集;靈活的模式設計;高速。
  • 缺點:不支持事務;沒有權限或內置身份驗證;僅按鍵索引和排序;單點故障(當只使用一個HMaster時);不支持SQL結構;集群上的內存問題。

5. neo4j

2019年最受程序員歡迎的10大非關係型(NoSQL)數據庫

Neo4j被稱為原生圖數據庫,因為它有效地實現了屬性圖模型,一直到存儲層。這意味著數據完全按照白板的方式存儲,數據庫使用指針導航和遍歷圖。Neo4j有數據庫的社區版和企業版。企業版包括Community Edition必須提供的所有功能,以及額外的企業需求,如備份、集群和故障轉移功能。

  • 特點:它支持唯一的約束;Neo4j支持完整的ACID(原子性、一致性、隔離性和持久性)規則;Java API: Cypher API和本機Java API;使用Apache Lucence索引;簡單查詢語言Neo4j CQL;包含用於執行CQL命令的UI: Neo4j Data Browser。
  • 優點:容易檢索其相鄰節點或關係細節,無需連接或索引;易於學習Neo4j CQL查詢語言命令;不需要複雜的連接來檢索數據;非常容易地表示半結構化數據;大型企業實時應用程序的高可用性;簡化的調優。
  • 缺點:不支持分片。

6. Oracle NoSQL

2019年最受程序員歡迎的10大非關係型(NoSQL)數據庫

Oracle剛剛用Oracle NoSQL啟動了NoSQL數據庫。它在2018年變得流行起來。與MongoDB和Casandra數據庫相比,它不那麼流行。Oracle NoSQL數據庫實現了從用戶定義的鍵到不透明數據項的映射。儘管它記錄了鍵/值對的內部版本號,但是它只維護存儲中的最新版本。Oracle的12c版本是為雲而設計的,可以託管在一臺服務器或多臺服務器上,並支持管理包含數十億條記錄的數據庫。Oracle最新版本的一些特性包括網格框架以及物理和邏輯結構的使用。Oracle Database 18c現在為客戶提供了一個高性能、可靠和安全的平臺,使他們的事務和分析工作負載(無論是在雲環境中,還是在本地環境中,或者在混合雲配置中)更容易、更經濟地實現現代化。

  • 特點:Oracle NoSQL數據庫處理大數據;支持SQL,可以從Oracle關係數據庫訪問它;Oracle NoSQL數據庫使用Java/C API讀寫數據;分佈式數據庫;通過節點為請求的密鑰提供對數據的訪問。
  • 優點:基於PL/SQL編程結構;對等社區有助於解決所有問題;Oracle數據庫是安全的,並確保不會通過提示更新篡改用戶數據。
  • 缺點:小型組織的高成本;安裝需要大量的資源;甚至可能需要硬件升級才能實現Oracle;佔用了很多空間。

7. Amazon DynamoDB

2019年最受程序員歡迎的10大非關係型(NoSQL)數據庫

DynamoDB使用了一個NoSQL數據庫模型,它是非關係型的,允許文檔、圖形和列在它的數據模型之間。每個DynamoDB查詢由用戶標識的主鍵執行,主鍵唯一標識每個項。它還減輕了客戶操作和擴展分佈式數據庫的負擔。因此,硬件供應、設置、配置、複製、軟件補丁、集群擴展等都由Amazon管理。

  • 特點:高可伸縮性;用於索引值範圍的散列範圍;將數據存儲在分區中;使用JSON作為傳輸協議,而不是存儲格式。
  • 優點:易於設置;提供底層AWS DynamoDB API;自動伸縮;降低管理高可用性和高峰使用時間伸縮的複雜性;靜止加密;DynamoDB的安全性由AWS標識控制。
  • 缺點:不免費備份您的表;大小限制。

8. Couchbase

2019年最受程序員歡迎的10大非關係型(NoSQL)數據庫

重點是易用性,包括web。它是一個NoSQL文檔存儲數據庫。Couchbase Server是一個用於交互式web應用程序的NoSQL文檔數據庫。它具有靈活的數據模型,易於擴展,提供一致的高性能。Couchbase Server、JSON文檔用於表示應用程序對象和對象之間的關係。

  • 特點:與Kubernetes一起大規模自動故障轉移部署和管理Couchbase;索引分區;通過N1QL查詢本地支持JSON數據;數據壓縮;事件服務。
  • 優點:綜合優化;降低網絡、內存和存儲的成本;極棒的管理面板,提供了大量關於您的集群如何執行的見解。
  • 缺點:Couchbase不是開源的。

9. Memcached

2019年最受程序員歡迎的10大非關係型(NoSQL)數據庫

Memcached是一個開源、高性能的分佈式內存緩存系統,旨在通過減少數據庫負載來加速動態web應用程序。它是存儲在內存中的字符串、對象等的鍵值字典,由數據庫調用、API調用或頁面呈現生成。它現在被Netlog、Facebook、Flickr、Wikipedia、Twitter和YouTube等網站使用。

  • 特點:通過TCP或UDP的客戶機-服務器應用程序;減少數據庫負載;Memcached服務器是一個大哈希表;高效的網站與高數據庫負荷;根據Berkeley Software Distribution license進行分發;將內存緩存合併到邏輯池中。
  • 優點:安裝快;廣泛記錄在一個巨大的社區中。
  • 缺點:只支持Linux操作系統和類似於BSD的系統;不支持數據冗餘;不支持鎖、通讀、CAS。

10. CouchDB

2019年最受程序員歡迎的10大非關係型(NoSQL)數據庫

CouchDB是一個開源的NoSQL數據庫,它使用JSON存儲信息,JavaScript作為查詢語言。它採用了一種多版本控制系統,避免了DB文件在寫入過程中被阻塞。Erlang。它是在Apache下授權的。它在2016年最受歡迎的NoSQL數據庫中排名第一。

  • 特點:Map/Reduce列表和顯示;提供數據庫級安全;身份驗證像web應用程序一樣通過會話cookie打開;JSONP是免費的;按照文檔存儲;支持ACID屬性;提供最簡單的複製形式;基於瀏覽器的GUI來處理數據、權限和配置。
  • 優點:Map/Reduce,查詢數據在某種程度上與數據本身是分離的;存儲任何JSON數據。
  • 缺點:任意查詢都很昂貴;使用CouchDB需要額外的空間;不支持XML。

每日一笑 - 在超寬顯示器上書寫長代碼的正確方式

2019年最受程序員歡迎的10大非關係型(NoSQL)數據庫

"

相關推薦

推薦中...