“数据库上云”成为Gartner《中国数据库市场指南》中的关键词之一,柏睿实时云数仓应运而出,并已获得华为云Enable认证,其具备极速多表关联查询能力,兼容MySQL协议,将成为智能业务分析BI系统的强劲发动机!
当前柏睿实时云数仓已在华为云市场正式上线,支持客户在线购买使用!
https://marketplace.huaweicloud.com/contents/3a5d5814-74fc-45e7-8b27-cd72c2da2179
本系列干货内容,由实时云数仓产品总监从架构、安全、性能三个方面展开介绍柏睿云产品。
安全,是IT行业一个持久的话题。对于一个运行于云环境中的数据库PaaS产品来说,安全尤为重要。本篇为「数据安全篇」(下),欢迎阅读!
数据安全篇·目录
01 责任共担模型
02 整体业务安全
03 平台操作系统安全
04 平台数据安全
· 存算分离架构
· 存储可靠性
· 数据一致性
· 数据备份与恢复
05 平台业务高可用
· 数据节点高可用
· 网关节点高可用
06 用户业务应用安全建议
平台数据安全
柏睿实时云数仓不仅从业务的隔离与系统层考虑安全,在数据的存储上也考虑了很多安全特性。
云计算的魅力在于用户不需要关注云主机、云存储是如何运行的,云服务商承诺商品的相关可靠性。用户就像用自来水一样,打开水龙头直接用就可以了。
1、存算分离架构
柏睿实时云数仓原始技术架构来源于柏睿自研存算一体机,采用计算与存储分离的架构。这种架构类似于当前流行的微服务架构,但只有适合自己的才是最好的,柏睿数据根据自身多年数据库研发经验,所理解的微服务架构为:
将原单一的产品根据功能与服务对象划分成多种小的服务,服务之间互相协调、互相配合,为用户提供最终价值。每个服务运行在其独立的进程或独立的资源中,服务与服务间采用轻量级的通信机制互相沟通。每个服务都围绕着自身功能进行构建,并且能够独立地部署。另外,应尽量避免统一的、集中式的服务管理机制,对具体的一个服务而言,应根据相关联服务,选择合适的工具对其进行构建。
柏睿存算分离架构的优势包括:
计算:借助柏睿数据自研的新一代分布式内存数据库技术,充分发挥内存的高读写带宽优势,让CPU计算得更快。不需要关注如何实现数据的可靠性与一致性。我们将陆续在接下来的文章中分享如何对性能调优。
存储:只关注存储部分的功能,考虑如何将内存中的数据快速写入与读取,并保障数据的可靠性与一致性。
2、存储可靠性
柏睿实时云数仓运行在云端,借助云计算平台可以为用户提供高可靠的数据存储能力。
例如华为云主机的云硬盘数据可靠性高达99.9999999%(9个9)。(具体内容请参见https://www.huaweicloud.com/product/evs.html)针对云主机的可用性,华为云官方有明确云主机服务可用率SLA:华为云通过商业和技术上的合理努力,承诺单实例维度每服务周期服务可用率不低于99.975%;单区域多可用区维度每服务周期服务可用率不低于99.995%。(具体内容请参见https://www.huaweicloud.com/declaration/sla.html)
3、数据一致性
柏睿实时云数仓底层基于柏睿数据自研的新一代分布式内存数据库技术,在云端增加了数据存储能力。柏睿实时云数仓是分析型(OLAP)数据库,基于MPP架构,使用CAP理论保障数据的一致性:
将数据文件以分区的形式存储在每个云主机中,当执行数据写入/更新操作时,所有操作将会记录到分区所在的磁盘事务日志,然后压缩为完整的数据库快照。
如果日志操作不成功则本次操作整体失败并退出。如果日志操作正常,快照和加载内存错误,将会重新从日志做快照和加载到内存操作。
当云主机中存储日志磁盘空间不足时,由于不能写入操作日志,所以对数据的操作将失败。
当云主机重启后,将通过云服务器本地磁盘中的快照和日志文件,数据库将恢复到关机前的状态。
4、数据备份与恢复
传统数据库运行在用户局域网络中,用户借助局域网络的高带宽,即可快速无增加成本地将数据库中的内容备份或导出。
柏睿实时云数仓运行在云端,如何让用户既快速又能低成本的备份数据?我们的实现方法是:优化柏睿数据库存储能力,支持云存储备份与恢复数据。
数据备份:可以将柏睿内存库中的数据,通过云服务商的“内网”备份到云存储,云存储的存储成本可能是云服务商中存储服务成本最低的服务。用户通过云存储可以快速下载到备份文件。而且用户可以借助云存储的多种高级功能,节省数据存储成本。比如华为云的对象存储OBS,用户可以设置将超过120天的存储文件转为归档存储,这样可以节省70%以上的存储成本。
数据恢复(上传):用户可以借助云存储的免费上传高带宽,将备份或导出的数据文件上传到云存储中,然后柏睿实时云数仓通过云服务商的“内网”,将云存储中的文件快速加载到内存中。
下图是运行在华为云中的柏睿实时云数仓的一个测试场景,在不同规模的集群中从华为云存储中加载500G的TPC-H数据。
平台业务高可用
云厂商已从基础设施层,为云计算用户提供了高可用的运行环境,如当一个云底层物理服务器异常时,其上运行的虚拟机将自动“漂移”到其他物理机中运行。所以服务器硬件损坏不能启动、磁盘异常数据丢失这些传统物理服务器遇到的问题,在云计算环境中基本不会出现。
在云环境中,分析型数据库遇到传统硬件损坏时,仅需要重启云主机,就可以恢复业务,因此针对本文中的业务高可用,一般是应用在线下物理机环境中的。
本节内容主要讲述柏睿数据基于自研的新一代分布式内存数据库RapidsDB,在线下的高可用部署。
1、数据节点高可用
柏睿实时云数仓中的数据节点是存储数据的云服务,其高可用性是在集群内部设置可用性组来实现。
目前,RapidsDB最多支持成对模式,成对模式下可用性组中的每一个叶在另一个可用性组中有一个对应的成对节点。该叶与它的成对叶共享同一个分区集,但是主分区在它们之间平均分配。如果出现故障,RapidsDB 将自动升级该叶的成对叶上的副本分区。
2、网关节点高可用
参考柏睿实时云数仓部署示意图,通过RapidsDB的SQL分发节点实现对网关点的高可用。如图下所示,网关Master节点为128.64.97.80。
当Master节点关机时,IP地址最小的SQL分发节点将接替网关节点的工作。
用户业务应用安全建议
用户需要从业务应用侧负责数据库的安全,推荐如下设置:
· 设置强壮密码
· 限制允许登录的IP地址
· 申请柏睿数据手工配置VPN或VPC端点连接实时云数仓
· 按业务需求做好备份
· 按业务使用不同的数据库集群
· 私有化部署
· 遇到问题时,及时联系柏睿数据
至此,我们已经详细阐述了柏睿实时云数仓的「架构篇」和「数据安全篇」。