数据库管理系统类型
关系型数据库 RDBMS(Relational database management system)#
关系型数据库,是指采用了关系模型来组织数据的数据库,以行和列的形式存储数据,一般以多张二维表的方式来存储,又给多张表建立了一定的关系,现流行的 RDBMS :
Mysql
Oracle
SQL Server
Mariadb
非关系型数据库 NoSQL(Not only SQL [Structured Query Language])#
非关系型数据库,很多以 json格式 进行存储数据,现流行的 NoSQL:
Redis
Memcache
Mongodb
Elasticsearch
RDBMS 和 NoSQL 功能对比#
关系型数据库(RDBMS):强大的查询功能,强一致性,二级索引
非关系型数据库(NoSQL:Not only SQL):灵活,高扩展性,性能高
RDBMS 和 NoSQL 特点对比#
关系型数据库(RDBMS):二维表,数据存取通过SQL(Structured Query Language 结构化查询语言)最大特点数据安全性方面强,事务管理遵循 ACID 原则,即 原子性,一致性,隔离性,持久性
非关系型数据库(NoSQL:Not only SQL)不是否定关系型数据库,而是做关系型数据库的补充,性能高,速度快,一般不遵循 ACID 原则
Mysql 事务管理#
Mysql 和其它的数据库产品有一个很大的不同就是事务由存储引擎所决定,例如 MYISAM,MEMORY,ARCHIVE 都不支持事务,事务就是为了解决一组查询要么全部执行成功,要么全部执行失败。
Mysql 事务默认是采取自动提交的模式,除非显示开始一个事务
MariaDB [(none)]> show variables like 'autocommit';
+---------------+-------+
| Variable_name | Value |
+---------------+-------+
| autocommit | ON |
+---------------+-------+
1 row in set (0.00 sec)
修改自动提交模式:0=OFF,1=ON
注意:修改自动提交对非事务类型的表是无效的,因为它们本身就没有提交和回滚的概念,还有一些命令是会强制自动提交的,比如DLL命令、lock tables等。
SET AUTOCOMMIT=OFF 或 SET AUTOCOMMIT=0
事务的 ACID 特性:原子性,一致性,隔离性,持久性。
原子性:事务是不可分割的最小工作单元,整个事务要么全部提交要么全部回滚失败。
一致性:数据库总是从一个一致性状态转换到另一个一致性的状态。
隔离性: 一个事务所做的更改在最终提交之前其它事务是不可见的。
持久性:事务一旦提交所做的修改就会永久保存在数据库中,即使系统崩溃,数据也不会丢失。
NoSQL特性总览#
- 不是否定关系型数据库,而是做关系型数据库的补充,现在也有部分替代的趋势mongodb
- 关注高性能,高并发,灵活性,忽略和上述无关的功能
- 现在也在提升安全性和使用功能
- 典型产品:redis(持久化缓存)、MongoDB(最接近关系型数据库的NoSQL)、memcached
- 管理不适用SQL管理,而是用一些特殊的API或数据接口
NoSQL 的分类(存储方式)#
- 键值(key value)存储:memcached、redis
- 列存储(column-oriented):HBASE(新浪、360)
- 文档数据库(document-oriented):MongoDB(最接近关系型数据库的NoSQL)
- 图形存储(Graph):Neo4j
Mysql 数据库版本选择#
- 1.0
- 5.1
- 5.5
- 5.6
- 5.7
- 8.0
# 版本选择的建议:
5.6版本:选择G A 6-12 个月,小版本为偶数版
5.7版本:选择G A 6-12 个月,小版本为偶数版,尽量选择5.7.17版本以上
作者: 拨云见日z
出处:https://www.cnblogs.com/zzzwqh/p/13277836.html
版权:本文采用「署名-非商业性使用-相同方式共享 4.0 国际」知识共享许可协议进行许可。
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Linux glibc自带哈希表的用例及性能测试
· 深入理解 Mybatis 分库分表执行原理
· 如何打造一个高并发系统?
· .NET Core GC压缩(compact_phase)底层原理浅谈
· 现代计算机视觉入门之:什么是图片特征编码
· 手把手教你在本地部署DeepSeek R1,搭建web-ui ,建议收藏!
· Spring AI + Ollama 实现 deepseek-r1 的API服务和调用
· 数据库服务器 SQL Server 版本升级公告
· 程序员常用高效实用工具推荐,办公效率提升利器!
· C#/.NET/.NET Core技术前沿周刊 | 第 23 期(2025年1.20-1.26)