天天看點

Redis6——1. NoSQL資料庫簡介1. NoSQL 資料庫解決的問題2. NoSQL 資料庫

文章目錄

  • 1. NoSQL 資料庫解決的問題
    • 1.1 技術的分類
    • 1.2 技術的發展
    • 1.3 NoSQL 解決 CPU 及記憶體壓力
    • 1.4 解決 IO 壓力
  • 2. NoSQL 資料庫
    • 2.1 NoSQL 資料庫概述
    • 2.2 NoSQL 适用場景
    • 2.3 NoSQL 不适用場景
    • 2.4 常見 NoSQL
      • 2.4.1 Memcache
      • 2.4.2 Redis
      • 2.4.3 MongoDB

1. NoSQL 資料庫解決的問題

1.1 技術的分類

  1. 解決功能性的問題:Java、Jsp、RDBMS、Tomcat、HTML、Linux、JDBC、SVN
  2. 解決擴充性的問題:Struts、Spring、SpringMVC、Hibernate、Mybatis
  3. 解決性能的問題:NoSQL、Java線程、Hadoop、Nginx、MQ、ElasticSearch

1.2 技術的發展

Web1.0

Web1.0 的時代,資料通路量很有限,用一夫當關的高性能的單點伺服器可以解決大部分問題。

Redis6——1. NoSQL資料庫簡介1. NoSQL 資料庫解決的問題2. NoSQL 資料庫
Web2.0

随着 Web2.0 的時代的到來,使用者通路量大幅度提升,同時産生了大量的使用者資料。加上後來的智能移動裝置的普及,所有的網際網路平台都面臨了巨大的性能挑戰。

Redis6——1. NoSQL資料庫簡介1. NoSQL 資料庫解決的問題2. NoSQL 資料庫

1.3 NoSQL 解決 CPU 及記憶體壓力

Redis6——1. NoSQL資料庫簡介1. NoSQL 資料庫解決的問題2. NoSQL 資料庫

方案四:NoSQL 存儲 Session,不需要經過 IO,直接存在記憶體中,讀取速度更快。

1.4 解決 IO 壓力

Redis6——1. NoSQL資料庫簡介1. NoSQL 資料庫解決的問題2. NoSQL 資料庫

NoSQL 作為緩存資料庫,頻繁查詢的資料放到緩存資料庫,減少 IO 壓力。

2. NoSQL 資料庫

2.1 NoSQL 資料庫概述

NoSQL(NoSQL = Not Only SQL ),意即 “不僅僅是 SQL”,泛指非關系型的資料庫。

NoSQL 不依賴業務邏輯方式存儲,而以簡單的 key-value 模式存儲,是以大大的增加了資料庫的擴充能力。

  • 不遵循SQL标準。
  • 不支援ACID。
  • 遠超于SQL的性能。

2.2 NoSQL 适用場景

  • 對資料高并發的讀寫
  • 海量資料的讀寫
  • 對資料高可擴充性的

2.3 NoSQL 不适用場景

  • 需要事務支援
  • 基于sql的結構化查詢存儲,處理複雜的關系,需要即席查詢。
  • (用不着sql的和用了sql也不行的情況,請考慮用NoSql)

2.4 常見 NoSQL

2.4.1 Memcache

Redis6——1. NoSQL資料庫簡介1. NoSQL 資料庫解決的問題2. NoSQL 資料庫

2.4.2 Redis

Redis6——1. NoSQL資料庫簡介1. NoSQL 資料庫解決的問題2. NoSQL 資料庫

2.4.3 MongoDB

Redis6——1. NoSQL資料庫簡介1. NoSQL 資料庫解決的問題2. NoSQL 資料庫

繼續閱讀