首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

Big SQL V4.X 中联邦的新特性-2

Big SQL V4.X 中联邦的新特性-2

Netezza                环境设置版本更改:Big SQL V4.1 及以前的版本需要此设置。
依赖项:对于 Big SQL V4.1 及以前的版本,Netezza 数据源需要通用的 ODBC 驱动程序以及 Netezza                客户端 ODBC 库。Netezza 客户端可从 IBM Fix Central 下载。IBM Fix Central 提供了一个包含 Netezza 客户端和                DataDirect OBDC 驱动程序的捆绑软件。另外,如果要使用其他 ODBC 数据源,推荐使用 代替 DataDirect OBDC 驱动程序。
安装 ODBC 驱动程序和 Netezza 客户端后(对于下面这个示例,我假设分别安装在路径 /opt/odbc_7.1/ 和                /opt/netezza 下),必须将 ODBC 驱动程序和 Netezza 客户端的库文件添加到 Big SQL                路径中。要实现此目的,可将它们的位置添加到变量 LIBPATH、DB2LIBPATH 和 LD_LIBRARY_PATH                中,这些变量位于实例所有者主目录中的 sqllib/cfg/ 目录下的 db2dj.ini 文件中。
db2dj.ini 中需要另外两个变量:NZ_ODBC_INI_PATH 和 ODBCINST,前者包含 odbc.ini                文件的位置的完整路径值,后者包含 odbc.ini 文件的完整路径。
清单                    5.适用于 Netezza 的                /home/bigsql/sqllib/cfg/db2dj.ini
1
2
3
4
5
LIBPATH=/opt/odbc_7.1/lib:/opt/netezza/lib64:
DB2LIBPATH=/opt/odbc_7.1/lib:/opt/netezza/lib64:
LD_LIBRARY_PATH=/opt/odbc_7.1/lib:/opt/netezza/lib64:
NZ_ODBC_INI_PATH=/home/bigsql/sqllib/cfg
ODBCINST=/home/bigsql/sqllib/cfg/odbc.ini




清单                    6.适用于 Netezza 的                /home/bigsql/sqllib/cfg/odbc.ini
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
[ODBC Data Sources]
NZSQL = NetezzaSQL

[NZSQL]
Driver                = /opt/netezza/lib64/libnzodbc.so
Description           = NetezzaSQL ODBC
Servername            = 192.168.0.3
Port                  = 5480
Database              = TESTDB
Username              = netuser
Password              = netpassword

[ODBC]
IANAAppCodePage=4
InstallDir=/opt/odbc_7.1.6
Trace=0
TraceDll=/opt/odbc_7.1.6/lib/FOtrc27.so
TraceFile=odbctrace.out
UseCursorLib=0




Microsoft                SQL Server 环境设置版本更改:Big SQL V4.2 及以前的版本需要此设置。
依赖项:可通过 访问 Microsoft SQL Server。
安装 ODBC 驱动程序后(对于下面这个示例,我假设它们安装在 /opt/odbc_7.1 下),ODBC 驱动程序的库文件必须添加到 Big SQL                路径中。要实现此目的,可将该路径添加到变量 LIBPATH、DB2LIBPATH 和 LD_LIBRARY_PATH                中,这些变量位于实例所有者主目录中的 sqllib/cfg/ 目录下的 db2dj.ini 文件中。
db2dj.ini 中还需要另外一个变量:DJX_ODBC_LIBRARY_PATH,该变量包含 ODBC 驱动程序的 lib                文件夹的完整路径值。
必须在实例所有者主目录中创建一个名为 .odbc.ini 的文件或软链接,并在其中包含远程数据源定义。
清单 7.适用于 Microsoft SQL Server 的                    /home/bigsql/sqllib/cfg/db2dj.ini
1
2
3
4
LIBPATH=/opt/odbc_7.1/lib:
DB2LIBPATH=/opt/odbc_7.1/lib:
LD_LIBRARY_PATH=/opt/odbc_7.1/lib:
DJX_ODBC_LIBRARY_PATH=/opt/odbc_7.1/lib:




清单 8.适用于 Microsoft SQL Server 的 /home/bigsql/.odbc.ini               
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
[mssql2012csdl3]
Driver=/opt/odbc_7.1/lib/FOsqls27.so
Description=SQL Server IBM-Branded Driver
Database=mssql2012db3
Address=192.168.0.4,1433

[mssql2016csdl1]
Driver=/opt/odbc_7.1/lib/FOsqls27.so
Description=DataDirect 7.1 SQL Server Wire Protocol
Database=mssql2016db1
Address=192.168.0.5,1433

[ODBC]
IANAAppCodePage=4
InstallDir=/opt/odbc_7.1/lib/
Trace=0
TraceDll=/opt/odbc_7.1/lib/FOtrc27.so
TraceFile=odbctrace.out
UseCursorLib=0




联邦对象Big SQL 联邦架构以 3 个核心对象为基础。它们是包装器、服务器和用户映射。
创建这些联邦对象的用户必须拥有 DBADM 特权。
联邦对象有一种固有的分层结构。如果丢弃某个对象,所有从属对象也会丢弃。
每种数据源类型在实例用户的主目录中的 sqllib/cfg 下都有一个 XML                文件。这个文件使用包装器的名称进行命名,可根据该文件来查找可用于数据源的选项,包括包装器选项、服务器选项和支持的数据类型。例如,Db2 数据源使用了                DRDA 包装器,所以您可以查询 drda.xml 来发现哪些选项可用和它们的默认值是多少。
包装器包装器表示一种通用的数据源类型。
受防护与受信任包装器的最重要选项之一是 DB2_FENCED,它控制包装器是以受防护还是受信任进程形式运行。受信任包装器与 Big SQL                引擎在同一个进程中运行,这可能让运行速度变得更快;受防护包装器在单独的进程中运行,这可以从独立分配资源中获取优势。
使用 create server                语句隐式创建包装器时,始终将它创建为受防护包装器。运行受防护包装器有诸多优势。最明显的优势是保护 Big SQL                引擎。受防护进程的资源是与主引擎分开分配的,所以即使包装器在执行某种内存密集型处理,也不会影响数据库的正常功能。                另一个优势是更高的性能。不同于受信任包装器,受防护包装器允许在昵称与本地表之间执行并行化连接,每个节点将接收部分昵称数据来执行本地连接。
但是,受防护包装器不支持联邦过程。联邦过程之于远程过程,就像昵称之于远程表,而且只有受信任的包装器支持它们。
默认包装器从 Big SQL V4.2 开始,在运行 create server                语句时,会为该服务器类型创建一个默认的受防护包装器。下面列出了服务器类型与创建的默认包装器之间的映射。
表                    2.每种服务器类型的默认包装器服务器类型V4.2.5 包装器V4.2 包装器 DB2  DRDA  DRDA  Teradata  TERADATA  TERADATA  Oracle  ODBC  Net8  Netezza  ODBC  ODBC  Microsoft SQL Server  ODBC                         MSSQLODBC3
如何创建或丢弃包装器从 V4.2 开始,create server 语句会隐式创建一个默认包装器。您总是可以创建一个个性化包装器。
可以选择使用表 2 中的数据类型的默认包装器名称,或者使用不同的名称。如果使用不同的名称,必须使用相应包装器库的文件名来定义 LIBRARY                子句。使用默认包装器名称时无需这么做。包装器库位于实例所有者的主目录中的 sqllib/lib64 下。
ODBC 包装器有一个额外的必要选项:MODULE。在以下示例中,使用的 ODBC 库路径是从 Big SQL V4.2                开始默认安装的路径。对于更低的版本,MODULE 选项应指向安装 ODBC 库的位置。
包装器位于分层结构的最高层,所以如果丢弃某个包装器,也会丢弃使用它的所有服务器、用户映射和昵称。
可在各个包装器的 sqllib/cfg 下的 XML 文件的 <wrapper_options>                部分查询包装器选项。
下面提供了针对受支持的每种数据源类型的一系列示例。这些示例使用以下格式:
  • 最简单的 create wrapper 语句
  • Drop wrapper 语句
  • 包含选项的 Create wrapper
  • 包含一个不同名称的 Create wrapper
清单                    9.DRDA                包装器
1
2
3
4
CREATE WRAPPER DRDA;
DROP WRAPPER DRDA;
CREATE WRAPPER DRDA OPTIONS (DB2_FENCED 'Y');
CREATE WRAPPER MYDRDA LIBRARY 'libdb2drda.so';




DRDA – Db2 包装器的默认名称
MYDRDA – 包装器的自定义名称,使用自定义名称需要定义子句 LIBRARY
libdb2drda.so – Db2 包装器的库
DB2_FENCED – 将包装器设置为受防护进程的选项
清单 10.Teradata                包装器
1
2
3
4
CREATE WRAPPER TERADATA;
DROP WRAPPER TERADATA;
CREATE WRAPPER TERADATA OPTIONS (DB2_FENCED 'Y');
CREATE WRAPPER MYTERADATA LIBRARY 'libdb2teradata.so';




TERADATA – 默认 Teradata 包装器名称
libdb2teradata.so – Teradata 包装器的库
清单                    11.ODBC                包装器
1
2
3
CREATE WRAPPER ODBC OPTIONS (MODULE '/usr/ibmpacks/bigsql/4.2.5.0/db2/federation/odbc/lib/libodbc.so');
DROP WRAPPER MYODBC;
CREATE WRAPPER MYODBC LIBRARY 'libdb2rcodbc.so' OPTIONS (MODULE '/usr/ibmpacks/bigsql/4.2.5.0/db2/federation/odbc/lib/libodbc.so');




ODBC – 默认 ODBC 包装器名称
libdb2rcodbc.so – ODBC 包装器的库
MODULE – ODBC 包装器需要此选项,它应该是 ODBC 库文件的绝对路径
如何修改包装器创建一个包装器后,可使用 ALTER WRAPPER 语句修改它。
清单                    12.ALTER                WRAPPER
1
2
ALTER WRAPPER DRDA OPTIONS (SET DB2_FENCED 'N');
ALTER WRAPPER ODBC OPTIONS(SET DB2_FENCED 'Y', SET MODULE '/opt/odbc7.1/lib/libodbc.so');

返回列表