暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

开箱体验:全球唯一可以安装在笔记本电脑上的云原生数据库

353

业界云原生数据库通常和云深度绑定,限制了云原生数据库的使用场景,尤其不方便开放人员本地调试。

百度 GaiaDB 因为天然的轻量架构,是全球第一个能支持多云的云原生数据库。

普惠版本是 GaiaDB 本地部署版本,本文是实操体验,希望大家喜欢!



背景

GaiaDB 普惠版是云数据库 GaiaDB 的本地部署版本,您可以在自己的服务器、笔记本上快速部署并体验 GaiaDB。如下介绍 GaiaDB 普惠版的部署方式。

注意事项

  1. GaiaDB 普惠版目前仅支持 Linux(CentOS、Ubuntu)_x86_64版本,需要在 root 的权限下执行。

  2. GaiaDB 普惠版仅用于体验集群的 SQL 兼容性、基本架构以及各个组件的运行,请勿用在生产环境。

  3. 部署 GaiaDB 普惠版需要的资源,CPU >= 4C 、内存 >= 16GB、系统盘 >= 100GB,部署过程中会通过公网下载安装依赖包。

下载并安装

  1. 执行以下命令,在指定的安装目录下载并部署 GaiaDB 普惠版

cd <install_path>
bash -c "$( curl -s -L -k https://gaiadb-deploy.bj.bcebos.com/install-1.0.8.sh )"

安装完成后会提示如下信息:

Detected shell: bash
Shell profile: root/.bash_profile
/root/.bash_profile has been modified to add gaiadb-deploy to PATH

******************************************************************
open a new terminal or source root/.bash_profile to use it
******************************************************************

***********************************************
GaidDB Deployer is installed.
***********************************************
work dir is root/.gaiadb-deploy
***********************************************
Have a try: gaiadb tryout
***********************************************

安装后的文件可以在 ~/.gaiadb-deploy 路径下查看。

  1. 声明全局环境变量,便于在任何路径下执行 gaiadb命令

source root/.bash_profile

  1. 单机模式创建 GaiaDB 集群,运行如下命令

gaiadb tryout

创建成功后提示如下信息:

Gaiadb Cluster create successfully!
Connect Gaiadb using the following command:
gaiadb connect -n gdc-tryout
or mysql -hIP -PPORT -uroot -pPASSWORD

  1. 连接 GaiaDB 集群

  • 方式一:通过集群名称快速连接

gaiadb connect -n gdc-tryout

  • 使用 MySQL 客户端连接 GaiaDB

mysql -hIP -PPORT -uroot -pPASSWORD

提示:IP、PORT、PASSWORD会替换成真实值

查看GaiaDB集群拓扑和状态信息

执行以下命令查看集群信息

gaiadb check -n gdc-tryout -t

输出集群拓扑信息,如下:

Cluster Status:
+--------+
| health |
+--------+
| good |
+--------+
Each module Status:
Gaiadb-Manager Status:
+--------------------------------------------+
| addr | status | isLeader |
+--------------------------------------------+
| IP:PORT| NODE_ACTIVE | False |
| IP:PORT | NODE_ACTIVE | False |
| IP:PORT | NODE_ACTIVE | True |
+--------------------------------------------+
Compute-Node Status:
+----------------------------------------------------------------------------+
| addr | applyLsn | status | isPrimary |
+----------------------------------------------------------------------------+
| IP:PORT | 28293379 | NODE_ACTIVE | False |
| IP:PORT | 28293379 | NODE_INACTIVE | True |
+----------------------------------------------------------------------------+
Log-Service Status:
+----------------------------------------------------------------------------------------------------------------------------------------------------------------+
| addr | writeLsn | vdl | parseLsn | dispatchLsn | archiveLsn | gcLsn | psLwm | cmpLwm | inGossip | status | isLeader |
+----------------------------------------------------------------------------------------------------------------------------------------------------------------+
| IP:PORT | 28293379 | 28293379 | 28293379 | 28293379 | 28293379 | 28293379(0) | 28293379 | 28293379 | False | NODE_ACTIVE | False |
| IP:PORT | 28293379 | 28293379 | 28293379 | 28293379 | 28293379 | 28293379(0) | 28293379 | 28293379 | False | NODE_ACTIVE | False |
| IP:PORT | 28293379 | 28293379 | 28293379 | 28293379 | 28293379 | 28293379(0) | 28293379 | 28293379 | False | NODE_ACTIVE | True |
+----------------------------------------------------------------------------------------------------------------------------------------------------------------+
LogService Water Level:
+-------------------------------------------------------------------------------------------------+
| writeLsn | vdl | parseLsn | dispatchLsn | archiveLsn | gcLsn | psLwm | cmpLwm |
+-------------------------------------------------------------------------------------------------+
| 28293379 | 28293379 | 28293379 | 28293379 | 28293379 | 28293379 | 28293379 | 28293379 |
| diff writeLsn | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
| | diff vdl | 0 | 0 | 0 | 0 | 0 | 0 |
+-------------------------------------------------------------------------------------------------+
Page-Server Status:
+-------------------------------------------------------------------------------------------+
| segmentId | replicaId | addr | applyLsn | checkpointLsn | status |
+-------------------------------------------------------------------------------------------+
| 1 | 0 | IP:PORT | 28293379 | 28293379(0) | NODE_ACTIVE |
| 1 | 1 | IP:PORT | 28293379 | 28293379(0) | NODE_ACTIVE |
+-------------------------------------------------------------------------------------------+

集群清理

测试完成之后,可以通过以下命令清理集群

gaiadb clean -a

如需重新创建集群,可以执行以下命令。

gaiadb tryout

更多操作

您可以查看更多命令帮助

gaiadb -h

执行信息如下:

usage: gaiadb [-h] {check,clean,create,list,docker,tryout,connect} ...

GaiaDB cluster managerment tool.

positional arguments:
{check,clean,create,list,docker,tryout,connect}
Available commands
check Check cluster leader.
clean Clean all GaiaDB clusters.
create Create a full GaiaDB cluster.
list List GaiaDB clusters.
docker Docker command.
tryout Create a minimum GaiaDB cluster on local machine for
tryout.
connect Connect to specific GaiaDB cluster.

optional arguments:
-h, --help show this help message and exit

附录:产品架构简介

GaiaDB采用全新的云原生分布式架构,使其具备大容量、高可用、高性能的商业级特性,本章介绍产品的架构和关键特性。

一写多读

GaiaDB采用分布式集群架构,一个集群包含一个主节点和最多15个从节点(至少一个节点,用于保障高可用)。主节点处理读写请求、从节点仅处理读请求,可实现分钟级增减节点和计算节点规格变配。

计算存储分离,灵活扩展

计算存储分离,摆脱了计算节点CPU、内存和存储节点磁盘互相制约的困扰,GaiaDB对计算层关注CPU与内存性能的优化,对存储层关注低成本的存储实现,各自进行了针对性优化,提升资源利用率与性能。与传统MySQL在购买的时候需要指定购买的磁盘大小不同,GaiaDB 实现计算存储分离后,存储单独购买。新增只读实例仅需要付出计算的成本,不需要单独增加存储成本。

共享存储,降低数据存储成本

与传统MySQL一个实例一份数据拷贝不同,GaiaDB同一个集群的所有节点(包括主节点和从节点)都访问存储节点上的同一份数据,由于从节点的扩展不需要拷贝数据,创建新的从节点不但速度快,而且很便宜,您仅需要支付相应计算节点的成本。

数据多副本,数据零丢失

数据库存储节点的数据采用多副本形式,确保数据的可靠性。


欢迎点击“阅读原文”获取更多信息!

文章转载自数据库和 AI 技术,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论