20221115--概述
概述
1.1 数据库切分概述
1.1.1 OLTP 和 OLAP
联机事务处理(OLTP)也称为面向交易的处理系统,其基本特征是原始数据可以立即传送到计算中心进行处
理,并在很短的时间内给出处理结果。
联机分析处理(OLAP)是指通过多维的方式对数据进行分析、查询和报表,可以同数据挖掘工具、统计分析
工具配合使用,增强决策分析功能。
对于两者的主要区别可以用下表来说明:
OLTP | OLAP | |
---|---|---|
系统功能 | 日常交易处理 | 统计、分析、报表 |
DB 设计 | 面向实时交易类应用 | 面向统计分析类应用 |
数据处理 | 当前的, 最新的细节的, 二维的分立的 | 历史的, 聚集的, 多维的集成的, 统 一的 |
实时性 | 实时读写要求高 | 实时读写要求低 |
事务 | 强一致性 | 弱事务 |
分析要求 | 低、简单 | 高、复杂 |
1.1.2 关系型数据库和 NoSQL 数据库
关系型数据库,是建立在关系模型基础上的数据库,其借助于集合代数等数学概念和方法来处理数据库中的
数据。主流的 oracle、 DB2、 MS SQL Server 和 mysql 都属于这类传统数据库。
NoSQL 数据库,全称为 Not Only SQL,意思就是适用关系型数据库的时候就使用关系型数据库,不适用的
时候也没有必要非使用关系型数据库不可,可以考虑使用更加合适的数据存储。主要分为临时性键值存储
(memcached、 Redis)、永久性键值存储(ROMA、 Redis)、面向文档的数据库(MongoDB、 CouchDB)、
面向列的数据库(Cassandra、 HBase),每种 NoSQL 都有其特有的使用场景及优点。
下面分析下两者的特点,及优缺点:
关系型数据库 | NoSQL 数据库 | |
---|---|---|
特点 | -数据关系模型基于关系模型,结构化存储,完整性约束 -基于二维表及其之间的联系,需要连接、并、交、差、除 等数据操作 -采用结构化的查询语言(SQL)做数据读写 -操作需要数据的一致性,需要事务甚至是强一致性 | - 非结构化的存储 - 基于多维关系模型 - 具有特有的使用场景 |
特点 | - 保持数据的一致性(事务处理) - 可以进行 join 等复杂查询 - 通用化,技术成熟 | - 高并发,大数据下读写能力较强 - 基本支持分布式,易于扩展,可伸缩 - 简单,弱结构化存储 |
特点 | - 数据读写必须经过 sql 解析,大量数据、高并发下读写性 能不足 - 对数据做读写,或修改数据结构时需要加锁,影响并发操 作 - 无法适应非结构化存储 - 扩展困难 - 昂贵、复杂 | - join 等复杂操作能力较弱 - 事务支持较弱 - 通用性差 - 无完整约束复杂业务场景支持较差 |
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!