数据库的七种武器,包括4种常用的关系型数据库,种常用nosql数据库。
这些数据库作为业务底层的存储选型,每种数据库都有各自的定位和特点,结合业务,有各自的适用场景,在具体使用和运维时,也有一些特别的注意点。
本文按照顺序依次对这“七种武器”,进行介绍和总结,希望能够帮助大家理清每种“武器”的特点和用法,在合适的场景,使用合适的武器,构建好自己的数据存储体系。
第一种武器
MYSQL数据库
01
定位:开源、多平台、关系型数据库
目前使用最广泛、流行度最高的的开源数据库。
02
特点:
功能:支持事务,符合关系型数据库原理,符合ACID,支持多数SQL规范,以二维表方式组织数据,有插件式存储引擎,支持多种存储引擎格式
部署:用编译安装的方式,或者二进制包的方式,按照“安装软件-创建实例-库表用户初始化”,可以很快完成数据库部署
使用:使用标准的SQL语句进行数据库管理,简单SQL语句的并发和性能较好,对视图、存储过程、函数、触发器等支持的不是太好
监控:在命令行界面有一些常用的命令显示状态和性能,在图形界面方面,有比较多的开源监控工具来监控和记录数据库的状态,比如zabbix,nagios,cacti,lepus等
备份:逻辑备份mysqldump/mysqldumper,物理备份用xtrabackup等工具进行备份;
高可用:MySQL高可用有多种方案,官方有基础的master-slave主从复制,新版本的innodbcluster,第三方的有MHA等高可用方案;
扩展:MySQL水平拆分,可以通过水平拆分proxy中间进行逻辑映射和拆分,扩大MySQL数据库的并发能力和吞吐量。
0
适用场景:
默认的innodb存储引擎,支持高并发,简单的绝大部分OLTP场景;
Tokudb存储引擎,使用高并发insert的场景;
Inforbright存储引擎,可以进行列压缩和OLAP统计查询场景;
04
选择注意:
使用MySQL进行OLTP业务时,需要注意数据量级,如果数据量级过大,需要进行水平拆分;
如果有OLAP需求,可以结合其他架构综合考虑。
第二种武器
SQLServer数据库
01
定位:商业、Windows平台、关系型数据库
最早接触、与微软体系结合紧密的的商业数据库,属于“微软技术体系”
02
特点:
功能:支持事务,符合关系型数据库原理,符合ACID,支持多数SQL规范,以二维表方式组织数据
部署:在Windows平台,用图形界面进行软件安装;
使用:在Windows平台,使用SQLServerMangementStudio图形界面进行安装;
监控:一般通过Windows资源管理和SQLserver图形工具进行系统和数据库性能显示;
备份:通常用第三方备份恢复软件进行备份恢复;
高可用:通过共享存储和双机热备的方式,可以实现SQLServer数据库的高可用;
扩展:SQLServer数据库集群采用共存存储的方式,通过硬件垂直升级来对数据库集群进行扩展;
0
适用场景:
大多数OLTP场景(与微软体系配合)04
选择注意:
SQLServer与微软技术体系结合比较紧密,绝大多数工作,都是通过图形界面完成,对于习惯使用命令行的DBA可能会有不习惯;
SQLserver对双引号,大小写,元信息的管理和处理方式,与其他数据库很不相同,需要注意;
使用SQLServer满足OLTP业务,会有比较好的效果,但对于大数据量的OLAP业务,最好还是选用专门的OLAP架构,不要在同一个SQLServer实例上混用OLTP和OLAP业务;
SQLserver属于商业软件,需要注意版权和licence授权费用;
未完待续......
喜欢请点赞赞赏