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

「YashanDB个人版体验」崖山数据库(YashanDB)安装体验

原创 Alfnae 2023-12-01
1094

一、YashanDB介绍

崖山数据库管理系统(YashanDB)是深圳计算科学研究院在经典数据库理论基础上,融入新的原创理论,自主设计、研发的新型数据库管理系统,支持单机/主备、共享集群、分布式等多种部署方式,覆盖OLTP/HTAP/OLAP 交易和分析混合负载场景;

主要产品体系及工具体系:

image.png

二、YashanDB软件下载

目前YashanDB数据库的版本主要有以下3个:

个人版:

YashanDB面向个人用户推出的免费试用版本,该版本包含YashanDB数据库所有基础核心能力,支持单机主备部署形态,配套开发者工具,供个人用户或开发者用于学习、测试、开发用途;

个人版不支持多模数据类型、高级安全能力、数据库集群等企业级功能;

标准版:

YashanDB面向小规模用户推出的商业版本,该版本包含YashanDB数据库所有基础核心能力,支持单机主备、分布式、共享集群部署形态,配套完整数据迁移和监控运维工具,可以为政府或中小企业提供支撑其业务所需的基本能力。

标准版除不支持多模数据类型、高级安全能力等企业级功能

企业版:

YashanDB面向大规模用户推出的商业版本,该版本包含YashanDB数据库完整核心能力,支持PB级海量数据存储和大量的并发用户,支持多模数据类型、高级安全能力,支持单机主备、分布式、共享集群部署形态,配套完整数据迁移和监控运维工具,可以满足支撑各类企业应用。

目前仅开放个人版本下载体验,下载地址:https://download.yashandb.com/download
本文以Linux X86平台为主;
image.png

三、YashanDB部署安装

单机架构

传统的关系型数据库理论与创新的底座引擎技术相结合,适用于集中式事务业务场景,支持主备形态。

体系结构:

  • 共享内存区域保障高速高效;
  • 线程区域包含各种后台线程处理数据;
  • 文件区域包含各种持久化存储文件;

image.png

OS环境准备

虚拟机系统:oracle linux 7.9,2c,8g,30GB;内存至少4G+,否则无法安装;
安装用户:yashan
软件目录:/app/install
安装目录:/app/yasdb_home
数据目录:/app/yasdb_data

安装部署

创建用户并修改密码
[root@db01 ~]# useradd yashan
[root@db01 ~]# passwd yashan
更改用户 yashan 的密码 。
新的 密码:
无效的密码: 密码少于 8 个字符
重新输入新的 密码:
passwd:所有的身份验证令牌已经成功更新。

复制
操作系统参数调整

image.png

修改配置文件/etc/security/limits.conf
echo "
 * soft nofile 65536
 * hard nofile 65536
 * soft nproc 65536
 * hard nproc 65536
 * soft rss unlimited
 * hard rss unlimited
 * soft stack 8192
 * hard stack 8192
" >> /etc/security/limits.conf

复制
创建目录并授权
mkdir -p /app/yasdb_home
mkdir -p /app/yasdb_data
mkdir -p /app/install
chown -R yashan:yashan /app

复制

上传安装包到install目录并解压:yashandb-personal-23.1.1.100-linux-x86_64.tar.gz

生成参数文件
[yashan@db01 install]$ ./bin/yasboot package se gen --cluster yashandb -u yashan -p yashan --ip 192.168.93.129 --port 22 --install-path /app/yasdb_home  --data-path /app/yasdb_data --begin-port 1688
 hostid   | group | node_type | node_name | listen_addr         | replication_addr    | data_path
--------------------------------------------------------------------------------------------------------
 host0001 | dbg1  | db        | 1-1       | 192.168.93.129:1688 | 192.168.93.129:1689 | /app/yasdb_data
----------+-------+-----------+-----------+---------------------+---------------------+-----------------

Generate config success

复制
执行安装:yashandb-personal-23.1.1.100-linux-x86_64.tar.gz
[yashan@db01 install]$ ./bin/yasboot package install -t hosts.toml -i yashandb-personal-23.1.1.100-linux-x86_64.tar.gz
checking install package...
install version: yashandb 23.1.1.100
host0001 100% [====================================================================]    3s
update host to yasom...

复制
执行部署
[yashan@db01 install]$ ./bin/yasboot cluster deploy -t yashandb.toml
 type | uuid             | name               | hostid | index    | status  | return_code | progress | cost
------------------------------------------------------------------------------------------------------------
 task | 8091cd8e816a1518 | DeployYasdbCluster | -      | yashandb | SUCCESS | 0           | 100      | 63
------+------------------+--------------------+--------+----------+---------+-------------+----------+------
task completed, status: SUCCESS

复制
配置环境变量:
[yashan@db01 install]$ cd /app/yasdb_home/yashandb/23.1.1.100/conf
[yashan@db01 conf]$
[yashan@db01 conf]$ cat yashandb.bashrc
export YASDB_HOME=/app/yasdb_home/yashandb/23.1.1.100
export PATH=${YASDB_HOME}/bin:$PATH
export LD_LIBRARY_PATH=${YASDB_HOME}/lib:$LD_LIBRARY_PATH
if command -v rlwrap >/dev/null 2>&1; then
  alias yasql="rlwrap yasql"
fi

export YASDB_DATA=/app/yasdb_data/db-1-1
[yashan@db01 conf]$
[yashan@db01 conf]$ cat yashandb.bashrc >> ~/.bashrc
[yashan@db01 conf]$ source ~/.bashrc
[yashan@db01 conf]$
[yashan@db01 conf]$ env|grep YAS
YASDB_HOME=/app/yasdb_home/yashandb/23.1.1.100
YASDB_DATA=/app/yasdb_data/db-1-1

复制
设置sys用户密码:至少8位,至少包含1个特殊字符,好像没有限制大写字母
[yashan@db01 conf]$ cd /app/yasdb_data/db-1-1/instance
[yashan@db01 instance]$ ls
yasdb.ipc  yasdb.pid  yasdb.pwd
[yashan@db01 instance]$
[yashan@db01 instance]$ mv yasdb.pwd yasdb1.pwd
[yashan@db01 instance]$ yaspwd file=yasdb.pwd
Enter password for SYS:yas123
YASPW-00002 password complexity failed for SYS user : password must contain at least 8 characters
[yashan@db01 instance]$
[yashan@db01 instance]$ yaspwd file=yasdb.pwd
Enter password for SYS:yasdb123
YASPW-00002 password complexity failed for SYS user : password must contain at least 1 special character
[yashan@db01 instance]$ yaspwd file=yasdb.pwd
Enter password for SYS:yasdb_123

复制
使用YasBoot查看YashanDB数据库状态,显示以下信息表示安装成功
[yashan@db01 instance]$ yasboot cluster status -c yashandb
 host_id  | node_type | nodeid | pid
---------------------------------------
 host0001 | db        | 1-1:1  | 21938
----------+-----------+--------+-------


[yashan@db01 instance]$ ps -ef|grep yas
root      4130  2446  0 16:34 pts/0    00:00:00 su - yashan
yashan    4131  4130  0 16:34 pts/0    00:00:00 -bash
yashan    7200     1  0 16:38 ?        00:00:01 /app/yasdb_home/yashandb/23.1.1.100/bin/yasagent --init -c yashandb -l 192.168.93.129:1676 --host-id host0001 -k 938ceba2b6d28c35 -d
yashan    7244     1  0 16:38 ?        00:00:02 /app/yasdb_home/yashandb/23.1.1.100/bin/yasom --init -c yashandb -l 192.168.93.129:1675 -k 938ceba2b6d28c35 -d
yashan   21938     1 10 17:05 ?        00:01:21 /app/yasdb_home/yashandb/23.1.1.100/bin/yasdb nomount -D /app/yasdb_data/db-1-1
yashan   28990  4131  0 17:17 pts/0    00:00:00 ps -ef
yashan   28991  4131  0 17:17 pts/0    00:00:00 grep --color=auto yas

复制
登陆验证,显示以下信息表示登陆成功
[yashan@db01 instance]$ yasql sys/yasdb_123
YashanDB SQL Personal Edition Release 23.1.1.100 x86_64

Connected to:
YashanDB Server Personal Edition Release 23.1.1.100 x86_64 - X86 64bit Linux

SQL>
SQL> select database_name,open_mode from v$database;

DATABASE_NAME                                                    OPEN_MODE
---------------------------------------------------------------- -----------------
yashandb                                                         READ_WRITE

1 row fetched.
SQL>
SQL> select instance_name,status from v$instance;

INSTANCE_NAME                                                    STATUS
---------------------------------------------------------------- -------------
yasdb                                                            OPEN

1 row fetched.

复制

四、图形化工具管理维护

  • 开发运维工具:DBeaver for YashanDB
    是基于流行的开源图形化工具DBeaver,在严格遵循DBeaver Community Edition 的ASL开源协议基础上,进行了二次开发和封装,支持管理单机、集群和分布式三种形态的YashanDB数据库图形化开发及管理;
连接配置

image.png

慢日志参数配置:超过1000毫秒记录到日志

image.png

表空间维护:ADD-RESIZE-DROP
SQL> ALTER TABLESPACE users ADD DATAFILE '?/dbfiles/users01' SIZE 100M;

Succeed.

复制

image.png

SQL> ALTER DATABASE DATAFILE '?/dbfiles/users01' RESIZE 20M;

Succeed.

复制

image.png

SQL> ALTER TABLESPACE users DROP DATAFILE '?/dbfiles/users01';

Succeed.
复制

image.png

日志查看
  • 日志参数配置
    image.png
[yashan@db01 run]$ tail -f /app/yasdb_home/yashandb/23.1.1.100/log/yashandb/db-1-1/run/run.log
2023-12-01 17:05:59.013 22051 [INFO] [HA] redo receiver thread exited
2023-12-01 17:05:59.014 22121 [INFO] [HA] start redo senders for primary
2023-12-01 17:05:59.015 22121 [INFO] [HA] stop redo receiver 0
2023-12-01 18:03:26.601 22092 [INFO] [TABLESPACE] try to update instance 0 's space change lsn from 3337 to 4256
2023-12-01 18:03:26.606 22092 [INFO] [TABLESPACE] succeed to create datafile /app/yasdb_data/db-1-1/dbfiles/users01
2023-12-01 18:06:48.958 22092 [INFO] [DATAFILE] datafile /app/yasdb_data/db-1-1/dbfiles/users01 truncLsn is 0, current lsn 4269
2023-12-01 18:06:48.967 22092 [INFO] [TABLESPACE] try to update instance 0 's space change lsn from 4256 to 4270
2023-12-01 18:06:48.978 22092 [INFO] [TABLESPACE] succeed to truncate datafile /app/yasdb_data/db-1-1/dbfiles/users01 to 20971520 bytes
2023-12-01 18:07:52.969 22092 [INFO] [TABLESPACE] try to update instance 0 's space change lsn from 4270 to 4271
2023-12-01 18:07:52.973 22092 [INFO] [TABLESPACE] succeed to drop datafile /app/yasdb_data/db-1-1/dbfiles/users01

复制

五、体验总结

结合了官方文档的说明,初步完成了单机版yashandb的安装部署,官方文档非常详细,通俗易懂,即使第一次安装也是很快能够完成部署,Yashandb是单进程多线程架构,内存结构和oracle相似,并且Yashandb独特的有界计算是一大亮点;Yashandb语法和oracle高度兼容,对于熟悉oracle的小伙伴可以平滑过渡到Yashandb,非常友好;

  • YashanDB在墨天轮11月报告中表现亮眼

YashanDB 本月得分96.29分,排名较上月提升11个位次,新增30篇论文。YashanDB 作为一款企业级 数据库,今年正式推出“1+3”产品体系,即一个数据库产品和三个产品化工具平台,可为企业提供全面、高效的一站式融合数据管理解决方案。

期待未来YashanDB能够带给我们更多精彩内容!

「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
1人已赞赏
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论

目录
  • 一、YashanDB介绍
    • 主要产品体系及工具体系:
  • 二、YashanDB软件下载
    • 个人版:
    • 标准版:
    • 企业版:
  • 三、YashanDB部署安装
    • 单机架构
    • 体系结构:
    • OS环境准备
    • 安装部署
      • 创建用户并修改密码
      • 操作系统参数调整
      • 创建目录并授权
      • 生成参数文件
      • 执行安装:yashandb-personal-23.1.1.100-linux-x86_64.tar.gz
      • 执行部署
      • 配置环境变量:
      • 设置sys用户密码:至少8位,至少包含1个特殊字符,好像没有限制大写字母
      • 使用YasBoot查看YashanDB数据库状态,显示以下信息表示安装成功
      • 登陆验证,显示以下信息表示登陆成功
  • 四、图形化工具管理维护
    • 连接配置
    • 慢日志参数配置:超过1000毫秒记录到日志
    • 表空间维护:ADD-RESIZE-DROP
    • 日志查看
  • 五、体验总结