# 数据源管理
数据源是SuccBI读取数据和存储数据的数据库连接,系统的元数据、日志、权限、用户信息、表单提交的数据会存储到数据源,报表、仪表板等对象的查询分析统计也需要用到数据源。
SuccBI的数据源是多项目共享的。
在项目列表中的数据源模块下,可对数据源进行管理。
# 新建数据库连接
点击新建,连接数据库
窗口中展示了SuccBI支持的所有数据库类型,可通过顶部标签页按数据库用途类型进行筛选,同时也支持在搜索框中搜索指定名称的数据库类型
选择数据库类型后,点击下一步,配置数据库连接属性,在基础配置中填写数据源名称、用途和地址等必填信息,按需在高级配置来设置最大连接数等高级属性
数据库连接属性配置完成后,点击连接测试,测试通过后点击确定
即可完成数据库连接。连接成功后该数据库会出现在项目>项目设置>数据中的允许使用数据源中,选择该数据源后,才会在项目中能够使用,详见项目数据管理设置
TIP
若测试失败,仍可继续保存,后续修改后可继续测试。
# 数据库连接属性设置
连接属性设置包含基础配置和高级配置,基础配置是必填项,高级配置是选填项。
基础配置
- 名称:项目中引用数据源时显示的名称(引用方式详见项目数据管理设置),用户可自定义,新建后不能修改
- 描述:描述该数据源的业务用途
- 用途:根据权限不同,分为只读和可写。只读只允许读取数据,可写允许对数据和表结构进行修改。如果用户只有只读权限,但是用途设置为可写,数据库仍然能连接,但是写入数据时会提示用户没有权限,无法写入数据。
- 地址:输入数据库地址和端口号,若输入的地址IP中带有端口号和数据库名,系统会自动识别填充
- 数据库名:需要连接的物理数据库名称
- 用户名:连接数据库用到的账户
- 密码:连接数据库用到的密码
高级配置
- JDBC URL:数据库连接时,用来连接到指定远程数据库标识符。用户输入ip、数据库名和数据库类型后会自动生成一个JDBC URL。反之,输入JDBC URL也会自动生成ip、数据库名和数据库类型
- 最大连接数:数据库连接池的最大连接数,设置为100就是同时只能有100个连接在执行sql,若超过100个系统就会报错并显示超过最大连接数
- 等待超时(秒):数据库连接的最大等待时间,若数据库连接超过设置的时间,数据库会强行断开已有的连接
- 有效性检查:用于获取连接时检查连接是否有效
- 镜像库:启用镜像库功能,镜像库是数据库本身的能力,系统可以利用数据库的镜像能力做到读写分离和分散查询压力,增加系统的承压能力
- 镜像库URL:启用镜像库功能后,需要配置镜像库的地址
- 镜像同步延迟时间:设置一个镜像库延迟读取时间,用于修改模型数据后,是否延迟读取镜像库数据。单位秒,默认0,表示不延迟,可以直接查镜像库。比如:期望修改后5分钟内,只查主库,则设置为300
- 自定义属性:用于数据源的特定参数,详见数据源自定义属性
# 数据源自定义属性
有些数据库要设置特定的属性,用于指定在数据源中管理表时的默认属性或者用于优化性能。这些属性通常是来自数据库内部的定义,也有产品内置的属性。在自定义属性框中以名值对的形式设置属性,如databaseStatisticsSchedule=true
,不同的数据库类型设置的属性也不一样,可参考jdbc配置文件格式。
# 新建Elasticsearch连接
新建Elasticsearch连接除了需要设置基本的连接属性外,通常还要设置如下的自定义属性:
pinyin_analyzer=pinyin
en_analyzer=standard
zh_analyzer=hanlp_index
index.refresh_interval=-1 # 关闭自动刷新,ES检索同步后,程序自动发起refresh
index.translog.durability=async # 异步写入
index.translog.sync_interval=600s # 600s写入间隔
index.translog.flush_threshold_size=1024mb # 1024mb写入阈值
index.per_commit_threshold_mb=5 # es单次提交5mb的数据
# Elasticsearch自定义属性
在es数据源中常见的自定义属性主要分为分词器设置
和索引设置
。
分词器设置
分词器设置用于指定创建ES检索时不同分词模式对应使用的分词器,参数如下:
- zh_analyzer:指定中文分词器
- pinyin_analyzer:指定拼音分词器
- en_analyzer:指定英文分词器
未指定时,默认均为 standard
分词器。常见的分词器设置:
zh_analyzer=hanlp_index
pinyin_analyzer=pinyin
en_analyzer=standard
提示
Elasticsearch没有内置中分分词器和拼音分词器,使用时需要在Elasticsearch服务器上提前安装
索引设置
es中常见的索引属性参数:
- index.refresh_interval:刷新间隔
- index.translog.durability:写入磁盘的策略
- index.translog.sync_interval:写入磁盘的时间间隔
- index.translog.flush_threshold_size:写入磁盘的阈值
- index.per_commit_threshold_mb:单次提交的数据量
参考设置
index.refresh_interval=-1 # 关闭自动刷新,ES检索同步后,程序自动发起refresh
index.translog.durability=async # 异步写入
index.translog.sync_interval=600s # 600s写入间隔
index.translog.flush_threshold_size=1024mb # 1024mb写入阈值
index.per_commit_threshold_mb=5 # es单次提交5mb的数据
# 编辑数据库连接属性
点击操作中的编辑,可修改该数据源的连接属性设置,修改后无需重启服务。修改页面与新建数据库连接页面相同。
TIP
由于default库是元数据数据源,因此只能点击操作中的查看来查看该数据源详细的连接属性信息,但无法编辑。
# 删除数据库连接
点击操作中的删除,再勾选我确认删除数据源进行确认后,可删除该数据源。数据源删除后,可从回收站恢复或者重新连接,恢复后的数据源与删除前相同。
# 刷新数据库连接状态
当数据源状态发生变化,例如数据库出现异常后运维工程师在后台修复,此时点击操作中的刷新,可刷新数据源状态,验证是否成功连接
# 默认数据库
默认数据库用来存储系统表和元数据,比如default库,除迁移环境时需要修改默认数据库以外,其它情况下不建议直接修改默认数据库,修改默认数据源时,修改的数据源属性会保存到工作目录的jdbc.conf文件中。详见工作目录和默认数据库配置