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​