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

「YashanDB个人版体验」入门 YashanDB 国产数据库的心得体会

原创 shunwah 2023-11-20
588

> 作者:马顺华

> 从事运维管理工作多年,目前就职于某科技有限公司,熟悉运维自动化、OceanBase部署运维、MySQL 运维以及各种云平台技术和产品。并已获得OceanBase认证OBCA、OBCP 证书、OpenGauss社区认证结业证书。OceanBase & 墨天轮第二、三、四届技术征文大赛,多次获得 一、二、三 等奖,时常在墨天轮发布原创技术文章,并多次被首页推荐。

image.png

前言

「YashanDB个人版体验」在YashanDB官网下载YashanDB个人版安装包,试用后输出体验报告。
下载地址:https://download.yashandb.com

我是通过数据库相关行业论坛或墨天轮社区了解YashanDB的。发现墨天轮社区有许多关于YashanDB的讨论和使用经验分享,我也准备参与其中,对YashanDB的评价和使用说一下自己的心得。

YashanDB是一个自主构建的数据库系统,其内核代码完全由开发者自行编写。在技术上,YashanDB不断引入新理论、新算法,以开展更多的创新,为客户提供极致体验与绝佳工程实践。它不仅采用了深圳计算科学研究院原创的基础性理论成果,还融入了并行可扩展、并行事务和跨模融合计算理论等先进的数据库技术。

一、服务器资源环境准备

还不知道如何部署,我们先来看看官方部署文档吧
https://doc.yashandb.com/yashandb/23.1/zh/%E4%BA%A7%E5%93%81%E6%8F%8F%E8%BF%B0/%E4%BA%A7%E5%93%81%E7%AE%80%E4%BB%8B.html

image.png

1、了解部署形态

部署形态有三种
单机、分布式、共享集群。首次测试,先采用单机部署测试下。

2、安装前准备

本章节将介绍个人版单机形态YashanDB服务端安装部署所需的前期准备,安装前请根据本文所述内容进行相关配置。

演示环境如下:

操作系统

[root@worker2 opt]# cat /etc/redhat-release 
CentOS Linux release 7.4.1708 (Core) 
![image.png](https://oss-emcsprod-public.modb.pro/image/editor/20231120-3938f2d1-55cf-4ede-ab55-6557f78bfe85.png)

内存

[root@worker2 opt]# free -h
              total        used        free      shared  buff/cache   available
Mem:            31G        9.9G         18G        624K        3.2G         20G
Swap:            0B          0B          0B
[root@worker2 opt]# 

image.png

CPU

[root@worker2 opt]# cat /proc/cpuinfo | grep name | cut -f2 -d: | uniq -c
      8  Intel(R) Xeon(R) Gold 5118 CPU @ 2.30GHz
[root@worker2 opt]# 

image.png

硬盘
image.png

这个是个人开发环境配置,请根据如下配置自行调整软硬件配置。

3、创建安装用户

建议创建一个新用户安装YashanDB数据库。

切换至root用户,并执行如下命令创建新用户yashan:

[root@worker2 opt]# useradd yashan
[root@worker2 opt]# 

image.png

执行如下命令为用户yashan指定密码:

[root@worker2 opt]# passwd yashan
Changing password for user yashan.
New password: 
Retype new password: 
passwd: all authentication tokens updated successfully.
[root@worker2 opt]# 

image.png

4、操作系统参数调整

下表为YashanDB数据库所需的资源限制值的最小要求,请根据下表所示将资源限制值调整为大于或等于最小要求的值。

资源项 描述 最小要求
open files 文件句柄 65536
max user processes 最大用户线程数 65536
max memory size 最大内存限制 unlimited
stack size 堆栈大小 8192

配置参数永久生效

执行如下命令将参数写入/etc/security/limits.conf文件,重启后参数永久生效:

[root@worker2 opt]# 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
[root@worker2 opt]# 

image.png

执行如下命令查看系统的所有资源限制值:

[root@worker2 opt]# ulimit -a
core file size          (blocks, -c) 0
data seg size           (kbytes, -d) unlimited
scheduling priority             (-e) 0
file size               (blocks, -f) unlimited
pending signals                 (-i) 128553
max locked memory       (kbytes, -l) unlimited
max memory size         (kbytes, -m) unlimited
open files                      (-n) 65535
pipe size            (512 bytes, -p) 8
POSIX message queues     (bytes, -q) 819200
real-time priority              (-r) 0
stack size              (kbytes, -s) 8192
cpu time               (seconds, -t) unlimited
max user processes              (-u) 32000
virtual memory          (kbytes, -v) unlimited
file locks                      (-x) unlimited
[root@worker2 opt]# 

image.png

5、软件包准备

下载 YashanDB
登录 https://download.yashandb.com/download
image.png
根据自己的资源环境,选择要下载的安装包,我的环境是Centot7 X86的,所有选择 YashanDB Personal 23.1 (Linux X86)

确认协议
image.png
网速,不同,下载很快
image.png

image.png

二、YashanDB服务端安装

本章节将介绍Linux环境下单机形态的YashanDB数据库服务端安装部署方式,请确保已根据安装前准备章节进行相关配置,本文以yashandb-personal-23.1.0.100-linux-x86_64.tar.gz软件包为例进行阐述 。

如需安装其他部署形态的YashanDB数据库,请参考om安装章节。

1、创建安装目录

执行如下命令切换至yashan用户:

[root@worker2 opt]# su yashan
[yashan@worker2 opt]$ 

image.png

执行如下命令创建目录install:

[yashan@worker2 ~]$ cd ~
[yashan@worker2 ~]$ mkdir install

image.png

2、获取yasboot安装工具

执行如下命令进入目录install,此时用户所在路径为/home/yashan/install:

[yashan@worker2 ~]$ cd install/
[yashan@worker2 install]$ pwd
/home/yashan/install
[yashan@worker2 install]$ 

image.png

将软件包上传至install目录中。
image.png

执行如下命令解压软件包,并查看解压后目录中所有文件,请将解压命令后的软件包名称更改为实际使用的软件包名称:

[yashan@worker2 install]$ ls
yashandb-personal-23.1.1.100-linux-x86_64.tar.gz
[yashan@worker2 install]$ tar -zxf yashandb-personal-23.1.1.100-linux-x86_64.tar.gz 
[yashan@worker2 install]$ ll
total 171348
drwxrwxr-x 6 yashan yashan      4096 Nov  9 18:16 admin
drwxrwxr-x 2 yashan yashan      4096 Nov  9 18:16 bin
drwxrwxr-x 2 yashan yashan      4096 Nov  9 18:16 conf
drwxrwxr-x 5 yashan yashan      4096 Nov  9 18:16 ext
-rw-rw-r-- 1 yashan yashan     11632 Nov  9 18:16 gitmoduleversion.dat
drwxrwxr-x 2 yashan yashan      4096 Nov  9 18:16 include
drwxrwxr-x 3 yashan yashan      4096 Nov  9 18:16 java
drwxrwxr-x 2 yashan yashan      4096 Nov  9 18:16 lib
-rw-r----- 1 yashan yashan     14989 Nov  9 18:16 LICENSE
drwxrwxr-x 3 yashan yashan      4096 Nov  9 18:16 plug-in
drwxrwxr-x 2 yashan yashan      4096 Nov  9 18:16 scripts
-rw-r--r-- 1 root   root   175386922 Nov 20 13:01 yashandb-personal-23.1.1.100-linux-x86_64.tar.gz
[yashan@worker2 install]$ 

image.png

3、生成参数文件

执行如下命令生成安装参数文件,ssh登录密码为创建yashan用户时指定的密码,请将–ip参数后面的值更换成安装服务端主机所在IP地址(使用127.0.0.1会导致客户端无法连接至服务端):

 hostid   | group | node_type | node_name | listen_addr    | replication_addr | data_path
--------------------------------------------------------------------------------------------------------
 host0001 | dbg1  | db        | 1-1       | 192.168.1.2:1688 | 192.168.1.2:1689   | /home/yashan/yasdb_data
----------+-------+-----------+-----------+----------------+------------------+-------------------------

Generate config success
Copied!

image.png

4、执行安装

执行如下命令安装YashanDB数据库,如实际安装数据库版本与示例中版本不同,请将-i参数后的软件包名称更改成实际名称:

[yashan@worker2 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@worker2 install]$ 

image.png

5、执行部署

5.1 执行如下命令部署YashanDB数据库:
[yashan@worker2 install]$ ./bin/yasboot cluster deploy -t yashandb.toml
 type | uuid             | name               | hostid | index    | status  | return_code | progress | cost 
------------------------------------------------------------------------------------------------------------
 task | 19ccd81a206af679 | DeployYasdbCluster | -      | yashandb | SUCCESS | 0           | 100      | 9    
------+------------------+--------------------+--------+----------+---------+-------------+----------+------
task completed, status: SUCCESS
[yashan@worker2 install]$ 

image.png

5.2 执行如下命令配置环境变量:
[yashan@worker2 install]$ cd /home/yashan/yasdb_home/yashandb/23.1.1.100/conf/
[yashan@worker2 conf]$ 

image.png

如~/.bashrc中已存在YashanDB相关的环境变量,将其清除

[yashan@worker2 conf]$ cat yashandb.bashrc >> ~/.bashrc
[yashan@worker2 conf]$ source ~/.bashrc
[yashan@worker2 conf]$ 

image.png

5.3 执行如下命令设置YashanDB数据库中sys用户的密码:
[yashan@worker2 conf]$ cd /home/yashan/yasdb_data/db-1-1/instance
[yashan@worker2 instance]$ mv yasdb.pwd yasdb1.pwd
[yashan@worker2 instance]$ yaspwd file=yasdb.pwd
Enter password for SYS:

image.png

5.4 执行如下命令查看YashanDB数据库状态

如显示出数据库状态信息即为安装成功:

[yashan@worker2 instance]$ yasboot cluster status -c yashandb
 host_id  | node_type | nodeid | pid   
---------------------------------------
 host0001 | db        | 1-1:1  | 65676 
----------+-----------+--------+-------
[yashan@worker2 instance]$ 

image.png

5.5 执行如下命令连接数据库,请将password更改成设置的sys用户密码:
[yashan@worker2 instance]$ yasql sys/password
YashanDB SQL Personal Edition Release 23.1.1.100 x86_64

YAS-02143 invalid username/password, login denied

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

SQL> 

image.png

6、服务端配置

如部署服务端时没有对监听地址参数进行修改,则服务端的监听地址默认为127.0.0.1:1688,即本地地址,此时仅支持同主机不同用户下安装的YashanDB客户端进行连接,如位于不同主机则无法连接至服务端,需要对服务端的监听地址进行修改。

于数据库服务端执行如下SQL命令查看监听地址参数值:

执行如下SQL命令重新查看监听地址参数值:

SQL> show parameter LISTEN_ADDR;

NAME                                                             VALUE                                                            
---------------------------------------------------------------- ---------------------------------------------------------------- 
LISTEN_ADDR                                                      127.0.0.1:1688                                              

1 row fetched.

SQL> 

image.png

7、基本操作

本章节将介绍YashanDB数据库的实例启停方式。数据库安装过程中将实例自动切换成OPEN阶段,并创建名为yashandb的数据库。

执行如下SQL命令查看当前实例状态及数据库名称:

SQL> SELECT status FROM V$INSTANCE;

STATUS        
------------- 
OPEN         

1 row fetched.

SQL> SELECT database_name FROM V$DATABASE;

DATABASE_NAME                                                    
---------------------------------------------------------------- 
yashandb                                                        

1 row fetched.

SQL> 

image.png

执行如下命令关闭YashanDB服务:

$ yasboot cluster stop -c yashandb
 type | uuid             | name             | hostid | index    | status  | return_code | progress | cost
----------------------------------------------------------------------------------------------------------
 task | 3b62bda48bad7fd1 | StopYasdbCluster | -      | yashandb | SUCCESS | 0           | 100      | 1
------+------------------+------------------+--------+----------+---------+-------------+----------+------
task completed, status: SUCCESS

结语:

参考资源:
https://doc.yashandb.com/yashandb/23.1/zh/%E4%BA%A7%E5%93%81%E6%8F%8F%E8%BF%B0/%E4%BA%A7%E5%93%81%E7%AE%80%E4%BB%8B.html

首先,如果您打算部署YashanDB,您需要考虑您的系统环境和应用程序的需求。YashanDB是一个高性能的数据库系统,需要一个强大的硬件平台来支持。同时,您需要了解您的应用程序对数据库系统的要求,以便选择适合的版本和配置。

其次,您需要了解YashanDB的安装和配置过程。YashanDB的安装过程相对简单,但是您需要确保您的系统满足其要求。在配置过程中,您需要选择合适的参数和设置,以确保数据库系统的正常运行。

最后,您需要了解YashanDB的特性和优点,以便在部署过程中充分利用其功能。YashanDB具有高性能、可扩展性、高可用性和安全性等优点,可以帮助您提高应用程序的性能和可靠性。

总之,如果您打算部署YashanDB,您需要充分了解其要求和特性,并选择合适的版本和配置来满足您的应用程序需求。同时,您需要在安装和配置过程中仔细阅读文档并遵循步骤,以确保数据库系统的正常运行。

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

评论