设为首页 加入收藏

TOP

7种数据库的详情分析(一)
2018-03-20 08:51:06 】 浏览:225
Tags:数据库 详情 分析

数据库的七种武器,是我在工作维护和接触到的七种常用数据库,包括4种常用的关系型数据库,3种常用nosql数据库

这些数据库作为业务底层的存储选型,每种数据库都有各自的定位和特点,结合业务,有各自的适用场景,在具体使用和运维时,也有一些特别的注意点。

本文按照顺序依次对这“七种武器”,进行介绍和总结,希望能够帮助大家理清每种“武器”的特点和用法,在合适的场景,使用合适的武器,构建好自己的数据存储体系。

第一种武器:MySQL数据库

d1bbac15a1e05b9287ff571d889ecbf8a61c474d

1、定位:开源、多平台、关系型数据库

目前使用最广泛、流行度最高的的开源数据库。

2、特点:

功能:支持事务,符合关系型数据库原理,符合ACID,支持多数SQL规范,以二维表方式组织数据,有插件式存储引擎,支持多种存储引擎格式

部署:用编译安装的方式,或者二进制包的方式,按照“安装软件-创建实例-库表用户初始化”,可以很快完成数据库部署

使用:使用标准的SQL语句进行数据库管理,简单SQL语句的并发和性能较好,对视图、存储过程、函数、触发器等支持的不是太好

监控:在命令行界面有一些常用的命令显示状态和性能,在图形界面方面,有比较多的开源监控工具来监控和记录数据库的状态,比如zabbix,nagios,cacti,lepus等

备份:逻辑备份 mysqldump/mysqldumper ,物理备份 用xtrabackup等工具进行备份;

高可用:MySQL高可用有多种方案,官方有基础的master-slave主从复制,新版本的innodb cluster,第三方的有MHA等高可用方案;

扩展:MySQL水平拆分,可以通过水平拆分proxy中间进行逻辑映射和拆分,扩大MySQL数据库的并发能力和吞吐量。

3、适用场景:

默认的innodb存储引擎,支持高并发,简单的绝大部分OLTP场景;

Tokudb存储引擎,使用高并发insert的场景;

Inforbright存储引擎,可以进行列压缩和OLAP统计查询场景;

4、选择注意:

使用MySQL进行OLTP业务时,需要注意数据量级,如果数据量级过大,需要进行水平拆分;

如果有OLAP需求,可以结合其他架构综合考虑。

第二种武器:SQL Server数据库

8aa9ba002384f31a49b540a35715f85328e3b5a4

1、定位:商业、Windows平台、关系型数据库

最早接触、与微软体系结合紧密的的商业数据库,属于“微软技术体系”

2、特点:

功能:支持事务,符合关系型数据库原理,符合ACID,支持多数SQL规范,以二维表方式组织数据

部署:在Windows平台,用图形界面进行软件安装;

使用:在Windows平台,使用SQL Server Mangement Studio图形界面进行安装;

监控:一般通过Windows资源管理和SQL server图形工具进行系统和数据库性能显示;

备份:通常用第三方备份恢复软件进行备份恢复;

高可用:通过共享存储和双机热备的方式,可以实现SQL Server数据库的高可用;

扩展: SQL Server数据库集群采用共存存储的方式,通过硬件垂直升级来对数据库集群进行扩展;

3、适用场景:大多数OLTP场景(与微软体系配合)

4、选择注意:

SQL Server与微软技术体系结合比较紧密,绝大多数工作,都是通过图形界面完成,对于习惯使用命令行的DBA可能会有不习惯;

SQL server对双引号,大小写,元信息的管理和处理方式,与其他数据库很不相同,需要注意;

使用SQL Server满足OLTP业务,会有比较好的效果,但对于大数据量的OLAP业务,最好还是选用专门的OLAP架构,不要在同一个SQL Server实例上混用OLTP和OLAP业务;

SQL server属于商业软件,需要注意版权和licence授权费用;

第三种武器:Oracle数据库

991ea11681054b31d102ec3eeb23eb51265b7224

1、定位:

商业、多平台、关系型数据库

功能最强大、最复杂、市场占比最高的商业数据库

2、特点:

功能:支持事务,符合关系型数据库原理,符合ACID,支持多数SQL规范,以二维表方式组织数据

部署:Oracle单实例数据库部署相对容易,但Oracle RAC集群环境,部署的步骤和依赖条件都比较多;

使用:通常使用命令行工具,进行各种数据库的管理,通常也可以用shell脚本和python脚本提高Oracle数据库管理效率;各种管理功能,都比较强大;

监控:Oracle官方有比较全面的监控工具,常用的第三方监控平台,如zabbix,cacti,lepus等都有对Oracle数据库的各项指标的完善监控;

备份:支持冷备份和热备份,可以用 exp/imp , expdp/impdp等进行逻辑备份和恢复,可以使用强大的RMAN工具进行专业的物理热备份和恢复;

高可用:Oracle数据库的高可用架构,可以用第三方双机热备软件,结合Oracle单实例实现;可以使用Oracle Dataguard,实现master和standby的备份;可以使用 Oracle RAC集群实现实例级别的高可用和负载均衡,使用ASM实现存储级别的高可用;

扩展:由于Oracle集群采用共享存储的方式,一般只能通过垂直硬件升级进行升级;

3、适用场景:绝大多数OLTP场景,部分OLAP

4、选择注意:Oracle从架构到运维,可以说是最难的数据库,学习和使用难度较高。

第四种武器:Postgresql数据库

1c47b8b72825ff080f55c8b053f992b3de661c00

1、定位:开源、多平台、关系型数据库,功能最强大的开源数据库。

2、特点:

功能:支持事务,符合关系型数据库原理,符合ACID,支持多数SQL规范,以二维表方式组织数据;

部署: postgresql需要先准备好Python等环境,然后编译安装软件,初始化数据库,启动实例,整个部署过程相对比较清晰;

使用: postgresql数据库可以使用命令行方式进行管理,也可以通过pgadmin图形工具进行管理;各种管理功能,都比较强大;

监控: 可以再命令行中查看各种性能视图和状态视图;相对其他其他数据库,并没有太好的图形监控工具和平台;

备份:支持冷备份和热备份,可以用 COPY命令进行逻辑导出和导入;用pgdump和pgrestore进行物理备份和恢复;

高可用:postgresql 官方支持 master-standby复制;也可以用Slony-I第三方组件进行数据库同步;

扩展:postgresql可以通过修改源码实现的postgres-XC实现水平扩展;

3、适用场景:

绝大多数OLTP场景,部分OLAP

适合目前互联网需要的一些信息,比如地理位置信息处理;

以postgresql作为底层数据库的greenplum数据仓库,是主流的MPP数据仓库;

基于postgresql的TimeScaleDB,是目前比较火的时序数据库之一;

4、选择注意:

Postgresql的架构、使用难度、功能性介于Oracle数据库和MySQL数据库之间,但因其开源的推动,各方面也有不错的发展;

Postgresql目前还没有比较主流和好用的监控平台,这是postgresql数据库目前存在的一个不足。
第五种武器:Mongodb数据库

3db2dec3cd5ba46e99cf4097dbfeab2eefcbea76

1、定位:开源、多平台、文档型nosql数据库

非常主流的文档型nosql数据库,“最像关系型数据库”,定位于“灵活”的nosql数据库

2、特点

首页 上一页 1 2 3 下一页 尾页 1/3/3
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇SQLite3源码学习之test_vfs的共享.. 下一篇PL/SQLDeveloper启动后报错:Init..

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目