代码编织梦想

【一】技术发展

技术的分类

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

我们做一个项目,无外乎增删改查操作

为了实现而实现的这些功能,我们就要学解决这些功能性问题的技术

2. 解决扩展性问题: Strits 、 Spring 、 SpringMVC 、 Hibernate 、 Mybatis

随着项目的完成,我们需要做项目的优化

这个时候就要做代码的修改,这些框架可以方便我们高效地开发

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

随着用户数量的上升,我们就会面临多线程的问题

而我们这里说的 Redis 就是一种典型的 NoSql 数据库

【二】 Web 1.0 时代

浏览器 —— Web 服务器 —— 数据库服务

这就是我们早期的一种架构

【三】 Web 2.0 时代

浏览器 + 手机端 —— Web 服务器 —— 数据库服务

Web 服务器的访问量增加

服务器的 CPU 和内存面临着巨大的压力

数据库服务面临着巨大的 IO 压力

那这个时候我们就会使用负载均衡来解决服务器压力过大的问题

然而,当服务器变多了以后,我们的 session 却还是唯一的

我们有以下几种方案去解决这个问题

1. 存在浏览器的 cookie 里面

但是这样做,不安全,效率低 

2. 存在文件服务器或者数据库里

这样反而会增加数据库的 IO 压力

3. session 复制

这样会造成大量的session数据冗余,节点越多,浪费就越大 

4. 缓存数据库

完全在内存中,速度快。数据结构简单 

【四】 缓存数据库

打破了传统的关系型数据库以业务逻辑为依据的存储模式,而针对不同数据结构类型,改为以性能为有限的存储方式

【五】 NoSql 数据库

1. NoSql( NoSql = Not Only Sql ),意思就是“不仅仅是 Sql ”,泛指非关系型数据库

 NoSql 不依赖业务逻辑方式存储,而以简单的 key-value 模式存储。因此大大的增加了数据库的扩展能力。

  • 不遵循 Sql 标准
  • 不支持 ACID (原子性、一致性、隔离性、持久性)
  • 远超于 Sql 的性能

2. NoSql 的使用场景

  • 对数据高并发的读写
  • 海量数据的读写
  • 对数据的高扩展性

3. NoSql 不适用的场景

  • 需要事务支持
  • 基于 sql 的结构化查询存储,处理复杂的关系,需要及时查询。
  • (用不着 sql 的和用了 sql 也不行的情况,请考虑用 NoSql )

4. Memcache

  • 很早出现的 NoSql 数据库
  • 数据库都在内存中,一般不持久化
  • 支持简单的 key-value 模式,支持类型单一
  • 一般是作为缓存数据库辅助持久化的数据库

5. Redis

  • 几乎覆盖了 Memcache 的绝大部分功能
  • 数据都在内存中,支持持久化,主要用作备份恢复
  • 除了简单的 key-value 模式,还支持多种数据结构的存储,比如 list、set、hash、zset 等
  • 一般是作为缓存数据库辅助持久化的数据

6. MongoDB

  • 高性能、开元、模式自由( schema free )的文档型数据库
  • 数据都在内存中,如果内存不足,把不常用的数据保存到硬盘
  • 虽然是 key-value 模式,但是对 value (尤其是 json )提供了丰富的查询功能
  • 支持二进制数据及大型对象
  • 可以根据数据的特点替代 RDBMS ,成为独立的数据库。或者配合 RDBMS,存储特定的数据。

【六】行式存储数据库

1. 行式数据库

你们可以理解成把一条条的数据以json文本的形式表现出来

2. 列式数据库

就相当于原本的数据是一行一行记的,现在是一列一列记的

以上这两种方式跟传统的数据库相比,各有利弊,看应用场景

【七】图关系型数据库

主要应用:社会关系,公共交通网络,地图及网络拓普(n*(n - 1) / 2)

 

【八】最新的数据库排名

  1. Oracle
  2. MySql
  3. Sql Server
  4. PostgreSql
  5. MongoDB
  6. IBM Db2
  7. Redis
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/FairyKunKun/article/details/128063469

1、NoSQL数据库简介-爱代码爱编程

1、NoSQL数据库简介 1.1、NoSQL的好处? NoSQL通过内存存储数据,可以解决CPU及内存的压力NoSQL可以作为缓存数据库,解决IO压力1.2、NoSQL数据库的概述 NoSQL=Not Only SQL,不仅仅是SQL,泛指非关系型数据库。 NoSQL不依赖业务逻辑方式存储,而以简单的key-value模式存储。因此大大的增加了数据

【数据库】NoSQL数据库简介-爱代码爱编程

基于自己的理解,对几个常见的NoSQL数据库进行一下简单介绍,如有描述错误的,还请指正一下哈 一、数据库分类 数据库分两大类:SQL数据库和NoSQL数据库SQL数据库 常用的有 Mysql、Oracle、MSSQL、DB2等,这些大家应该都比较熟悉,都是SQL查询,语法大同小异。 NoSQL数据库 NoSQL数据库与传统的SQL数据库不同,SQL数

Redis(1)——NoSQL数据库简介-爱代码爱编程

文章目录 1.引入1.缓解CPU及内存的压力:2.缓解IO压力2.特点1.NoSQL数据库概述2.NoSQL适用场景3.NoSQL不适用场景4.典型的NoSQL数据库1.Memcache2.Redis3.MongoDB3.行式存储数据库(大数据时代)1.行式数据库2.列式数据库1.HBase4.图关系型数据库 1.引入 1.缓解CPU及内存的

第5章 泛型服务的定义实现_zhoujian_911的博客-爱代码爱编程

    从本章开始进入“Blog.Core-master”示例程序内部,但是也逐渐发现该程序是1个示例性远远大于工程性的程序,其内部有着些不必要的定义,同时在定义的规范上也存在着大小的许多问题,例如:一致性的命名方式规范,大量的不必要切重复的代码,不知从那儿复用的设计定义精巧但实用性和可读性都极差的类等,所以“Blog.Core-master”程序只能作为

metabase学习教程:视图-4_metabasecn的博客-爱代码爱编程

将数据可视化为直方图 学习何时使用直方图,以及元数据库如何使创建直方图更容易。 我们将逐步创建直方图,它是一种条形图,显示连续范围内的数据组。柱状图有助于深入了解人们可能购买的商品的数量、他们可能购买的价格范围,甚至是大多数人购买商品的时间。 直方图与条形图 直方图是条形图。虽然典型条形图上的条形图表示类别组,但柱状图上的条形图表示沿连续可量化频谱

socket网络编程_yangzhe19931117的博客-爱代码爱编程

参考博客:https://blog.csdn.net/shuux666/article/details/124023652 1、环境查看 通过cmd窗口的命令:ipconfig查看本机IP地址 查看网络情况是否正常:pi

2022大厂面试秘籍java岗:中间件+算法+http+线程+虚拟机+分布式_啊码的博客-爱代码爱编程

前言 很多朋友对面试不够了解,不知道如何准备,对面试环节的设置以及目的不够了解,因此成功率不高。通常情况下校招生面试的成功率低于1%,而社招的面试成功率也低于5%,所以对于候选人一定要知道设立面试的初衷以及每个环节的意义,

spring核心与设计思想_你好,冯同学的博客-爱代码爱编程

文章目录 Spring 是什么?什么是容器?什么是IoC?传统程序开发控制反转式程序开发对比总结规律 理解 Spring IoCDI 概念 Spring 是什么? 我们通常所说的 Spring 指的

(附源码)计算机毕业设计java巴州监控中心人事管理系统_sheji1011的博客-爱代码爱编程

项目运行 环境配置: Jdk1.8 + Tomcat8.5 + Mysql + HBuilderX(Webstorm也行)+ Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)。 项目技术: Springboot + mybatis + Maven + Vue 等等组成,B/S模式 + Maven管理等等

springcloud24:分布式事务 seata处理分布式事务总结篇_努力生活...的博客-爱代码爱编程

分布式事务: 分布式事务的问题: 1:1 一个servlet 对应一个 数据库1:N 一个servlet对应多个数据库N:N 多个servlet对应多个数据库 全局事务一致性问题(全局数据一致性的保证) Seata是分

nosql数据库简介_nosql数据库 数据结构-爱代码爱编程

NoSQL数据库概述   NoSQL(NoSQL = Not Only SQL),"不仅仅是SQL”,泛指非关系型数据库。   NoSQL不依赖业务逻辑存储,而已简单的Key-value等模式存储(共有四种方式这只是其中一种)。因此大大的增加了数据库的拓展能力。   * 不遵循SQL标准。   * 不支持ACID(原子性,一致性,隔离性,持久性)