Sybase IQ for Data Warehouse 培训总结(一)
*作 者: xuwedo
培训主要内容:Administering Sybase IQ for Data Warehouse (volume 1 &volume 2)
一、 本次培训涉及到以下内容:
1. Sybase IQ产品概述
2. 架构和专业述语
3. 环境变量和安装
4. 怎样创建数据库
5. 设置服务器和数据选项
6. Sybase IQ索引和数据类型
7. 创建表和索引
8. Sybase IQ内存配置
9. 从文件中加载数据
10. 用INSERT语句加载数据
11. 使用Sybase IQ
12. 用户的管理和安全
13. 事务管理和锁
14. 监控和问题解决
15. 管理DBspace 和索引
16. 备份和恢复
17. Sybase IQ的多元架构
18. 创建一个多元架构的数据库
二、 以下为各部分的详细叙述:
(一) Sybase IQ产品概述
1、 Sybase IQ是一个强大的即席查询服务器。
2、 用Sybase IQ来分离决策支持系统(DSS,Decision Support System,READER)和在线事务处理系统(OLTP,OnLine Transaction Processing,WRITER)。
3、 Sybase IQ的特点有:
(1)、垂直数据存储和压缩
(2)、优化了所有数据类型的存取方法
(3)、基于位的存储技术
(4)、即席查询优化器
(5)、标准的对外接口
(6)Sybase Central 支持
4、 Sybase IQ不适合做:
(1)、在线事务处理引擎
用Adaptive Server Enterprise代替
(2)、需要实时更新的在线应用服务器
用Adaptive Server Enterprise或Adaptive Server Anywhere代替
5、 Sybase数据库的基本原理:
(1)、列方式的存储,可以减少IO
例如:SELECT COUNT(*) FORM customer WHERE gender = “m”
(2)、基于位的索引方式
分为高基数数据(唯一值数量大于1500个)和低基数数据(唯一值数量小于1500个)。
(二) 架构和专业述语
1、 Sybase IQ平台支持的操作系统版本可以查看Sybase的官方网站,注意:必须有相关的操作系统补丁。
2、 Sybase IQ Server是在主机上运行的一个进程。
3、 一个Sybase IQ Server只支持一个Sybase IQ数据库。可以在一个Sybase IQ Server上部署多个数据库,但不推荐。
4、 Sybase IQ数据库包括:
l 三种DBSPACEE:
(1)、Catalog Store(for metadata,扩展名为:.db)
一个IQ 数据库只能有一个Catalog store DBspace,而且只能创建在一个文件系统上,不能创建在裸设备上。
Catalog Store会随着元数据、表、视图、存储过程等对象的增加动态增长。
Catalog Store包含了管理一个IQ数据库的所有信息。
Catalog Store的逻辑名为SYSTEM。
一个数据库中所有表的信息都存储在Catalog Store的系统表中。例如系统表有:SYSIQCOLUMN、SYSIQFILE、 SYSIQINDEX、 SYSIQINFO、 SYSIQTABLE等。可以用语句:
Select * from SYSIQINFO 语句来查看相关信息。
(2)、IQ Store(for data,扩展名为:.iq)
IQ Store存储了压缩的数据信息,例如索引信息、事务日志、管理分配空间的结构等。
每一个数据库只有一个IQ Store。一个IQ Store通常情况下包括多个DBspace。
IQ Store的DBspace可以建立在裸设备或文件系统上。
IQ Store的逻辑名为:IQ_SYSTEM_MAIN
注意:IQ Store的文件系统的扩展名为.iq,裸设备没有扩展名。
(3)、IQ temporary Store(for temporary data,扩展名为:.iqtmp)
IQ temporary Store是数据库的工作区间。在装入数据时在其中进行排序数据,以建立索引。
一个数据库只有一个IQ temporary Store。一个IQ temporary Store可以包含多个物理文件。
IQ temporary Store可以是文件系统或裸设备。
IQ temporary Store的逻辑名为IQ_SYSTEM_TEMP
l 三种日志文件:
(1)、IQ Message log
IQ数据库的可读日志文件,包括:插入和删除信息、错误信息、状态信息、查询计划等。
IQ Message Log只能在文件系统中,扩展名为.iqmsg。
一个数据库只能有一个IQ Message。
(2)、Catalog Store Transaction Log
Catalog Store Transaction Log是Catalog Store的事务日志。
用来作为必需时的回滚和前滚。
文件的扩展名为:.log。
随时间,此文件会越来越大。
(3)、IQ server logs
记录每次服务器启动时的信息。每启动一次就会产生一个IQ server log。
通常在$ASDIR/Logfiles目录下。
ASIQ_startup_nt.log文件中记录了服务器启动的参数。
Server_name.00n.srvlog中的n是服务器启动的次数。
其他信息发送到控制窗口中。
5、 一个DBspace是一个数据库文件的逻辑名。
6、 DBspace可以是分配给Sybase IQ的一个文件系统或裸设备。
7、 一个Sybase IQ 数据库包括多个DBspace。
8、 IQ中的表是指定义在Catalog Store的逻辑表。IQ中有三种表:基本表、本地临时表、全局临时表。
9、 IQ表的每一列最少有一种索引。每当创建新表时,系统会自动为表创建默认索引。
10、 IQ中一共有9种索引。
(三) 环境变量和安装
1. 对硬盘的空间要求:
UNIX:不少于800M。
WINDOWS:不少于375M。
IQ STORE 约点总磁盘空间的70%。IQ temporary Store大小约为IQ Store的20%。
l 对内存的要求:
虚拟内存=物理内存+磁盘交换分区大小。
推荐生产环境最小内存不小于1G的物理内存。
如果虚拟内存过小,会导致服务器失败。
l CPU要求:
颗数越多越好,速度越快越好。
l 启动IQ Server:
使用命令:start_asiq [config file] dbname [switchs]
例如:start_asiq @saiqdemo.cfg asiqdemo.db
l 停止IQ server:
(1)、使用命令:
Dbstop –c “uid=DBA; pwd=SQL; eng=server_name; dbn=db_name”
(2)、使用存储过程:
Stop_asiq
l 当安装完Sybase IQ后会自动生成一个名为“Utility”的数据库,此数据库没有数据,也没有数据文件与之关联(仅为一个util_db.ini文件)。它主要用于以下目的:
(1)、当没有实际的数据库时,用于测试连接。
(2)、用来创建和恢复数据库。
(3)、千万不能删除之。
(4)、此数据库的用户名为:DBA,密码为:SQL。
l 有七种方法可以连接到Sybase IQ:
(1)、ODBC
(2)、JDBC
(3)、OLE_DB
(4)、Sybase Open Client
(5)、用DBISQL
(6)、用Sybase Central。
(7)、用DBISQLC