上一篇演示了如何安装一台单节点 vertica 数据库,并初始化创建了一个 lucifer
数据库,但是苦于没有数据进行测试学习!通过阅读官方文档了解到 vertica 有一个示例数据库 vmart
可以用来初始化一个功能齐全的多模式的数据库用来学习查询!
当然了,前提是你已经安装好了 vertica 数据库,安装教程可以参考下方文章:
🏆 作者写的 《vertica 技术文章合集》,欢迎阅读 👏🏻!
vertica 附带了一个名为 vmart
示例数据库的示例多模式数据库,大型超市 (vmart) 可能会使用该数据库来访问有关其产品、客户、员工以及在线和实体商店的信息。使用此示例,可以创建、运行、优化和测试多模式数据库。
vmart 数据库包含以下 schema
:
- public(在任何新创建的 vertica 数据库中自动创建)
- store
- online_sales
vmart 数据库位置和脚本:
如果使用 rpm
软件包安装 vertica,则 vmart 架构安装在 /opt/vertica/examples/vmart_schema
目录中。此文件夹包含以下脚本文件,可用于快速入门。将脚本用作您自己的应用程序的模板。
脚本/文件名 | 描述 |
---|---|
vmart_count_data.sql | 对所有示例数据库表的行进行计数的 sql 脚本,您可以使用它来验证负载。 |
vmart_define_schema.sql | 定义每个表的逻辑架构和参照完整性约束的 sql 脚本。 |
vmart_gen.cpp | 数据生成器源代码 (c )。 |
vmart_gen | 数据生成器可执行文件。 |
vmart_load_data.sql | 使用 copy 将生成的示例数据加载到相应表的 sql 脚本。 |
vmart_queries.sql | 包含串联示例查询的 sql 脚本,用作数据库设计器的训练集。 |
vmart_query_##.sql | 包含单个查询的 sql 脚本;例如,vmart_query_01 通过 vmart_query_09.sql |
vmart_schema_drop.sql | 删除所有示例数据库表的 sql 脚本。 |
vertica 提供了两个选项来安装示例数据库:
使用脚本快速安装
:此选项可让您创建示例数据库并立即开始使用它。使用此方法绕过架构和表创建过程并立即开始查询。高级安装
:高级选项是使用管理工具界面的高级但简单的示例数据库安装。使用此方法可以更好地理解数据库创建过程并练习创建模式、创建表和加载数据。
两种安装方法都会创建一个名为 vmart
的数据库。
执行快速安装所需的脚本为 /opt/vertica/sbin
目录下的 install_example
。此脚本在默认端口 5433
上创建数据库、生成数据、创建模式,并加载数据。该文件夹还包含一个 delete_example
脚本,用于停止和删除数据库。
📢 注意: 强烈建议您一次仅启动一个示例数据库,以避免出现不可预测的结果,确保磁盘空间足够!
1、脚本创建 vmart
下面演示如何快速安装:
1、切换至 dbadmin
用户
su - dbadmin
2、进入 example
目录
cd /opt/vertica/examples
pwd
3、执行快速安装
/opt/vertica/sbin/install_example vmart
vmart 数据库创建成功,测试连接!
2、连接 vmart 数据库
使用 admintools
工具连接数据库:
admintools
密码为空,直接回车即可!
简单查询一下数据库,模式以及用户。
3、删除 vmart 数据库
为了测试一下删除脚本,同时为了下面测试高级安装,这边删除一下 vmart 数据库。
cd /opt/vertica/examples
/opt/vertica/sbin/delete_example vmart
示例数据库日志文件 exampleinstall.txt
和 exampledelete.txt
被写入/opt/vertica/examples/log
。
至此,关于脚本快速安装的演示就结束了!
开始高级安装之前,确保当前主机的所有数据库均已停止运行。
1、配置示例环境
1、切换到 dbadmin 用户:
su - dbadmin
2、进入 /opt/vertica/examples/vmart_schema
目录:
cd /opt/vertica/examples/vmart_schema
📢 注意: 下面整个配置过程都不要离开这个目录,否则会失败。
3、运行生成器
./vmart_gen
📢 注意: 让程序使用默认参数运行,后面可以在 readme
文件中查看这些参数。
4、报错解决
以下步骤仅针对上述运行报错的情况,如果 vmart_gen 不能正常执行,执行下方命令:
g vmart_gen.cpp -o vmart_gen
chmod x vmart_gen
./vmart_gen
📢 注意: vmart_gen 运行正常情况下无需执行!
2、创建示例数据库
下面我们使用 admintools
管理工具创建数据库:
admintools
选择配置菜单 configuration menu
进入:
创建数据库:
默认选择企业模式:
填写数据库名称 vmart
:
填写密码,这里我们不设置密码:
单节点,默认即可:
数据文件位置,默认即可:
k-safe 默认:
确认信息,开始创建:
3、测试连接 wmart 数据库
使用 admintools
工具连接数据库:
admintools
密码为空,直接回车即可!
简单查询一下数据库,模式以及用户。
📢 注意: 目前是新创建的 vmart
数据库,还未创建 schema 和加载数据。
4、创建 schema 和表
vmart 数据库安装了带有 sql 命令的示例脚本,这些脚本旨在表示可能在实际业务中使用的查询。该vmart_define_schema.sql
脚本运行定义 vmart 模式并创建表的脚本。在将数据加载到 vmart 数据库之前,必须运行此脚本。
此脚本执行以下任务:
- 在 vmart 数据库架构中定义两个架构:
online_sales
和store
。 - 在两种模式中定义表。
- 定义对这些表的约束。
连接 vmart 数据库后执行以下脚本:
\i vmart_define_schema.sql
运行脚本之后创建完模式和表之后,查询一下:
\dn \dt
5、加载数据
现在已经成功创建了模式和表,下面可以通过运行 vmart_load_data.sql
脚本将数据加载到表中。此脚本将 15 个 .tbl
文本文件中的数据加载 opt/vertica/examples/vmart_schema
到 vmart_design_schema.sql
创建的表中。
执行加载数据脚本,加载数据可能需要几分钟时间:
\i vmart_load_data.sql
📢 注意: 加载过程中,通过监视 vertica.log
文件来检查加载状态!
数据加载完成后,简单查询下表数据:
\i vmart_query_01.sql
-- 下面👇🏻是 vmart_query_01.sql 脚本中的语句:
select fat_content
from ( select distinct fat_content
from product_dimension
where department_description
in ('dairy') ) as food
order by fat_content
limit 5;
查询数据没有问题,该命令查询乳制品部门中脂肪含量最低的五种产品的值。
6、vsql 客户端连接
我们也可以从客户端平台上命令行使用 vsql 连接到数据库:
/opt/vertica/bin/vsql [-h host] [ option...] [ dbname [ username ] ]
参数 | 介绍 |
---|---|
host | 如果您连接到本地服务器,则可选。您可以提供 ipv4 或 ipv6 ip 地址或主机名。对于vertica的地址为ipv4和ipv6地址和您提供主机名代替ip地址的服务器,你可以喜欢与使用ipv4地址-4选项,并与使用ipv6地址经过-6选项,如果dns被配置为提供ipv4 和 ipv6 地址。如果您使用 ipv6 并提供 ip 地址,则必须在地址后附加.%interface name |
option | 一个或多个 vsql命令行选项如果数据库受密码保护,则必须指定 -w 或–password命令行选项。 |
dbname | 目标数据库的名称,默认情况下您的 linux 用户名。 |
username | 一个数据库用户名,默认是你的 linux 用户名。 |
我本机为 macos
,安装客户端之后,测试连接:
vsql -h 192.168.56.100 vmart dbadmin
至此,高级安装的完整步骤也演示完毕!
这个大型超市 (vmart) 跟 oracle
数据库中创建的用户 scott
有异曲同工之妙,方便初学者用来学习!建议大家好好利用,能省下很多模拟数据的时间哈,886~