1-NoSQL数据库简介

发布时间 2023-06-22 07:08:28作者: 捞起月亮的小北

1. 技术发展

技术的分类

1、解决功能性的问题:Java、Jsp、RDBMS、Tomcat、HTML、Linux、JDBC、SVN

2、解决扩展性的问题:Struts、Spring、SpringMVC、Hibernate、Mybatis

3、解决性能的问题:NoSQL、Java 线程、Hadoop、Nginx、MQ、ElasticSearch

1.1 Web1.0 时代

Web1.0 的时代,数据访问量很有限,用一夫当关的高性能的单点服务器​ 可以解决大部分问题。

image

1.2 Web2.0 时代

随着 Web2.0 的时代的到来,用户访问量大幅度提升​,同时产生了大量的用户数据​。加上后来的智能移动设备的普及,所有的互联网平台都面临了巨大的性能挑战。

image

1.3 解决 CPU 及内存压力

image

1.4 解决 IO 压力

image

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 Memcache

image

2.5 Redis

image

2.6 MongoDB

image

3. 大数据时代来临

3.1 行式数据库特点

image

3.2 列式数据库特点

image

image

HBase 的目标就是处理数据量非常庞大的表,可以用普通的计算机处理超过10 亿行数据,还可处理有数百万元素的数据表。

image

4. 图关系型数据库

image

image