hhdb数据库介绍(9-1)
基本信息
此手册基于关系集群数据库产品 HHDB Server - V14.0.0版本编写,主要说明计算节点的基本使用方法及操作流程,供使用者参考与学习。
此手册中部分功能可结合关系集群数据库可视化管理平台(以下简称管理平台)共同使用,若需了解管理平台的使用方法,请参考管理平台文档。
计算节点提供基于MySQL原生复制功能解决计算节点跨机房容灾问题的解决方案,能够实现跨机房数据同步以及解决跨机房关系集群数据库服务容灾的问题。此标准文档仅详细介绍计算节点在单机房模式的功能与特性,若要了解容灾模式下的功能与特性,请参考跨机房容灾部署文档。
部分截图的版本细节差异无需特别关注,以文档描述的版本号为准。文档内容较多,建议开启文档结构图,方便阅读。
计算节点简述
HHDB Server是一款实现数据容量和性能横向扩展的关系集群数据库产品,可解决实时交易业务系统的"两大三高"(即大规模用户、大规模数据、高可用、高并发、高吞吐)问题。
HHDB Server能为应用提供集中式数据库的操作体验,同时提供数据安全、数据容灾、数据恢复、不停机在线扩容、集群监控、智能拓扑、智能大屏等整套解决方案。
HHDB Server支持将一张表水平切分成多份,分别存入不同的数据库来实现数据的水平分片,此外也支持垂直拆分和全局表。HHDB Server提供多种表数据分片规则,用户可根据业务需要,使用合适的数据分片规则。
HHDB Server基于Java NIO、MySQL协议研发,支持数据库连接的多路复用,具有更好的并发性能。
HHDB Server提供数据库服务自动切换功能,可有效地解决数据库单点故障问题。
与计算节点配套使用的管理平台也是产品重要组成部分。
计算节点组件架构
关系集群数据库HHDB Server集群是由一组计算节点、存储节点、管理平台、配置库组成的数据库管理系统。
计算节点: 计算节点是关系集群数据库HHDB Server集群体系的核心,主要提供SQL解析、路由分发、结果集合并等关系集群数据库的核心控制功能,是整个服务的命脉所在。
存储节点: 存储节点提供数据的存储功能,一个实例(IP+端口+物理库)即为一个存储节点。为了实现高可用和数据多副本功能,HHDB Server中将具有相同数据副本的一组(多个)存储节点称为一个数据节点。
数据节点: 数据节点是一组具有相同数据副本的存储节点的统称。数据节点可以是一个存储节点 MGR集群,也可以是一个存储节点主从复制集群。数据节点管理一组存储节点(具有相同数据副本)的复制关系。数据节点在HHDB Server中作为一个分片数据存在,所有的数据节点一起构成HHDB Server的全量数据。
管理平台: 关系集群数据库平台(以下简称管理平台),可实现对计算节点数据库用户、数据节点、表类型、分片规则等信息的易用性配置,同时可提供计算节点服务状态监控、异常事件提醒、报表查看、任务管理等智能运维相关服务。
配置库: 负责存储计算节点与管理平台相关配置信息。配置库可通过主从或MGR进行高可用配置。
高可用: HHDB Server的计算节点可通过Keepalived实现高可用。Keepalived负责计算节点的主、备切换和VIP漂移。
负载均衡: HHDB Server的计算节点集群模式可通过LVS/F5实现高可用和负载均衡。应用通过LVS的VIP访问HHDB Server的关系集群数据库服务,关系集群数据库服务对应用程序透明,计算节点集群中单个或多个节点故障对应用程序无影响。
HHDB Backup: 自研的关系集群数据库备份程序,负责业务数据的备份。
HHDB Listener: 自研的可拔插组件,需要单独进行部署,并以独立的进程运行,从而解决集群强一致(XA)模式下的性能线性扩展问题。
计算节点
计算节点是数据服务提供端,默认服务端口为3323,登录命令如下:
mysql -uroot -proot -h127.0.0.1 -P3323
支持IPv6地址格式:
mysql -uroot -proot -h::1 -P3323
登陆后使用方法与使用MySQL数据库一致,例如:
root> mysql -uroot -proot -h127.0.0.1 -P3323
mysql: [Warning] Using a password on the command line interface can be insecure.
Welcome to the MySQL monitor. Commands end with ; or g.
Your MySQL connection id is 515
Server version: 5.7.42 HHDB-14.0.0 HHDB Server
Copyright (c) 2000, 2016, Oracle and/or its affiliates. All rights reserved.
Oracle is a registered trademark of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective owners.
Type 'help;' or 'h' for help. Type 'c' to clear the current input statement.
mysql> show databases;
+-----------------+
| DATABASE |
+-----------------+
| CLASSIC_LOGICDB |
| HotDB |
+-----------------+
2 rows in set (0.01 sec)
mysql> use CLASSIC_LOGICDB
Database changed
mysql> show tables;
+---------------------------+
| Tables_in_CLASSIC_LOGICDB |
+---------------------------+
| customer |
+---------------------------+
1 row in set (0.03 sec)
应用程序连接计算节点与连接MySQL一致,只需修改应用中数据库配置文件的host、port、database、user、password信息即可。计算节点支持不同开发平台下的数据库驱动、连接池,比如JAVA开发平台的JDBC,c3p0、DHCP、DRUID连接池。下面是c3p0连接池的配置举例:
<!-- 数据库映射 -->
<!-- com.mchange.v2.c3p0.ComboPooledDataSource, org.apache.commons.dbcp.BasicDataSource -->
<bean id="dataSource1" class="com.mchange.v2.c3p0.ComboPooledDataSource" destroy-method="close">
<property name="driverClass" value="com.mysql.jdbc.Driver" />
<property name="jdbcUrl" value="jdbc:mysql://192.168.137.101:**3323**/cloth?useLocalSessionState=true" /> <!--其中3323端口位置要修改为计算节点服务端口-->
<property name="user" value="root" />
<property name="password" value="$root" />
<property name="initialPoolSize" value="10" />
<property name="maxPoolSize" value="256" />
<property name="minPoolSize" value="10" />
<property name="maxIdleTime" value="1800" />
<property name="maxStatements" value="1000" />
</bean>
同时,计算节点默认管理端口为3325,在管理端口中可使用命令对当前服务进行监控与管理。若需要了解更多信息,请参考管理端信息监控。
管理平台
管理平台为计算节点提供用户信息、节点信息、表信息、分片等信息的配置,默认端口为3324,在浏览器中输入HTTP链接地址,即可访问管理平台(建议使用Chrome或者FireFox浏览器),如:http://192.168.200.191:3324/login.html。支持IPv6地址格式,http://[fc00::120]:3324/login.html
管理员用户名与密码都默认分别为:admin,DRDS_management@2013,其他用户账号由管理员创建,初始密码为service_hotdb@hotdb.com。
计算节点快速配置
本节将描述快速配置关系集群数据库HHDB Server的方法。本节仅介绍必要的配置功能,用于达到快速入门的目的。如果需要了解更多的配置功能,请参考管理平台文档。
在下面的例子中,将配置一个3个节点的数据分片,该分片使用名称为"test"的逻辑库,分片表名称为"customer",分片字段为"provinceid",自动分片表。
在配置HHDB Server前,请确保管理平台与计算节点已经正常启动,并且已经准备好了6个存储节点(此例子中,将以配置双主类型的数据节点为例,若只需要单库的数据节点,只需要准备3个实例即可)。
登录管理平台
在浏览器中输入管理平台的HTTP链接地址,并登录到管理平台;HTTP链接地址通常为部署管理平台的服务器IP,端口默认为3324,如http://192.168.200.89:3324/login.html。
管理平台提供了两类用户角色:超级管理员与普通用户,超级管理员默认初始用户名和密码分别为:admin,DRDS_management@2013;普通用户由超级管理员创建,默认密码为:service_hotdb@hotdb.com。
超级管理员登录后主要有"计算节点集群管理"、"用户管理"功能,管理员可以创建、编辑计算节点集群,并配置计算节点连接信息,添加管理平台用户以及为用户添加权限等。
计算节点部署升级
服务授权
计算节点需要获取正规的授权许可证,方能正常提供服务。如果需要了解如何获取服务授权,请参考服务授权文档。
安装部署与升级
部署HHDB Server,需要安装JDK(JAVA运行环境)、MySQL数据库软件、USB KEY驱动包、计算节点、管理平台,并配置一个实例作为计算节点的配置库。部署用的服务器,操作系统,推荐使用64位的CentOS 6.x。若需要了解HHDB Server的安装、部署与升级,请参考安装部署文档。
配置文件
计算节点的配置文件位于安装目录下的conf目录,文件名称为server.xml。如果需要了解计算节点参数,请参考计算节点参数说明。
server.xml的部分参数修改后需要重新启动计算节点才能生效,部分参数修改后可通过"动态加载"生效。
如果计算节点参数说明章节中所列参数在server.xml中不存在,则说明该参数使用了默认值;如果想要调整某个参数值或增加某个参数,请在server.xml中增加如下代码,也可以通过管理平台的"配置"->"计算节点参数"页面添加。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 记一次.NET内存居高不下排查解决与启示