专业编程教程与实战项目分享平台

网站首页 > 技术文章 正文

数据库分类与容灾:你需要知道这些关键点!

ins518 2024-11-13 11:57:07 技术文章 8 ℃ 0 评论

数据库是“按照数据结构来组织、存储和管理数据的仓库”,是一个长期存储在计算机内,有组织、可共享、统一管理的大量数据集合。数据库根据数据存储方式的不同,可划分为关系型数据库和非关系型数据库两大类。

关系数据库,是建立在“有关系”基础上的数据库,借助于集合代数等数学概念和方法来处理数据库中的数据。在关系型数据库中,对数据的操作几乎全部建立在一个或多个关系表格上。在大型系统中通常有多个表,且表之间有各种关系。实际使用就是通过对这些关联的表格分类、合并、连接或选取等运算来实现数据库的管理。常见的关系型数据库有 Oracle、DB2、Microsoft SQL Server、MySQL 等。

非关系型数据库,顾名思义,每条数据间都是独立存在的,不存在任何关系。非关系型数据库严格意义上来说,并不是一种数据库,而是一种数据结构化存储方法的集合,类似于文档、键值对或者图结构。常见的非关系型数据库有NoSQL、MongoDB、Redis、Hbase等。

数据库类型

关系型数据库

非关系型数据库

优点

1. 易于维护:都是使用表结构,格式一致;

2. 使用方便: SQL 语言通用,可用于复杂查询;

3. 复杂操作:支持 SQL ,可用于一个表以及多个表之间非常复杂的查询。

1. 格式灵活:存储数据的格式可以是 key、 value 形式、文档形式、图片形式等等,文档形式、图片形式等等,应用场景广泛,而关系型数据库则只支持基础类型;

2. 速度快:NoSQL 可以使用硬盘或者随机存储器作为载体,而关系型数据库只能使用硬盘,并且具有高拓展性;

3. 高拓展性:数据之间没有耦合性,所以非常容易水平扩展;

4. 成本低:NoSQL 数据库部署简单,基本是开源软件。

缺点

1. 读写性能比较差,尤其是海量数据的高效率读写;

2. 固定的表结构,灵活度稍欠;

3.高并发读写需求,传统关系型数据库来说,硬盘 I/O 是一个很大的瓶颈。

1. 不提供 SQL 支持,学习和使用成本较高;

2. 无事务处理;

3. 数据结构相对复杂,复杂查询方面稍欠。


  • Oracle数据库

Oracle数据库是甲骨文公司推出以分布式数据库为核心的一组软件产品,是目前世界上使用最为广泛的数据库管理系统。作为一个通用的数据库系统,它具有完整的数据管理功能;作为一个关系数据库,它是一个完备关系的产品;作为分布式数据库,它实现了分布式处理功能。

  • SQL Server 数据库

SQL Server是微软开发的商业数据库,是一个全面的数据库平台,使用集成的商业智能(BI)工具提供了企业级的数据管理。SQL Server数据库引擎为关系型数据和结构化数据提供了更安全可靠的存储功能,且具有使用方便可伸缩性好与相关软件集成程度高等优点。

  • MySQL数据库

MySQL是最流行的关系型数据库管理系统之一,是一个关系型数据库管理系统。这种数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了读取的速度并提高了灵活性。MySQL所使用的SQL语言是用于访问数据库的最常用标准化语言。其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,一般中小型网站的开发都选择 MySQL 作为网站数据库。

  • MongoDB 数据库

MongoDB 是一款为 Web 应用程序和互联网基础设施设计的数据库管理系统,是一款非关系型数据库。MongoDB使用BSON( 类 JSON)作为其数据模型结构,其结构是面向对象的而不是二维表,可以表示丰富的、有层级的数据结构,从而使得MongoDB 能在生产环境中提供高读写的能力,吞吐量较于 MySQL 等 SQL 数据库大大增强。

  • Redis 数据库

Redis 是典型的是非关系型数据库,且Redis是一款开源数据库,支持数据的持久化,可以将内存中的数据保存在磁盘中,重启的时候可以再次加载进行使用。Redis不仅仅支持简单的keyvalue类型的数据,同时还提供 list,set,zset,hash等数据结构的存储,同时还支持数据的备份,即 master-slave模式的数据备份。

数据库容灾方式

数据库在信息系统架构当中承担业务数据存储和业务逻辑计算等工作,随着数据库应用场景的延伸和拓展,数据库在线数据的安全越发受到用户重视。数据库容灾则是保障数据库数据安全的重要手段之一。下面以 Oracle 数据库为例,简单分析一下几种常见的数据库容灾模式。

  • 基于存储层的容灾复制

基于存储层的容灾技术的复制机制是通过基于 SAN 的存储局域网进行复制,复制针对每个 I/O 进行,复制的数据量比较大;系统可以实现数据的同步或异步两种方式的复制。对大数据量的系统来说有很大的优势(每天日志量在 60G 以上),但是对主机、操作系统、数据库版本等要求一致,且对网络环境的要求比较高。

  • 基于逻辑卷的容灾复制

基于逻辑卷的容灾技术的机制是通过基于 TCP/IP 的网络环境进行复制,由操作系统进程捕捉逻辑卷的变化进行复制。其特点与基于存储设备的复制方案比较类似,也可以选择同步或异步两种方式,对主机的软、硬件环境的一致性要求也比较高,对大数据量的应用比较有优势。其目标系统如果要实现可读,需要创建第三方镜像。这种技术和上面提到的基于存储的复制技术比较适合于超大数据量的系统,或者是应用系统的容灾复制。

  • 基于数据库语义级复制

基于 Oracle redo log 的逻辑复制是数据库语义级复制技术的具体形式之一,通过使用 Oracle 以外的独立进程,捕捉redo log file 的信息,将其翻译成 SQL 语句,再通过网络传输到目标端数据库,在目标端数据库执行同样的 SQL。如果其进程赶不上 Oracle 日志切换,也可以捕捉归档日志中的内容。也有的产品在源端以事务为单位,当一个事务完成后,再把它传输到目标端。所有的产品一般都是以表为单位进行复制,同时也支持大部分 DDL 的复制(主要在 Oracle 9i 环境中)。

Tags:

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表