Vastbase-guide.md
... ...
@@ -1,41 +1,419 @@
1
-# Vastbase G100 参考文档
1
+# Vastbase G100 海量数据库参考手册
2 2
3
-Vastbase 海量数据库基本上兼容Postgres SQL,所以SQL语法和Postgres一样,可以直接把Vastbase作为Postgres使用.
3
+**日期**:2025-09-23
4 4
5
-SQL语法可以直接参考: [PostgreSQL 特性](/iidpwiki/PostgreSQL.md#第二节-postgresql-特性)
5
+**海量数据库版本**: Vastbase G100 V3.0.8
6 6
7
+---
7 8
8
-## 1.参考指南
9 9
10
-[https://docs.vastdata.com.cn/zh_CN/VastbaseG100/V2.2.15/1/6fffc868878a49e3902ba0a6f68d087e](https://docs.vastdata.com.cn/zh_CN/VastbaseG100/V2.2.15/1/6fffc868878a49e3902ba0a6f68d087e)
11 10
11
+# 第一节.本地和Docker安装步骤
12 12
13
-## 2. [SQL语法参考](https://docs.vastdata.com.cn/zh_CN/VastbaseG100/V2.2.15/1/65ccc3f66f1a413eb169bb5f514e5e83)
13
+## 1 前置准备
14 14
15
-[https://docs.vastdata.com.cn/zh_CN/VastbaseG100/V2.2.15/1/65ccc3f66f1a413eb169bb5f514e5e83](https://docs.vastdata.com.cn/zh_CN/VastbaseG100/V2.2.15/1/65ccc3f66f1a413eb169bb5f514e5e83)
15
+参考文档:https://docs.vastdata.com.cn/zh_CN/VastbaseG100/V3.0.8/1/be9d6c2eac154b92a0efaef9e8c6d88a
16 16
17
+| 资源 | 要求 |
18
+| ------ | ------------------------------------------------------------ |
19
+| OS | CentOS 7.6+/openEuler 20.03 或其他支持 Docker 19.03+ 的 x86_64 系统 |
20
+| 安装包 | `vastbase-g100-single-v1.4-3.0.8.26989-linux-x86_64-20250815104055.tar` |
21
+| 端口 | 宿主机 25432(映射容器 5432) |
22
+| 用户 | 具有 `sudo` 权限的普通用户即可 |
17 23
24
+---
18 25
19
-## 3.兼容性手册
26
+## 2 目录与权限
20 27
21
-[https://docs.vastdata.com.cn/zh_CN/VastbaseG100/V2.2.15/1/5fda827143144783b9958728321c467c](https://docs.vastdata.com.cn/zh_CN/VastbaseG100/V2.2.15/1/5fda827143144783b9958728321c467c)
28
+```bash
29
+sudo mkdir -p /usr/sie/vastbase/{data,license,backup,backup_log}
30
+sudo chown -R 1000:1000 /usr/sie/vastbase # 容器内 UID 1000
31
+```
22 32
33
+---
23 34
24
-## 4.MySQL兼容性
35
+## 3 导入镜像(离线)
25 36
26
-[https://docs.vastdata.com.cn/zh_CN/VastbaseG100/V2.2.15/1/9363aeb3a4264c468b93079db61cdf6e](https://docs.vastdata.com.cn/zh_CN/VastbaseG100/V2.2.15/1/9363aeb3a4264c468b93079db61cdf6e)
37
+```bash
38
+sudo docker load -i vastbase-g100-single-v1.4-3.0.8.26989-linux-x86_64-20250815104055.tar
39
+# 输出:Loaded image: vastbase-g100-single-v1.4-3.0.8.26989-linux-x86_64:20250815104055
27 40
41
+# 打短标签
42
+docker tag vastbase-g100-single-v1.4-3.0.8.26989-linux-x86_64:20250815104055 vastbase:g100
43
+```
28 44
29
-## 5.JAVA语言应用开发
45
+---
30 46
31
-[https://docs.vastdata.com.cn/zh_CN/VastbaseG100/V2.2.15/1/e4b9ce00d5244d4786dcd26a20508f57](https://docs.vastdata.com.cn/zh_CN/VastbaseG100/V2.2.15/1/e4b9ce00d5244d4786dcd26a20508f57)
47
+## 4 创建并启动容器
32 48
49
+```bash
50
+docker run -d --privileged=true \
51
+ -v /usr/sie/vastbase/license:/home/vastbase/vastbase/lic \
52
+ -v /usr/sie/vastbase/data:/home/vastbase/data \
53
+ -v /usr/sie/vastbase/backup:/home/vastbase/backup \
54
+ -v /usr/sie/vastbase/backup_log:/home/vastbase/backup_log \
55
+ -e VB_PASSWORD=****** \
56
+ -e VB_USERNAME=postgres \
57
+ -e VB_DBCOMPATIBILITY=A \
58
+ --name vastbase \
59
+ -p 25432:5432 \
60
+ vastbase:g100
61
+
62
+
63
+
64
+--创建容器脚本
65
+docker run -d --privileged=true -v /usr/sie/vastbase/license:/home/vastbase/vastbase/lic -v /usr/sie/vastbase/data:/home/vastbase/data -v /usr/sie/vastbase/backup:/home/vastbase/backup -v /usr/sie/vastbase/backup_log:/home/vastbase/backup_log -e VB_PASSWORD=****** -e VB_USERNAME=postgres -e VB_DBCOMPATIBILITY --name vastbase -p 25432:5432 vastbase:g100
33 66
34
-## 6.快速入门
67
+--检查启动日志
68
+docker logs -f --tail 100 vastbase
69
+
70
+--进入容器
71
+docker exec -it vastbase bash
72
+
73
+```
74
+
75
+| 环境变量 | 说明 |
76
+| -------------------- | ------------------------------------------------------------ |
77
+| `VB_PASSWORD` | 超级用户密码(必须 ≥8 位且含大小写+数字+特殊字符) |
78
+| `VB_USERNAME` | 超级用户名,默认 `vastbase`;此处设为 `postgres` |
79
+| `VB_DBCOMPATIBILITY` | 实例级兼容模式:<br>`A`=Oracle(默认)<br>`B`=MySQL<br>`PG`=PostgreSQL<br>`MSSQL`=SQL Server |
80
+
81
+---
82
+
83
+## 5 创建MySQL兼容模式并启动容器
84
+
85
+```bash
86
+sudo mkdir -p /usr/sie/vastbase_b/{data,license,backup,backup_log}
87
+
88
+docker run -d --privileged=true \
89
+ -v /usr/sie/vastbase_b/license:/home/vastbase/vastbase/lic \
90
+ -v /usr/sie/vastbase_b/data:/home/vastbase/data \
91
+ -v /usr/sie/vastbase_b/backup:/home/vastbase/backup \
92
+ -v /usr/sie/vastbase_b/backup_log:/home/vastbase/backup_log \
93
+ -e VB_PASSWORD=****** \
94
+ -e VB_USERNAME=postgres \
95
+ -e VB_DBCOMPATIBILITY=B \
96
+ --name vastbase_b \
97
+ -p 25434:5432 \
98
+ vastbase:g100
99
+
100
+
101
+--检查启动日志
102
+docker logs -f --tail 100 vastbase_b
103
+
104
+--进入容器
105
+docker exec -it vastbase_b bash
106
+
107
+--验证是否安装成功
108
+vsql -d postgres -c 'SELECT version();'
109
+
110
+出现以下的日志说明安装成功
111
+[vastbase@b754f1b687e8 ~]$ vsql -d postgres -c 'SELECT version();'
112
+------------------------------------------------------------------------------
113
+ PostgreSQL 9.2.4 on x86_64-pc-linux-gnu, compiled by g++ (GCC) 7.3.0, 64-bit
114
+(1 row)
115
+
116
+--创建数据库,用户,角色并授权
117
+第一次连接数据库时可以连接到此数据库。 执行如下命令连接数据库。
118
+
119
+vsql -d vastbase -p 5432
120
+
121
+
122
+
123
+
124
+```
125
+
126
+
127
+
128
+## 6 检查启动结果
129
+
130
+```bash
131
+# 实时日志
132
+docker logs -f --tail 100 vastbase
133
+```
134
+
135
+看到 `database system is ready to accept connections` 即启动成功。
136
+
137
+---
138
+
139
+## 7 连接测试
140
+
141
+### 7.1 容器内本地
142
+
143
+```bash
144
+docker exec -it vastbase su - postgres -c "vsql -d postgres -c 'SELECT version();'"
145
+```
146
+
147
+返回类似:
148
+
149
+```
150
+PostgreSQL 9.2.24 (Vastbase G100 3.0.8) on x86_64-pc-linux-gnu...
151
+```
152
+
153
+### 7.2 远程连接
154
+
155
+任意 PostgreSQL 客户端:
156
+
157
+```
158
+Host: <宿主机IP>
159
+Port: 25432
160
+User: postgres
161
+Password: ******
162
+Database: postgres
163
+```
164
+
165
+测试 SQL:
166
+
167
+```sql
168
+CREATE DATABASE demo;
169
+\c demo
170
+CREATE TABLE t(id serial primary key, name varchar(20));
171
+INSERT INTO t(name) VALUES ('Vastbase');
172
+SELECT * FROM t;
173
+```
174
+
175
+---
176
+
177
+## 8 常用运维
178
+
179
+| 操作 | 命令 |
180
+| ------------ | ------------------------------------------------------------ |
181
+| 启停数据库 | `docker stop vastbase` / `docker start vastbase` |
182
+| 查看日志 | `docker logs vastbase` 或 `docker exec -it vastbase su - postgres -c "tail -f \$PGDATA/pg_log/postgresql-*.log"` |
183
+| 全库逻辑备份 | `docker exec -it vastbase su - postgres -c "vb_dumpall -f /home/vastbase/backup/full_\$(date +%F).sql"` |
184
+| 全库恢复 | `docker exec -i vastbase su - postgres -c "vsql -f /home/vastbase/backup/full_xxxx.sql"` |
185
+| 卸载 | `docker stop vastbase && docker rm vastbase && sudo rm -rf /usr/sie/vastbase` |
186
+
187
+---
188
+
189
+
190
+## 9 使用管理员账户创建数据库、创建表及向表中插入数据和查询表中数据等操作
191
+
192
+参考文档:https://docs.vastdata.com.cn/zh_CN/VastbaseG100/V3.0.8/1/fd2491b87d4644f1b320dcb906f4c255
193
+
194
+### 9.1. 连接默认库
195
+
196
+第一次连接数据库时可以连接到此数据库。 执行如下命令连接数据库。
197
+
198
+```bash
199
+# 以超级用户 vbase 身份登录(初始库也叫 vastbase)
200
+vsql -d vastbase -p 5432 -U vbase -W
201
+```
202
+
203
+---
204
+
205
+### 9.2 创建业务用户
206
+
207
+```sql
208
+-- 2.1 创建用户(口令需满足复杂度)
209
+CREATE USER snest_changwen PASSWORD '******';
210
+
211
+-- 2.2 授予系统管理员权限(体验用,生产请按最小权限)
212
+GRANT ALL PRIVILEGES TO snest_changwen;
213
+
214
+CREATE USER snest_jichen WITH PASSWORD "******";
215
+GRANT ALL PRIVILEGES TO snest_jichen;
216
+```
217
+
218
+---
219
+
220
+### 9.3. 创建业务数据库
221
+
222
+```sql
223
+CREATE DATABASE snest_tpcc OWNER snest_changwen;
224
+
225
+CREATE DATABASE snest_jichen OWNER snest_jichen;
226
+```
227
+
228
+---
229
+
230
+### 9.4. 退出当前会话
231
+
232
+```sql
233
+\q -- 或 Ctrl+D
234
+```
235
+
236
+---
237
+
238
+### 9.5. 使用新用户连接新库
239
+
240
+```bash
241
+vsql -d snest_tpcc -p 5432 -U snest_changwen -W
242
+
243
+vsql -d snest_jichen -p 5432 -U snest_jichen
244
+```
245
+
246
+> 提示密码时输入 `******`
247
+
248
+---
249
+
250
+### 9.6. 创建 Schema(同名 schema 免搜索路径设置)
251
+
252
+```sql
253
+CREATE SCHEMA snest_changwen AUTHORIZATION snest_changwen;
254
+
255
+CREATE SCHEMA snest_jichen AUTHORIZATION snest_changwen;
256
+
257
+SET search_path TO snest_changwen; -- 当前会话生效
258
+```
259
+
260
+---
35 261
36
-[https://docs.vastdata.com.cn/zh_CN/VastbaseG100/V2.2.15/1/0095ee60bd934df9b7a0fcafdf9b5361](https://docs.vastdata.com.cn/zh_CN/VastbaseG100/V2.2.15/1/0095ee60bd934df9b7a0fcafdf9b5361)
262
+### 9.7. 建表 & 插入 & 查询
37 263
264
+```sql
265
+-- 7.1 建表
266
+CREATE TABLE mytable (
267
+ firstcol INT PRIMARY KEY
268
+);
38 269
270
+-- 7.2 写数据
271
+INSERT INTO mytable VALUES (100);
272
+
273
+-- 7.3 读数据
274
+SELECT * FROM mytable;
275
+```
276
+
277
+预期结果:
278
+
279
+```
280
+ firstcol
281
+----------
282
+ 100
283
+(1 row)
284
+
285
+```
286
+
287
+
288
+
289
+## 10. 使用Dbeaver工具连接vastbase
290
+
291
+主机:ip
292
+
293
+端口:25432
294
+
295
+数据库:snest_jichen
296
+
297
+用户名:snest_jichen
298
+
299
+密码:******
300
+
301
+数据库类型选择 PostgreSQL ,工具的话直接使用PG的类型就好,但是代码开发的时候,使用cn.com.vastbase.Driver驱动
302
+
303
+
304
+
305
+![Vastbase_G100_dbeaver](./uploads/Home/Vastbase_G100_dbeaver-1760161274871-4.png)
306
+
307
+
308
+
309
+### 10.1 默认兼容模型
310
+
311
+```
312
+vastbase数据库访问
313
+
314
+########DBCP##########
315
+driverClassName=cn.com.vastbase.Driver
316
+url=jdbc:vastbase://ip:25432/snest_jichen?currentSchema=snest_changwen
317
+username=snest_jichen
318
+password=******
319
+
320
+
321
+########集成环境DBCP##########
322
+driverClassName=cn.com.vastbase.Driver
323
+url=jdbc:vastbase://ip:25432/snest_jichen?currentSchema=snest_jc
324
+username=snest_jichen
325
+password=******
326
+
327
+
328
+
329
+########snest_ziyangDBCP##########
330
+driverClassName=org.postgresql.Driver/cn.com.vastbase.Driver
331
+url=jdbc:vastbase://ip:25432/snest_jichen?currentSchema=snest_ziyang
332
+username=snest_jichen
333
+password=******
334
+```
335
+
336
+### 10.2 MySQL兼容模型
337
+
338
+```
339
+vastbase数据库访问
340
+数据库:snest_tpcc 端口:25434 用户名:snest_changwen
341
+
342
+########DBCP##########
343
+driverClassName=cn.com.vastbase.Driver
344
+url=jdbc:vastbase://ip:25434/snest_tpcc?currentSchema=snest_changwen&db_compatibility=mysql
345
+username=snest_changwen
346
+password=******
347
+dbCompatibility=mysql
348
+
349
+
350
+########DBCP##########
351
+driverClassName=cn.com.vastbase.Driver
352
+url=jdbc:vastbase://ip:25434/snest_tpcc?currentSchema=snest_jichen&db_compatibility=mysql
353
+username=snest_changwen
354
+password=******
355
+dbCompatibility=mysql
356
+
357
+```
358
+
359
+
360
+
361
+
362
+
363
+# 第二节. Vastbase 适配
364
+
365
+## 2.1 VastbaseProvider介绍
366
+
367
+`VastbaseProvider` 是一个专为海量数据库设计的Java JDBC提供者实现类。它继承自 `PostgreSQLProvider`,提供了海量数据库特有的数据类型映射、SQL语法转换和连接处理功能。
368
+
369
+由于海量数据库兼容PostgreSQL语法,应用程序适配和测试可以与PostgreSQL保持一致。
370
+
371
+```
372
+public class VastbaseProvider extends PostgreSQLProvider {
373
+ @Override
374
+ public String getDBType() {
375
+ return DBType.Vastbase.getName();
376
+ }
377
+}
378
+```
379
+
380
+**返回的数据库类型**: Vastbase
381
+
382
+**应用程序适配**: 如果是这种写法:`if (sqlProvider instanceof PostgreSQLProvider) `,那么就直接兼容海量数据库,应用不需要做任何调整.
383
+
384
+
385
+
386
+# 第三节. Vastbase 参考文档
387
+
388
+Vastbase 海量数据库基本上兼容Postgres SQL,所以SQL语法和Postgres一样,可以直接把Vastbase作为Postgres使用.
389
+
390
+SQL语法可以直接参考: [PostgreSQL 特性](http://192.168.175.198:10001/iidpwiki/PostgreSQL.md#第二节-postgresql-特性)
391
+
392
+
393
+
394
+## 1.参考指南
395
+
396
+https://docs.vastdata.com.cn/zh_CN/VastbaseG100/V2.2.15/1/6fffc868878a49e3902ba0a6f68d087e
397
+
398
+## 2. [SQL语法参考](https://docs.vastdata.com.cn/zh_CN/VastbaseG100/V2.2.15/1/65ccc3f66f1a413eb169bb5f514e5e83)
399
+
400
+https://docs.vastdata.com.cn/zh_CN/VastbaseG100/V2.2.15/1/65ccc3f66f1a413eb169bb5f514e5e83
401
+
402
+## 3.兼容性手册
403
+
404
+https://docs.vastdata.com.cn/zh_CN/VastbaseG100/V2.2.15/1/5fda827143144783b9958728321c467c
405
+
406
+## 4.MySQL兼容性
407
+
408
+https://docs.vastdata.com.cn/zh_CN/VastbaseG100/V2.2.15/1/9363aeb3a4264c468b93079db61cdf6e
409
+
410
+## 5.JAVA语言应用开发
411
+
412
+https://docs.vastdata.com.cn/zh_CN/VastbaseG100/V2.2.15/1/e4b9ce00d5244d4786dcd26a20508f57
413
+
414
+## 6.快速入门
415
+
416
+https://docs.vastdata.com.cn/zh_CN/VastbaseG100/V2.2.15/1/0095ee60bd934df9b7a0fcafdf9b5361
39 417
40 418
本章节对 Vastbase G100 进行了简单的产品介绍以及安装和使用指导,帮助用户快速上手使用。
41 419
... ...
@@ -49,8 +427,6 @@ SQL语法可以直接参考: [PostgreSQL 特性](/iidpwiki/PostgreSQL.md#第二
49 427
- 启停数据库
50 428
- 使用数据库
51 429
52
-
53
-
54 430
## 6.管理员指南/数据库使用
55 431
56 432
本章节介绍使用数据库的相关操作,帮助使用本手册的管理员获取到使用和管理数据库的相关信息。包括如下内容:
... ...
@@ -72,9 +448,7 @@ SQL语法可以直接参考: [PostgreSQL 特性](/iidpwiki/PostgreSQL.md#第二
72 448
73 449
## 7.Docker 单机镜像安装
74 450
75
-[https://docs.vastdata.com.cn/zh_CN/VastbaseG100/V2.2.15/1/d9d69078b93448bbb219ec6407c4c0f2](https://docs.vastdata.com.cn/zh_CN/VastbaseG100/V2.2.15/1/d9d69078b93448bbb219ec6407c4c0f2)
76
-
77
-
451
+https://docs.vastdata.com.cn/zh_CN/VastbaseG100/V2.2.15/1/d9d69078b93448bbb219ec6407c4c0f2
78 452
79 453
| **参数名称** | **含义** |
80 454
| --------------------- | ------------------------------------------------------------ |