云数据库方案设计
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 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的消息拉取到数据库。对集群数据库,每一个计算节点都会参与消息消费,因此可以达到很高的消费速率。