快速开始
多云原生

多云原生

ProtonBase通过以下云原生技术的创新,为用户提供云厂商中立的全托管数据服务。

多云架构

ProtonBase 计算的抽象是 Warebase 。Warebase 对用户提供计算服务。用户可以用与 PostgreSQL 协议兼容的客户端,或者 JDBC/ODBC 等各种方式,直接连接到 Warebase。一个 Warebase 由多个计算单元(Unit) 组成,我们采用了 K8S 的容器化技术来管理这些计算单元,从而可以很方便快速地横向扩展这些计算单元,提升 Warebase 的计算能力。ProtonBase 会按照使用的计算单元数和时长计费。

ProtonBase 存储的抽象是数据库(Database)。 用户把业务上相关的数据放在一起就组成了一个数据库。数据库是一堆相关数据的集合,是存储的逻辑单元。数据物理上存在块存储(如 EBS 等 )和对象存储(如 S3、OSS 等)这种云存储中。ProtonBase 单个数据库的数据量没有上限,存储和计算一样按照按用量收费。

因为 ProtonBase 采用了标准的云组件,比如 EBS、 S3,以及 K8S 这种容器化技术,而所有主要的云厂商都已经提供了这些技术,所以我们能够比较容易地在所有主要的云上提供服务。

存算分离

云计算的核心价值之一是弹性,为了将弹性优势发挥到极致,ProtonBase 实现了存储计算分离架构。在存储计算分离架构之下,计算弹性和存储弹性是独立的。当用户需要更多的计算资源时,只需要增加计算资源,而不需要增加存储资源。ProtonBase 的计算单元和存储都可以无限扩展,无论业务需求如何增长, ProtonBase 都能在极短的时间内响应,满足业务的性能需求。

计算资源可以秒级快速增减,并且在增减的时候不需要拷贝数据,因此新扩的计算节点立刻就能提供服务。而当存储不够时,系统就会快速地增加存储,这些新增加的存储可以立刻被所有的数据库使用。Warebase 会根据负载把数据库的数据分片加载到合适的计算单元,而且还可能动态分割、合并、以及移动这些分片来达到最优性能。ProtonBase 不需要等待数据从一个节点复制到另外一个节点,待节点有了一定的数据之后才能服务,从而在一个毫秒级延迟的系统实现了存储计算分离。

尽管业界越来越多的产品采用存储计算分离架构,但其支持的场景却存在较大差异。对于数仓产品而言,由于其对延迟要求相对较低,实现存储计算分离相对容易。然而,因为 Data Warebase 涵盖了数据库产品的场景,所以必须实现毫秒级延迟的存储计算分离架构。这种毫秒级延迟的要求与实时数仓系统秒级延迟的要求存在数量级的差距,实现存储计算分离的技术挑战上也存在巨大的差距。

全托管

公共云尽管具备弹性优势,但是当申请资源的时候,云平台的响应往往是分钟级的(比如说申请一台新容器时,云厂商会需要先找一台机器,给这个机器装 OS ,再加入 K8S等多个环节),这不能满足 ProtonBase 秒级的扩缩容的要求。为了解决这个问题,ProtonBase 在公共云上提供了全托管服务,并且提供了一个可共享的资源池,从而以较低的成本实现了秒级扩缩容。同时,当公共云上的底层机器出现故障失败时,全托管服务会利用同一个资源池自动 Failover ,保证服务的高可用。

ProtonBase 的全托管服务提供了监控能力,让客户能够看到自己的各个 Warebase 的运行状况以及各个数据库的大小等等。

ProtonBase 的全托管服务还提供自动备份的能力,如果用户在业务上写入了错误的数据,用户可以选择把数据恢复到一个正确的备份。

ProtonBase 提供完整的开放 API,用户可以通过脚本的方式自动化地完成所有管控操作。利用云原生的开发模式,实现 Infrastructure as Code

安全可信

数据安全是 ProtonBase 的核心优先级,ProtonBase 会在安全层面持续投入,以保证系统安全可信,当前包括以下几个方面增强了系统的安全性。

Private Link :建议所有的用户使用 Private Link 来连接 ProtonBase。 Private Link 能够保证只有用户的 VPC 里的应用和客户端才能连接到 ProtonBase 系统,这就从根本上杜绝了其他人通过网络对系统的访问。

白名单 :在某些无法使用 Private Link 必须使用公网的特定情况下,ProtonBase 也支持公网白名单。用户可以把客户端的 IP 添加到白名单中,这样 ProtonBase 就能保证所有的连接只来自白名单里的机器列表,从而有效地防止恶意攻击。

细粒度权限控制 :对合法的用户,ProtonBase 支持了细粒度的权限控制。 ProtonBase 既有行级权限控制,也有列级权限控制。通过这种组合,能够精准地控制能够查看和修改数据的用户和角色。

数据加密 :当存储数据的时候,ProtonBase 还可以进行数据加密,保证无论是黑客、云厂商,还是服务的提供方都无法获知数据的具体内容,从而进一步增加数据的安全性。