NoSQL 數據庫簡介


什么是 NoSQL 數據庫

NoSQL(Not Only SQL,不僅僅是SQL)泛指非關系型的數據庫。它是為了解決大規模數據集合以及多種數據類型帶來的問題,尤其是大數據應用難題。NoSQL 數據庫並沒有一個統一的架構,各有所長。

關系型數據庫 VS NoSQL 數據庫

NoSQL 數據庫是一類數據庫的統稱(如鍵值存儲型,文檔型,列存儲型等等)。

關系數據庫
  • 優勢:以完善的關系代數理論作為基礎,有嚴格的標准,支持事務 ACID 屬性,借助索引機制可以實現高效的查詢,技術成熟,有專業公司的技術支持.
  • 劣勢:可擴展性較差,無法較好支持海量數據存儲,無法滿足數據高並發的需求
NoSQL 數據庫
  • 優勢:可以支持超大規模數據存儲,靈活的數據模型可以很好地支持 Web2.0 應用,具有強大的橫向擴展能力等.
  • 劣勢:缺乏數學理論基礎,復雜查詢性能不高,大都不能實現事務強一致性,很難實現數據完整性,技術尚不成熟,缺乏專業團隊的技術支持,維護較困難等
結論

關系數據庫和 NoSQL 數據庫各有優缺點,彼此無法取代

關系數據庫應用場景:電信、銀行等領域的關鍵業務系統,需要保證強事務一致性

NoSQL 數據庫應用場景:互聯網企業、傳統企業的非關鍵業務(比如數據分析)

八種常見的 NoSQL 數據庫
  • Redis
  • MongeDB
  • HBase
  • Membase
  • Neo4j
  • Cassandra
  • CouchDB
  • Riak
NoSQL 數據庫的四大分類
  • 鍵值(Key-Value)存儲數據庫
    • 應用場景:內容緩存,主要用於處理大量數據的高訪問負載,也用於一些日志系統等等。
    • 優點:查找速度快。這一類數據庫主要會使用到一個哈希表,這個表中有一個特定的鍵和一個指針指向特定的數據。Key/value模型對於IT系統來說的優勢在於簡單、易部署。如:Redis,Oracle BDB.
  • 列存儲數據庫
    • 應用場景:分布式的文件系統,應對分布式存儲的海量數據。
    • 優點:查找速度快,可擴展性強,更容易進行分布式擴展。鍵仍然存在,但是它們的特點是指向了多個列。這些列是由列家族來安排的。如: HBase, Riak, Cassandra,
  • 文檔型數據庫
    • 應用場景:Web 應用(與Key-Value類似,Value是結構化的,不同的是數據庫能夠了解Value的內容)。
    • 優點:數據結構要求不嚴格,表結構可變,不需要像關系型數據庫一樣需要預先定義表結構。文檔型數據庫可以看作是鍵值數據庫的升級版,而且比鍵值數據庫的查詢效率更高。如:MongoDB ,CouchDB,國內也有文檔型數據庫 SequoiaDB,已經開源。
  • 圖形(Graph)數據庫
    • 應用場景:社交網絡,推薦系統等。專注於構建關系圖譜。
    • 優點:利用圖結構相關算法。比如最短路徑尋址,N度關系查找等。使用靈活的圖形模型,並且能夠擴展到多個服務器上。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM