首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

解析数据库连接池技术及四处数据库连接池

导读

在亿信BI中,共有4处可配置数据库连接池。那什么是数据库连接池?这4处数据库连接池有何种作用,分别都保存哪些相关文件呢?这就是今天要介绍的内容。

数据库连接池技术

数据库连接池技术其实是一种缓存策略。

因为数据库连接是一种关键的、有限的、昂贵的资源;并且创建一个连接相当耗时,如果每次用户需要访问数据库时都建立一个新的连接,会显著影响到整个应用程序的性能指标。

所以程序设计人员就想到了采用缓存的机制,当建立了一个连接并使用完毕以后并不是立即释放丢弃,而是缓存到BI系统中。当用户再次访问数据库的请求就直接从缓存中提取现成的(前提是主要能够有效的管理、分配和释放连接就可以了)。

数据库连接池参数

数据库连接池的参数可勾选【高级选项】配置:

【参数详解】

默认的数据库连接池可在工作目录conf文件夹下生成jdbc.conf文件,其内容如下所示:

何处配置数据库连接池

在BI中,有以下四个地方可以设置数据库连接池:

1

默认数据库连接池

在安装BI过程中初始化的数据库连接池;(此数据库连接池内容保存在工作目录中conf文件下,名为jdbc.conf)

【存储内容】

对于默认数据库连接池来说,我们新建的用户、以及给用户设置的权限、门户上的配置、维表定义的结构、主题域、主题集的配置文件、数据库连接池中创建的各相关数据库连接池都是保存在默认数据库中。

2

主题域属性中可单独设置

【存储内容】

该连接池主要保存有主题域对应的维表的数据。当然,如果此主题域下的主题集或每个主题集对应的存储连接池为空,则主题域对应的数据库连接池还会保存有主题集中维表的数据、主题表对应的数据库表分析表的表样和数据。

3

主题集属性的“数据表映射设置”可单独设置

【存储内容】

在【数据表映射】设置的数据库连接池,主要保存主题集对应的维表的数据和主题集中每个主题表对应的数据库表

4

分析表的表样和存储结果可以单独设置连接池

【存储内容】

在【基本属性】设置的存储连接池,主要保存分析表的表样和表的计算结果。(在每个主题集属性中都可以去设置存储连接池)

【关联表】

关联表的名称根据版本及主题集的名称生成各不相同。

当然,如果你的所有分析数据源和服务器产生的系统表都在同一个数据库连接池A中,上述这四个地方的数据库连接池均可配置为A。

注意事项

清楚各数据库连接池的用途后,我们在实际操作中需要慎重使用各处数据库连接池

下面由一个例子来展开说明:

当服务器上有a,b,c三个主题域,且每个主题域中所有主题表对应的数据库表都有自己单独的数据库连接池为alist,blist,clist,服务器上默认的数据库连接池为ali。

此时,a主题域中所对应的数据有更新,拿到了一个pde文件(注:该pde文件是同事在客户的环境下导出的文件),并交给数据库工程师将数据导入到alist数据库连接池中,数据库工程师在导入时是先删除表再导入新的数据,导完后,重启BI服务器,发现服务器上只有a主题域,之前的b,c主题域已不复存在。

出现上述现象的原因:因为服务器默认的数据库连接池是a主题域对应的数据库连接池alist,而alist又重新导入数据,导致之前保存的信息已不复存在。

教训:

在操作BI服务器时,默认的数据库连接池最好单独建库,不要与某个主题域或主题集对应的数据库连接池一致,以免造成上述情况。

如何创建数据库连接池

了解了何处配置数据库连接池,现在我们学习下如何创建数据库连接池。

假设现在BI服务器已初始化完成,某个主题域需单独配置一个数据库连接池。

第一步

新建数据库连接池:

第二步

配置数据库连接池内容:

【名称】连接池名称,区分多个连接池,只支持数字字母下划线。

【描述】对连接池可作详细描述。

【数据库】选择数据库类型,此处默认可选12种,依次为:BD2,DM,Essbase,GBase,GreenPlum,KingBaseES,Mysql,Netezza,Oracle,PetaBase,SQL Server,Sybase;除此之外,还可配置其它类型。

【驱动类名】数据库驱动的类名;若是12种数据库内,当选择数据库类型时,默认已输入内容并隐藏。

【链接地址】链接数据库的地址,不同数据库格式不同。

【用户名】数据库用户名。

【密码】数据库用户密码。

【高级设置】连接池参数已作详细介绍,此处不再赘述。

第三步

测试数据库连接池是否配置成功,并保存。

如果测试成功,提示:

如果测试失败,给出连接失败提示信息:

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20171220G0M91F00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券