云数据库hybriddb for mysql (原名petadata)是同时支持在线事务(oltp)和在线分析(olap)的关系型 htap 类数据库。
htap是hybrid transaction/analytical processing的简写,意为将数据的事务处理(tp)与分析(ap)混合处理,从而实现对数据的实时处理分析。
hybriddb for mysql采用一份数据存储来进行oltp和olap处理,解决了以往需要把一份数据进行多次复制来分别进行业务交易和数据分析的问题,极大的降低了数据存储的成本。
因为采用一份数据,hybriddb for mysql免去了以往在线数据库(operational database)和数据仓库(data warehouse)之间的海量数据加载过程,极大地缩短了数据分析的延迟,使得实时分析决策系统成为可能。
hybriddb for mysql兼容mysql的语法及函数,并且增加了对oracle常用分析函数的支持,100%完全兼容tpc-h和tpc-ds测试标准,从而降低了用户的开发、迁移和维护成本。
地域
地域(region)指的是用户所购买的hybriddb for mysql (原名petadata)数据库的服务器所处的地理位置。用户需要在开通hybriddb for mysql数据库时指定,购买实例后不支持更改。
在购买hybriddb for mysql数据库时,需要搭配阿里云服务器ecs使用,目前hybriddb for mysql只支持阿里云内网访问,在地域选择时需要与ecs相同。
可用区
可用区(az)是指在同一地域下(如华东1(杭州)地域),电力、网络隔离的物理区域,可用区之间内网互通,可用区内网络延时更小。
数据库
数据库(database)是用户购买hybriddb for mysql服务的基本单位。用户可以购买一个或多个不同规格的数据库。数据库在逻辑上由逻辑分区(partition)组成,在物理上由物理节点(node)组成。
实例
实例(instance)是数据库之上的物理概念。一个实例下可以创建多个数据库。不同实例之间的数据库从物理上是隔离的。一个实例下至少需要有一个数据库;一个数据库之上有且只有一个实例。
账户
账户(account)是一个实例范围内能访问数据库的主体。同一个实例下的不同账户名不可重复。不同账户在同一实例内的权限是相同的。
逻辑分区与表
逻辑上,用户创建的数据库由多个数据逻辑分区(partition)组成,用户创建的表(table)的数据将分布在这些数据逻辑分区上,数据分布规则依照用户建表时指定的列(partitionkey)进行hash计算后来划分。逻辑分区的数量一旦确定后将无法更改。
物理节点
物理上,用户创建的数据库由多个物理节点(node)组成。物理节点(node)是存储逻辑分区(partition)的物理容器。每个node包括一定数量的cpu、内存和硬盘资源。 随着数据库中数据量的增加,用户可以增加物理节点的数量,从而实现水平扩容。