云数据库方案设计

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

云数据库方案设计

一、云数据库的云化改造

面向云化环境,数据库在多个方面需要进行改造,包括快捷的安装部署,提供数据库的动态伸缩和资源隔离,以及监控、迁移、备份等一体化管理,以适应云环境中自动安装部署、一体化监控管理,资源动态分配等需求。

1.快速安装及部署

1.1 一键部署和分钟级实例的创建:

1. 准备好预置数据库的docker镜像

a. 初始化好空数据目录(也支持根据场景预置数据)

b. 数据库配置文件放置在docker镜像之外,通过映射的

方式进入镜像内部

2. 用户选择实例资源后(CPU、内存),系统自动计算最佳设

a. 用户选择实例的内存、CPU数量,使用场景(OLTP、OLAP)

b. 根据用户选择,自动调整、优化参数(共享缓存、work_mem、等等)

3. 使用docker镜像加载外置配置文件启动数据

1.2 多种部署方式

1. 单机(单独的docker镜像)

2. 主备和负载均衡

a). 配置好的三个独立docker镜像,分别扮演主机、备机、读写分离节点

b). 三个节点配置文件都在外部,映射到内部运行

c). 启动时,根据用户的资源选择和网络场景,自动规划配置文件内容

3. KADB 集群

a). 根据角色配置好独立的docker镜像,分别扮演数据节点、协调器节点等

b). 节点的配置文件都放在外部,映射到内部运行

c). 根据用户设置的资源,场景,自动分配节点数量,配置节点参数.

2.在线伸缩

云环境中,支持在线调整任何一个实例使用的资源。对于数据库而言,若分配的资源,包括CPU、内存、磁盘等资源发生变化,数据库同样需要对于资源的变化实施生效。

CPU变化时,主要影响数据库的并发连接数和并行参数,在金仓

云数据库中,并发连接数和并行参数可以动态调整。

内存发生变化时,数据库的共享内存,排序内存等内存分配支持动态调整,动态扩展。

磁盘发生变化时,数据库可以配置表空间的存储,以及表存储,分区的存储,动态使用新增资源。

另外,随着实际业务的增长,数据库集群的负载可能超出初始设计的承受能力,使得处理能力下降,不再满足业务需求,所以数据库集群支持在线扩展能力,即在不影响系统正常使用的情况下,增加数据库的数据处理能力。

3.资源隔离

KingbaseES云数据库支持多租户模式,以实现多个租户之间的资源隔离。

每个租户创建自己的数据库,各自的数据库从元信息、用户数据到内存、以及日志信息,都是彼此隔离的。每个租户的数据库不可以彼此访问。

各个租户的数据库可以方便的迁移和加载,支持各自的备份和恢复。

4.一体化管理

使用KEM 监控数据库运行状态

a). 支持自主监控(由KEM主动呈现)

b). 支持将收集的数据汇集到其他管理平台

使用WEB 对象管理工具管理数据库对象

a). 单机形式的数据库对象管理

b). 主备形式的数据库对象管理

c). KADB集群数据库对象管理

二、向非关系型存储、大数据处理进行扩展

1.通用数据库

通用数据库按照处理业务的类型,分为交易型数据库和分析型数据库。

1.交易数据库

主要用于交易类型的业务处理,例如:业务流程电子化,其他业务系统。面向所有参与业务流程的人员。对数据的操作特点是:大量短、频、快的增删改操作。

2.分析型数据库

主要用于统计分析,数据挖掘应用。面向决策者和分析人员。对数据库的操作特点是:大量数据入库,大量复杂查询。

云上的数据库需要有这两种数据库,来应对更多的用户应用需求。

2.与大数据平台的互访

大数据计算平台,例如Spark、HIVE等,需要支持大数据计算平台与数据库互访。以大数据计算平台为中心,建立分析平台。

1.大数据计算平台访问数据库

a)大数据计算平台Spark:

可以提供JdbcRDD来访问单机数据库系统,并且根据某列对表进行分区,并行读取,提升效率。对于集群数据库,Spark工作进程可以对每一个存储节点进行数据读取,通过这种并行的方式提升效率。

b)大数据计算平台HIVE:

需要在HIVE中注册数据库表信息,将数据库的表映射成HIVE表,通过Hive-SQL进行数据读取,并在HIVE中进行运算。

2.数据库访问大数据计算平台

大数据计算平台可以将数据,例如计算结果,写入到数据库中,再在数据库中,利用SQL对数据进行分析。

3.云数据集成

3.1 与RDS的数据集成

数据库使用外部表技术,可以访问RDS中的其他数据。

支持多种格式的数据;

支持访问和更新数据。

同时,使用迁移工具实现到RDS的数据集成。

3.2.与大数据存储平台的数据集成

数据库提供外部表技术,可以将交易型和分析型数据库与其他存储平台对接,在数据库内部,通过外部表访问大数据存储平台中的数据,包括:

a)与HDFS对接:外部表访问引擎(读写模块),通过调用HDFS 的访问接口(InputFormat,OutputFormat),对Textfile,Avrofile,ParquetFile的文件进行读写。可以在数据库中对HDFS中的数据进行计算,或者将结果保存在HDFS中。

b)与Kafka对接:在数据库内部通过外部表的方式,将kafka的消息拉取到数据库。对集群数据库,每一个计算节点都会参与消息消费,因此可以达到很高的消费速率。

相关文档
最新文档