前情回顾
2024 年 11 月 14 日,在深圳参加了“2024国产数据库创新生态大会”,大会上正式发布了 YashanDB V23.3 版本,以及 YAC 共享集群、YCP 私有云管平台、YashanDB 数据库一体机等产品。我也有幸拿到了樊院士签名版的“崖山共享集群 YAC”纪念光盘。
前段时间,崖山 SQL 学习社区 SQLab 正式上线,我在 SQLab 种下一颗圣诞树。
YashanDB 23.3 新特性
23 年 11 月,我分享过如何安装 YashanDB 个人版,以及构建 YashanDB 个人版 Docker 镜像。当时基于 YashanDB v23.1.1 版本,一年多时间里 YashanDB 升级了两个大版本,当前最新版本为 v23.3.2。
- YashanDB 23.1.1。发版日期:2023-10-16
- YashanDB 23.2.1。发版日期:2024-04-01
- YashanDB 23.3.1。发版日期:2024-09-30
我们先来回顾一下从 23.1.1 到 23.3.1 的主要变动。
内核增强
- (23.1.3) 单机部署下的 HEAP 表新增 XMLTYPE 数据类型。
- (23.1.3) Hint。提供 BULKLOAD 提示项,用于指定 LSC 表直接插入稳态数据。
- (23.2.1) 支持 GB18030 字符集。
- (23.2.1) 支持在线重命名表空间和索引。
- (23.2.1) 支持只读外部表。
- (23.2.1) 空间数据 GIS 能力增强。
- (23.2.3) Oracle 兼容性。具备通过 DBLINK 连接 Oracle 数据库能力。
- (23.2.3) 支持 CDC 接口和 Java 的 API。通过解析 Redo 日志,捕获数据变更。
- (23.2.4) CTE 支持递归功能。
- (23.3.1) 全面增强 Oracle 兼容性。
- (23.3.1) 安全能力增强,支持国密算法。
版本升级
- (23.2.1) 支持小版本滚动升级。支持通过 yasboot 工具滚动升级已经部署的数据库。
工具
- (23.1.3) yasboot 工具备份恢复。实现对数据库的远端备份恢复。
- (23.2.1) 支持一键式收集操作系统和数据库信息。
- (23.2.5) yasql。通过
@@
实现调用当前脚本的路径作为相对路径的基准点 SQL 脚本文件,方便嵌套脚本,适合处理多层级的脚本调用。
驱动
- (23.2.1) 支持配置多 IP。包含主备的 IP,当数据库发生主备切换时,驱动配置无需修改,应用可以连接到新的主库上,实现业务快速恢复。
- (23.2.1) 支持使用域名连接数据库。
- (23.2.4) 支持识别 STANDBY 角色。只读应用可以配置 STANDBY 角色数据库连接串,JDBC 自动连接到备库,实现应用的读写分离能力。
MySQL 兼容
- (23.3.1) 新增兼容原生 MySQL 数据库模式。兼容 MySQL 5.7 原生驱动协议、大部分数据类型、常用的 SQL 语法、内置函数、系统视图。
生态
- (23.1.4) YashanDB 适配 SQLAlchemy 框架。用户可通过 SQLAlchemy 工具操作 YashanDB。
- (23.2.1) 支持 Hadoop User Experience(HUE)。使用户更好的使用 HUE 在 YashanDB 上进行数据分析、报表生成、SQL查询和任务调度等工作。
注:这里不包含共享集群和分布式产品能力,另行成文。
YashanDB 个人版 23.3
YashanDB 个人版,是面向个人用户推出的免费试用版本,该版本包含 YashanDB 数据库所有基础核心能力,支持单机主备部署形态,配套开发者工具,供个人用户或开发者用于学习、测试、开发用途。
关于安装 YashanDB 个人版的步骤,过去安装 v23.1 时可调用安装包中提供的安装脚本,但是,现在推荐使用 yasboot 工具安装 YashanDB v23.3,步骤更简洁,管理更方便。
安装步骤主要分三步:
- 准备 openssl 1.1.1l 源码包,编译、安装 openssl。创建用户
yashan
。
具体步骤参考:YashanDB实战:YAC共享集群入门篇 – 安装依赖包、创建用户
- 从官网下载 yashandb personal 安装包,上传到服务器,并解压。
下载链接:https://download.yashandb.com/download
- 使用 yasboot 工具,安装、部署崖山数据库。
YashanDB 单机部署支持交互式部署和手动部署,为了方便制成 dockerfile 这里简要演示如何使用 yasboot 手动部署单节点。
(1) 执行 yasboot package se gen
命令生成配置文件。
yasboot package se gen --cluster yashandb -L --data-path /home/yashan/yasdb_data
复制
其中,se
表示单机部署,-L
表示本地部署(不需要安装包)。
(2) 执行安装。
yasboot package install -t hosts.toml
复制
(3) 部署数据库
yasboot cluster deploy -t yashandb.toml
复制
(4) 配置环境变量
echo '. /home/yashan/yasdb_home/conf/yashandb.bashrc' >> /home/yashan/.bashrc
复制
(5) 设置密码
yasboot cluster password set -n yasdb_123 -c yashandb
复制
其中,-n
表示新密码,如果后面需要修改密码,可以通过参数 -o
指定旧密码。
知识扩展:yasboot
yasboot 是 YashanDB 提供的配套运维管理工具,主要用于在数据库集群环境中对 YashanDB 进行运维管理操作。它支持多种功能模块和操作,如:安装部署、实例启停、主备切换、AC 发现、IP 更换、SQL 执行等,帮助用户高效完成数据库的配置、运维和管理任务。
示例:
执行单条 SQL 语句。
[yashan@yas ~]$ yasboot sql -d 'sys/yasdb_123@127.0.0.1:1688' -c yashandb -s 'select version from v$instance;' VERSION ---------------------------------------------------------------- Personal Edition Release 23.3.1.100 x86_64 1 row fetched.
复制
知识扩展:开机自启
我们可以通过操作系统层面的 rc.local 或 system service 两种方式配置 YashanDB 开机自启。
具体配置步骤,参考:
YashanDB 开机自启 https://www.yashandb.com/newsinfo/7079286.html
构建容器镜像
通过以上内容的讲解,我们大体了解了 YashanDB 个人版的安装流程。那么,经过梳理我们可以自定义一份 Dockerfile,以此按需构建容器镜像。
FROM shawnyan.cn/rl9_dnf COPY openssl-1.1.1l.tar.gz /tmp RUN cd /tmp && tar zxf openssl-1.1.1l.tar.gz && cd openssl-1.1.1l \ && ./config --prefix=/usr/local/openssl && make && make install \ ... RUN useradd yashan COPY yashandb-personal-23.3.1.100-linux-x86_64.tar.gz /tmp RUN mkdir /home/yashan/yasdb_home \ && tar zxf /tmp/yashandb-personal-23.3.1.100-linux-x86_64.tar.gz -C /home/yashan/yasdb_home RUN su - yashan -c "/home/yashan/yasdb_home/bin/yasboot package se gen --cluster yashandb -L --data-path /home/yashan/yasdb_data" \ && su - yashan -c "/home/yashan/yasdb_home/bin/yasboot package install -t hosts.toml" \ && su - yashan -c "/home/yashan/yasdb_home/bin/yasboot cluster deploy -t yashandb.toml" \ && su - yashan -c "echo '. /home/yashan/yasdb_home/conf/yashandb.bashrc' >> /home/yashan/.bashrc" \ && su - yashan -c "/home/yashan/yasdb_home/bin/yasboot cluster password set -n yasdb_123 -c yashandb" COPY yashandb.service /etc/systemd/system/ RUN systemctl enable yashandb.service EXPOSE 1688
复制
构建完成后,查看镜像。
[root@rl9 ~]# podman images yashandb REPOSITORY TAG IMAGE ID CREATED SIZE shawnyan.cn/yashandb personal-23.3 1e4b7787382a 5 hours ago 2.78 GB
复制
运行容器。为了避免数据丢失,可以将数据目录挂载到宿主机,例如:
podman run -d --name yas \ -v /host/data:/home/yashan/yasdb_data \ shawnyan.cn/yashandb:personal-23.3
复制
进入容器,连接数据库,查看用户信息。
[yashan@yas ~]$ yasql / as sysdba YashanDB SQL Personal Edition Release 23.3.1.100 x86_64 Connected to: YashanDB Server Personal Edition Release 23.3.1.100 x86_64 - Linux SQL> select username, account_status, created from dba_users; USERNAME ACCOUNT_STATUS CREATED ---------------------------------------------------------------- ----------------------------------------------------- ------------------------------------------------ SYS OPEN 2025-01-17 INFORMATION_SCHEMA LOCKED 2025-01-17 MYSQL LOCKED 2025-01-17 XA_SYS LOCKED 2025-01-17 MDSYS LOCKED 2025-01-17 5 rows fetched.
复制
吐槽与期待
YashanDB 知识库目前包含了很多文章,官方文档也比较全面,Chat 智能问答系统也上线了,但是,还有很多功课要做。可以增设 YashanDB 社区专栏,把大家写的文章都收集整理起来,一并接入搜索。期待 YashanDB 知识库的搜索更好用。
本节内容就到这里。欢迎留言交流,点赞转发。
Have a nice day ~
🌻 往期精彩 ▼
- 「合集」三年 50 篇,TiDB 干货全收录
- 「合集」MySQL 8.x 系列文章汇总
- 如何选择适合的 MySQL Connector/J 版本
- 几张图带你了解 TiDB 架构演进
- 一文带你了解 GB 18030-2022 字符集
- 人大金仓 更名为 中电科金仓
- 一文带你了解 KING BASE 金仓数据库
- 即将告别 PG 12,建议升级到 PG 16.3 版本
- Oracle 数据库全面升级为 23ai
- 一文带你了解 Oracle 23ai 新特性 Vector 的基础用法
- 国产分布式数据库开启新篇章!详解安全可靠测评结果公告(2024年第2号)
- MySQL 扛不住了,来试试这款平替的“国产化改造”必入手的国产数据库吧!
- 广东的崖山,中国的崖山数据库
- TiDB 新朋友 DBdoctor
– / END / –
👉 这里可以找到我
👉 这里有得聊
如果对国产基础软件(操作系统、数据库、中间件)感兴趣,可以加群一起聊聊。
关注微信公众号:少安事务所,后台回复[群],即可看到入口。
如果这篇文章为你带来了灵感或启发,就请帮忙点『赞』or『在看』or『转发』吧,感谢!ღ( ´・ᴗ・` )~
文章被以下合辑收录
评论
