摘要: 9月买的葫芦晒干了。于是今天取出子,在网上搜了下种植方法。已经按方法操作。不知是否可以成活。呵呵,过几天就知道了。种植方法如下:
阅读全文
摘要: 在我的项目中两个系统需要切换,应用服务器是weblogic8.1,在同一台机器上建了两个域。当从一个域访问另一个域后,再点第一个域的链接就会跳出系统转入登录界面。经过反复测试如果将第二个域部署到另一台机器则不会发生该问题。于是,我觉得seesion肯定是在访问同一机器的第二个域时被复写了。
阅读全文
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
Sybase IQ for Data Warehouse 培训总结(二)
*作 者: xuwedo
(一) 怎样创建数据库
1、DBspace是分配到IQ数据库的驱动空间的逻辑名
2、一个新IQ数据库最多可以有2047个DBspace。
3、Sybase的各种类型DBspace的限制:
(1)、Catalog Store最大为1TB。
(2)、IQ Store 和IQ temp Store 在裸设备上没有大小限制,在文件系统中为4TB。
4、IQ Store 和IQ temp Store可以扩大或从数据库删除。
5、创建数据库:
CREATE DATABASE full_path db_name[[TRANSACTION] {LOG ON [log_file_name][MIRROR mirror_file_name]}]
IQ PATH iq_file_anem
[IQ SIZE iq_file_size]
[IQ RESERVE sizeMb]
TEMPORARY PATH temp_file_name
[TEMPORARY SIZE temp_db_szie]
[TEMPORARY RESERVE sizeMB]
[MESSAGE PATH message_file_name]
例子1:
CREATE DATABASE ‘d:\\mydb\\mydb.db’
IQ PATH ‘d:\\iqmain\\mydb01.iq’
IQ SIZE 200
TEMPORARY PATH ‘e:\\iqtem\\mydb01.iqtmp’
TEMPORARY SIZE 200
IP PAGE SIZE 65536
6、可以用Sybase Central创建数据库(在图形环境下)。
7、可以用sp_iqstatus来查看当前数据库的详细信息。
8、删除一个DBspace
(1)、一个IQ store如果存有数据的话,则不能被删除。(可以使用Utility数据库将一个DBspace的数据移动到另一个DBspace中去,再删除)。
(2)、一个IQ temporary Store仅在为空时才可以被删除。
9、删除一个数据库的语法:
DROP DATABASE db_filename
例子:DROP DATABASE ‘d:\\mydb\\mydb.db’
10、怎样才能看到所有的DBspace的物理文件名?
用以下命令:Select * from sysqifile
(二) 设置服务器和数据选项
1、 数据库的启动参数均可以写在“.cfg”文件中。
2、 启动服务器的语法:
start_asiq server-switchs database_file
其中:“server-switchs”可以为:
-c :缓存大小,默认windows为32M,Unix为48M。
-gp:Catalog store页大小。
-gm:服务器允许的连接数。
-n:IQ server的名字。如果有两个“-n”选项,则第一个是IQ server的名字,第二个“-n”为IQ 数据库的名字。
-gc:checkpoint时间间隔。默认为20,推荐为6000。
-gr:最大的恢复时间。默认为2。
-ti:客户端超时时间。默认为4400分钟。
-tl:默认网络超时时间。默认120秒。
-iqmc:主缓存大小,单位:M。
-iqtc:临时缓存大小,单位:M。
注:主缓存:临时缓存=2:3
在默认情况下,Sybase IQ server使用2338端口。
3、 使用SET OPTION命令更变数据库的配置:
(1)、语法:
SET [TEMPORARY] OPTION
[user_id. | PUBLIC.]option_name = [option_value]
其中的“option_name”可以是:
Force_No_Scroll_Cursors=‘on’(默认为“off”)禁止缓存用户的查询结果。
Query_Temp_Space_Limit=0(默认为2000M),设置临时缓存的最大值。0表示不限制。
Public.Query_Plan=‘off’(默认为“on”)禁止将用户的查询计划打印到IQ Message File中,因为查询计划可以会使之大小迅速增加。
例子:
SET OPTION public.Force_NO_Scroll_Cursors=’no’
4、 查看数据库的所有被改动过的(即非默认值)选项,用存储过程:sp_iqcheckoptions。
(三) Sybase IQ索引和数据类型
1、Sybase IQ的9种索引类型:
(1)、FP(Fast Projection)此索引为默认的索引形式,在创建表时系统自动设置此索引。
特点:用于SELECT、LIKE ‘%sys%’、SUM(A+B)、JOIN操作等语句。
此类型索引也是唯一可用于BIT数据类型的索引。
FP索引可以优化索引,将小于255的唯一值的索引压缩到1字节中,将小于65537的唯一值索引压缩到2字节中。
(2)、LF(Low Fast)基于平衡树的结构,存储唯一值小于1500个的索引,是最快的索引类型。可以用作唯一索引。
特点:用于=、 !=、IN、NOT IN查询参数。
MIN()、MAX()、COUNT()、Group By、JOIN等。
(3)、HNG(High Nongroup)基于位的优化索引,适合于数字索引。用于范围查找和求合计算。
特点:Rangs、Between、MIN()、MAX()、SUM()、AVG()等。
(4)、HG(High Group) 基于平衡树的结构,存储唯一值大于1500个的索引,是最快的索引类型。可以用作唯一索引。
特点:同LF索引的特点。
(5)、CMP(compare)仅用于比较一个表中的两个列的比较。
特点:<、 =、 >、 <= 、>=
(6)、WD(Word),仅用于索引数据类型为WORD的列。
特点:‘CONTAINS’、LIKE操作(但没有‘%’)。
例子:
Select count(*) from Customer where address contains(‘Main’)
(7)、DATE(date)仅用于日期类型的列。
(8)、DTTM(Datetime)仅用于日期时间类型的列。
(9)、TIME(Time)仅用于时间类型的列。
例子:
Select * from sales where DATAPART(YEAR,dales_dt) = 2007
Select * from sales where sales_dt>=‘2003-01-01 08:00:00’
(四) 创建表和索引
1、创建表:
例子1:
CREATE TABLE employee(
Emp_id int NOT NULL
,lname varchar(30) NULL
,fname varchar(30) NULL
,salary money NULL)
例子2:
CREATE TABLE stores(
Store_id char(4) NOT NULL
,store_name varchar(20) NOT NULL
,store_address varchar(40) NOT NULL
,UNIQUE(store_id))
例子3:
CREATE TABLE products(
Product_code char(5) NOT NULL
,product varchar(40) NOT NULL
,price money NULL
PRIMARY KEY (products_code))
例子4:
CREATE TABLE sales(
Sales_code char(10) PRIMARY KEY
,sales_date DATE NOT NULL
,product_code char(5) NOT NULL
,FOREIGN KEY fk1(product_code) REFERENCES product (product_code))
例子5:
SELECT * INTO co_residential_customer from customer where 1=2
2、用Sybase Central 可以在图形界面下创建表。
3、删除表:DROP TABLE tablename
4、删除表中的所有内容:TRUNCATE TABLE [owner.]table_name
5、创建视图,语法:
CREATE VIEW [owner.]view_name[(column-name[,…])]
AS select-without-order-by
[WITH CHECK OPTION]
例子1:
CREATE VIEW sd_customer AS SELECT * FROM customer
WHERE sheng = ‘SD’
例子2:
CREATE VIEW emp_dept
AS SELECT emp_home,emp_fname,dept_name
From Employee,Department
WHERE Employee.dept_id = Department.dept_id
5、用Sybase Central 可以在图形界面下创建视图。
6、创建索引:
CREATE [UNIQUE] [index-type] INDEX
Index_name ON
[owner.]table_name (column_name[,…])
[{IN | ON} DBSpace_name]
[NOTIFY integer]
[DELIMITED BY ‘separators-string’]
[LIMIT maxwordsize-integer]
例子1:
CREATE HG INDEX
Cust_customer_id ON
Cutomer(customer_id)
例子2:
CREATE CMP INDEX price_compare
ON orders(purchase_price,list_cost)
7、删除索引:
DROP INDEX [[owner.]tablename.]index_name
例子:
DROP INDEX cust_customer_id
(五) Sybase IQ内存配置
1、 IQ从单一的一个内存池中分配内存。
2、 从操作系统层面来看,IQ Server的内存是由堆组成。
3、 Buffer:内存中的一块区域,它存储了写入数据库或从数据库中读取的未解压的数据。
4、 IQ Page Size:IQ Server中每一个内存页的大小。
5、 IQ Page Size/16=BLOCK SIZE
6、 在启动服务器时,可以用参数-c来指定服务器缓存的初始大小。在所有平台中,这个值最大为256M。
7、 IQ Buffer有两种类型:
(1)、主Buffer缓存:IQ Store的Buffer。(占总大小的40%)
(2)、临时Buffer:IQ temporary Buffer。(占总大小的60%)
8、 在Sybase IQ server中一个活动的用户大约占用10M内存,一个非活动用户大约占5M内存。
作 者: xuwedo
(一) 从文件中加载数据
1、有三种方法向IQ table中加入数据:
(1)、用LOAD TABLE命令,从命名管道或文件中将数据导入表中。(速度是最快的)
(2)、用INSERT FROM SELECT 命令,将其他表中的数据加入当前表中。
(3)、用INSERT VALUES命令,“手动”地向表中加入数据。
2、关于数据加载和锁:
(1)、当一个用户正在装载、插入或修改一个表中的数据时,其他用户可以对该表进行查询操作。(原理是:版本控制)
(2)、多个用户可以并发地执行DML语句,但必须针对不同的表。
(3)、如果多个用户试图修改同一个表,则第一个用户获得DML锁。
3、从文件中装入数据的例子:
LOAD TABLE customer(customer_id ‘|’
,cust_type ‘|’
,organization ‘|’
,contact_name ‘|’
,contact_phone ‘|’
,address ‘|’
,city ‘|’
,country ‘\x0a’)
FROM ‘/work/data/cutomer1.dat’
ESCAPES OFF
QUOTES OFF;
4、删除表中的数据有三种方法:
(1)、用DELETE 命令:
DELETE FROM customer
WHERE customer_id IN( SELECT cutomer_id FROM customer
WHERE postno = ‘250001’)
(2)、用DROP TABLE命令
(3)、用TRUNCATE TABLE命令
5、删除后再增加数据有两种方式:
(1)、插入到删除后留下的空隙中。
(2)、追加到现有表的最后一行后面。(速度再快一些,但要更大的存储空间)
由APPEND_LOAD=‘ON’来控制。
6、UPDATE 命令:
UPDATE employee
SET dept_id = 400
WHERE emp_id = 111
(二) 用INSERT语句加载数据
例1:
INSERT INTO dept_head(name,dept)
NOTIFY 20
SELECT emp_fname ||‘ ’||emp_lname AS name
,dept_name
FROM employee JOIN department
ON emp_id = dept_head_id;
commit
例2:
INSERT INTO lineitem(shipdate,orderkey)
LOCATION‘servername.dbname’
PACKETSIZE 512
{SELECT l_shipdate,l_orderkey FROM lineitem};
commit
(三) 使用Sybase IQ
因为本章节均为图形化操作,比较简单。略
(四) 用户的管理和安全
1. 系统预置的两个组:SYS和PUBLIC组。
想知道系统中共有多少组,用以下命令:
SELECT * FROM Sys.sysgroups
2. 系统管理员的用户名:DBA,默认密码为:SQL
3. 向系统中加入用户有三种方法:
(1)、“GRANT CONNECT”命令,
GRANT CONNECT TO userid [,…]
INDENTIFIED BY password [,…]
注:更改用户的密码也是上面的命令,这可能导致管理员无意识地改变现有用户的密码,而其目的是增加用户。此操作没有警告提示。
(2)、Sybase Central 向导,图形化操作。
(3)、sp_iqaddlogin存储过程,
4. 与系统中用户管理有关的两个系统表:
IQ_User_Login_Info_Table和IQ_System_Login_Info_Table
如果想查看该系统表中的内容,则可以用以下语句:
SELECT * FROM IQ_User_Login_Info_Table
5. 与管理用户有关的几个存储过程:
sp_iqmodifyadmin
sp_iqaddlogin
sp_iqprocess_login
sp_iqdroplogin
sp_iqlistexpiredpasswords
sp_iqlistlockedusers
sp_iqlistpasswordexpirations
sp_iqlocklogin
sp_iqmodifylogin
sp_iqpassword
(五) 事务管理和锁
1、与事务有关的几个命令:
(1)、开始一个事务:
BEGIN TRANSACTION [transaction_name]
(2)、提交一个事务:
COMMIT [work]
(3)、回滚一个事务:
ROLLBACK [work]
(4)、在当前事务中建立一个保存点:
SAVEPOINT [savepoint_name]
(5)、回滚到一个保存点:
ROLLBACK TO SAVEPOINT [savepoint_name]
(6)、将改变保存到磁盘上:
CHECKPOINT
(7)、执行完一条语句后,自动提交:
WITH CHECKPOINT ON
(六) 监控和问题解决
1、 可以在Sybase Central中监控用户
2、 存储过程:sp_iqconnection可以显示用户连接的信息。包括connection_handle,User_ID,最后的请求的时间,最后IQ命令时间等。
3、 用drop connection connection_handle可以让服务器主动断开与某用户连接。
4、 用sp_iqcontext来显示服务器上执行SQL语句的情况,包括哪个用户正在执行哪条SQL语句,是否提交等信息。
5、 将服务器执行SQL情况写入日志:
方法1:
-zr SQL ;表明要收集SQL语句信息
-zo c:\\sqllog.txt ;重定向请求级别信息到文件中
方法2:
call sa_server_option (‘request_level_logging’ , ‘SQL’);
call sa_server_option(
‘ request_level_log_file ’,’sqllog.txt’);
关闭将SQL信息写入日志文件中:
call sa_server_option (‘request_level_logging’ , ‘’);
call sa_server_option(
‘ request_level_log_file ’,NONE);
6、 用sp_iqtransaction查看系统中事务的相关信息。
7、 错误处理:
(1)、UNIX 下有一脚本:getiqinfo.sh
(2)、Windows下为getiqinfo.bat
来得到服务器的相关信息,然后将生成的报告发送给Sybase即可。
(七) 管理DBspace 和索引
1、 改变DBSPACE的模式或改变DBSPACE的大小:
ALTER DBSPACE
2、 卸载一个空的DBSPACE:
DROP DBSPACE
3、 报告DBSPACE的一般信息和模式:
Sp_iqdbspace
4、 报告DBSPACE中的OBJECTS和它们的大小信息。
Sp_dbspaceinfo
5、 将一个DBSPACE中的OBJECTS移动到另一个DBSPACE中:
Sp_iqrelocate
6、 Sp_iqrebuildindex存储过程重新建立某列的索引。
7、 管理DBspace 和索引的操作均可以在Sybase Central中操作,比较简单。
(八) 备份和恢复
1、Sybase IQ server有三种备份类型:
(1)、完全备份
(2)、增量备份
(3)、完全备份的基础上增量备份
注:增量备份和完全备份的基础上增量备份都会对Catalog Store 进行完全备份。
默认情况下为完全备份。
2、Sybase IQ server的顺序:
(1)、Catalog Store
(2)、Transaction log File
(3)、IQ Store
3、当IQ server正在备份时:
(1)、默认情况下操作员必须在现场,挂持接备份介质。
(2)、操作员可以不在场,但必须正确地估算出备份的数据量大小,并且在安装备份设备时,要选“高级”安装方可。
4、备份命令:
BACKUP DATABASE [CRC ON|OFF]
[Attended ON|OFF]
[BLOCK FACTOR integer]
[{FULL|INCREMENTAL|INCREMENTAL SINCE FULL}]
TO ‘archive_device’ [SIZE # of KB integer]
例子:
BACKUP DATABASE TO ‘dev/rmt/0n’
注:BACKUP不支持裸设备
5、系统级别的备份:
如果IQ server运行时进行系统级别的备份,则会导致服务崩溃或丢失数据。所以,必须确定IQ server是停止状态时,方可进行系统级别备份。
6、备份的恢复:
(1)、必须连接到utility_db数据库后才可以进行恢复操作,并且在恢复数据时不能有用户连接到数据库。
(2)、如果有完全恢复,Catalog Store 和Transaction Log(即.db 和.log文件)必须从目标文件夹下删除。
(3)、如果为增量恢复,Catalog Store 和Transaction Log(即.db 和.log文件)必须存在于目标文件夹中。
7、恢复的命令:
RESTORE DATABASE ‘c:\\newdir\\mydb.db’
FROM ‘c:\\asiq\\backup1’
FROM ‘c:\\asiq\\backup2’
在进行恢复时,必须注意恢复的顺序和备份时的顺序完全一致。
8、数据库备份后,配置文件和日志文件是没有被备份的,所以如果恢复时要单独对这两种文件进行恢复。配置文件可以直接拷贝即可,但日志文件是不能用原来的.log文件的。
如果恢复到原来的目录中,则不用新建.log文件。如果没有恢复到原目录,则必须用dblog工具手动生成.log文件。
9、dblog工具的命令语法:
Dblog [option] database_file
Option:
-t log-name,指定事务log文件名。
-m mirror-name,设置事务日志镜象名。
-r,停止事务日志的镜象。
-o,输出日志信息到文件。
-q,安静模式,不打印信息。
例:dblog –t demolog.log asiqdemo
(九) Sybase IQ的多元架构
(十) 创建一个多元架构的数据库
在Sybase Central中完成。略。
1.1.
内存使用对SybaseIQ而言,内存越多越好,一般要求每个服务器的CPU配置内存2GB,数据装载需要动态使用额外的内存,计算使用缓存caches;降低IO的方法是使用大buffer caches;使用超出内存会导致频繁swapping;IQ从操作系统申请内存,从操作系统级别看SybaseIQ的内存为堆内存,所有的内存分配自动进行。IQ使用内存进行以下活动:
l
从磁盘读取数据并执行查询;
l
从系统平面文件加载时缓冲磁盘数据;
l
缓冲元数据文件 (Catalog)
l
管理连接,事务,缓冲区和数据库对象。
一个安装SybaseIQ的数据库服务器的典型内存分布如图所示:包括操作系统其他应用程序内存,服务器内存,额外内存,IQ存储缓存,临时存储缓存。
1.1.1.
服务器内存SybaseIQ服务器进程使用的内存,不同的操作系统平台其使用量存在差异,一般需要30MB。
1.1.2.
额外内存元数据缓存
由数据库启动选项 –c, -cl, 和 –ch参数控制使用RAM数量,专门用来作元数据库读写缓存,当数据库对象较多时,建议调大此数据。
线程内存
线程内存在数据库启动时分配给数据库服务器,用于线程的堆栈空间,总的空间数值按照公式“stack size * IQ 线程数量”计算,数据库启动参数–iqtss确定数据库的stack size大小单位KB。启动参数-iqmt指定IQ可以使用的线程数量,最小值是2*num_conn+1,缺省值是:
60*numCPU+2*num_conn+1
“活动”用户内存
每个Sybase IQ 用户对应一个连接进程,此进程大概需要 10MB空间;活动用户是指到数据库的一个连接或执行的查询命令,连接到数据库而不活动的用户需要更少的内存。
表版本内存
表版本内存在SybaseIQ运行时分配,通常这类内存非常小(每个被跟踪的表版本1KB到3KB),通常为KB到MB,但是当系统中存在成千上万的表版本时,占用空间会比较大。
数据加载内存
SybaseIQ在进行数据加载时,分配内存提供数据加载性能,通过数据库选项LOAD_MEMORY_MB设定,缺省情况为0,表示堆内存的分配不受限制,如果数据加载时需要更多内存,可能导致数据加载耗尽虚拟内存,降低数据加载性能,一般建议设定此选项,其配置值可根据加载数据的表宽进行如下计算:
Load_Memory_MB = <表宽字节数> * 10,000 * 45 / 1024 / 1024
以下语句将数据加载内存设置成300MB:
SET OPTION PUBLIC.LOAD_MEMORY_MB = 300
数据库备份内存
数据库备份内存的大小与CPU个数、备份的IQ存储和本地存储的数据库空间个数,BLOCK的交错因子,IQ的BLOCK大小有关系。可以通过如下公式粗略估计:
y = max( 2 * cpu个数, 8 * number_of_main_or_local_dbspaces)
z = (y * 20 ) * ( block factor * block_size )
Z表示的是备份时需要的内存的虚拟估计值,假设如下情况:
dbspaces = 50
block factor = 100
number of cpus = 4
block_size = 8,192
采用上面的公式和算法,数据库备份时需要的内存总数是:
'y' is max(8, 400) è y=400
'z' is ( 400 * 20 ) * ( 100 * 8,192 ) è 6.5GB
备份内存来自操作系统,属于堆内存,当备份操作完成后,内存释放。当空间充足时,唯一可以控制备份内存使用的是块的交错因子,在前面的例子中,如果交错因子变成10, 总的备份内存需求将降低到655MB:
( 400 * 20 ) * ( 10 * 8,192 ) è 655MB
在磁盘I/O不是瓶颈的情况下,在数据库备份时降低内存将减慢备份数度。数据库备份性能与磁盘子系统I/O的读写块性能一致,为减少I/O的额外开销,备份程序一次I/O中读入连续的块,相应地按照“块交错因子”写这些块数据。
通过“块交错因子”可以减少备份内存,增加可用的内存,以此计算数据库备份时需要的总内存量。
1.1.3.
数据库缓存数据库缓存是操作系统内存中分配用来保存从数据库中读出或者准备写入数据库的数据。SybaseIQ数据库缓存包括主存储缓存和临时存储缓存。参数设置可以通过数据库选项或者数据库启动配置文件。
主存储缓存
用于缓存数据库服务器从IQ存储中读取的数据,供 IQ 数据表空间的数据缓存使用,所有用户均可使用。较大的缓存可以降低磁盘的IO以提升性能,主存储缓存在数据库启动时初始化,缺省配置是16MB,对于大多数应用来说太小,修改此参数配置需要重新启动数据库。一般将IQ服务器可以使用的内存的40%分配给SybaseIQ主存储缓存。
临时存储缓存
SybaseIQ临时存储缓存用于数据查询时的表关联,分组,排序和哈系算法。数据加载时,也需要较多的临时存储缓存,例如HG索引的管理、FP索引加载时的1个字节和2个字节的字典表等。较大的临时存储缓存可以减少内存调度。
主存储缓存在数据库启动时初始化,缺省配置是12MB,对于大多数应用来说太小,修改此参数配置需要重新启动数据库。一般将IQ服务器可以使用的内存的60%分配给SybaseIQ的临时存储缓存。
Sybase IQ 12.6 的redhat AS4安装
由于我的iq126解压出来是一个个tgz文件,执行sybinstall.sh安装后会报告复制文件失败。打开sybinstall.sh文件来看看,应该是解压缩文件这个环节出错了,那就先把文件解压出来看看再试一下:
gzip -d *.tgz
sybinstall
好了,一路畅通。
启动测试数据看看有没有什么问题.
start_asiq @asiqdemo.cfg asiqdemo.db
..
启动正常,
stop_asiq
...没有发现server,
再打开stop_asiq看看:
哦原来也是用"ps -ef|.....",有点土吧,居然没找到server,肯定是这个脚本又有错误。修改一下,呵呵,搞定.
"case "$OS_TYPE" in
Linux) if ps -m >/dev/null 2>&1
then MY_PS="ps -efwm |awk -f $AWK_CMD ps_type=long"
else MY_PS="ps -efw |awk -f $AWK_CMD ps_type=long"
fi
;;"
把第一个ps_type=long改为ps_type=short
[注]我的os为RHEL 4 patch 2
数巨报表和其它国产报表一样,有一定的客户群和口碑,基本上自主研发了两年以上,价格基本在万元左右。数巨报表和如意报表类似,都是用于拖拽式,有一定的技术代表性。数巨报表产品主要定位于中低端市场,以易用性、满足中国用户需求、价格低为目标,逐渐建立中低端市场客户满意度,毕竟这部分客户还是担心项目的风险性。
Microstrategy是国外品牌,在全球BI软件市场占用很大的份额,通过BI软件产品向中国高端市场进军。他们往往能与最终用户直接签单,能给系统集成商和软件开发商带来丰厚的利润。Microstrategy报表软件的确功能强大,提供了很多二次开发接口,能给用户解决很多实际问题,但是价格昂贵不是一般客户可以接受的。
这是本人的一点认识,不正确的地方希望得到大家的指出。
本人不是MicroStrategy的代理或原厂,仅代表个人观点。
这两个产品在我看来,不在一个层次上,应用的范围和覆盖面也不相同,是国产软件比拼国外软件。
1.价格方面:正如楼上说数巨报表价格在万元左右,而MSTR一个普通配置均在20万以上,从目前局势,MSTR厂家还一直在涨价过程中。
2.服务方面:外商只要收到钱,服务还是满周到的,包括升级、技术支持,但千万不要指望他们帮你开发什么东西(除非付钱或厂家有其他战略企图);国产软件,由于开发时间短,资金投入不足,所以BUG会多一些,厂家靠自己的工程师来维护有些项目。
3.技术方面:虽然老外挣钱比较黑,但东西还是好东西,特别是MSTR,本身就定位于高端产品,在国内银行、电信、石油等大型企业的TB级数据仓库中,经常被采纳和使用。相反对于应用可有可无的政府、街道,用用国产软件还可以拼凑着玩玩,因为这些地方有工具无工具不会对生产造成影响。
技术比拼应该以下几个方面进行
一、伸缩性
MicroStrategy的第三代ROLAP架构,在容量上很容易能达到TB级或一个数据库平台能存储的数据量,这是通过以下方式实现的:反复地在优化的基于server的平台、数据库和MicroStrategy’s Intelligence Server中执行分析。根据定义,假定BI平台能够像MicroStrategy 那样产生高度优化的基于平台的SQL,数据库技术不断扩展并且将是一个理想的场所来完成大容量数据处理。MicroStrategy中的 Intelligence Server能进行多维分析,比如能利用各种各样的OLAP函数,执行那些不能被数据库高效率处理的cube-like slice and dice fully offloading analysis。
MicroStrategy 中的Intelligence Server是一个基于组件的应用服务器,提供了高度伸缩性环境所具备的必要控制和应用系统管理,如下所述:
• 在理想平台上完成多维分析处理(通过Intelligence Server或数据库中的200多个分析库)
• 真正共享的多级别的缓存完全与Intelligence Server中的安全模式进行了集成
• 通过连接池、粒状数据和应用控制来智能地管理所有的用户对数据库的连接
• 通过排队等候和线程管理,对所有请求动态分配优先权
• 系统用法和性能调整工具
• 群集管理和负载均衡
• 通过动态资源分配进行自我调整的结构使组件满负荷工作
MicroStrategy是第一个认可主动信息传递需要的BI厂商。以1998年的Broadcaster产品为开端,还有近期新近命名的Narrowcast Server,MicroStrategy使得通过各种媒体如:email、传真、呼机、手机,主动传递高度个性化的相关信息成为可能。该功能是out of the box并且不需要任何定制代码。用户定制他们想收到的信息、条件,例如数据中的异常或者是基于事件的标准和设备类型。
结构被设计成从MicroStrategy Intelligence Server和外部信息源中接受个性化的内容。从多种来源中获得的信息可能会出现在MicroStrategy Narrowcast Server的输出结果当中。数据源的例子包括从ERP系统中获得的XML内容、从内容供给者和入口处获得的ICE内容,或者其它的非关系型的内容如:平面文件、图片等等。基于XML的结构确保了完善的内容控制和对任何当前或将来存在的设备的适应性。Out of the box,MicroStrategy Narrowcast Server使你能够以HTML、普通文本、或Excel的形式给任何一个SMTP网关传送商业智能报告。
二、安全性
MicroStrategy满足以下需求:MicroStrategy 9安全模式包含必要的广度和深度,通过internet允许BI应用系统对员工、合作伙伴、供应商和顾客进行安全部署。MicroStrategy产品是通过以下方式实现其安全性的:应用功能级别的特权的使用、报表对象级别上的访问控制列表、安全过滤器、连接映射和在数据级别上对数据库视图的支持。另外,用户级别的安全是通过MicroStrategy与NT、WIN2003、LDAP的集成实现的,传输级别的安全是通过128位的SSL传输、128位数据加密或在web服务器上无数据库连接的双防火墙配置来实现的。
MicroStrategy 基于配置文档的安全性能确保了平台和传输体系中的每一部分都是安全的,都被严格管理。另外,MicroStrategy对工业标准的安全尺度的实现确保了MicroStrategy的安全模型能与当前存在的任一安全方式进行集成。
三、部署能力(包括维护能力)
MicroStrategy提供了desktop方式和web方式的集成的全功能性的BI,完整的BI功能包括静态报表制作,报表分发,查询和报表制作,OLAP分析,集分析并且从一个集成的接口利用数据挖掘。
允许用户从一个单独的接口,通过MicroStrategy Architect, MicroStrategy Agent 和 MicroStrategy 服务器管理之间紧密的集成来进行设计、创建、维护、运行和监视分析。
四、分析能力
由于MicroStrategy具有能够以优化的方式存取TB级数据的能力,用户有权在他们的安全角色确定的适当的控制范围内使用整个数据仓库。虽然许多查询工具能够检索少量的slice级别的数据,仅有MicroStrategy能够对可用的信息进行足够深度和宽度的优化存取。
五、易用
MicroStrategy Web中的纯HTML解决方案,使得能通过任何浏览器、在任何操作系统上、穿过任何防火墙被迅速存取。MicroStrategy Web提供了像完全互动地钻取引导、递增的获取、导航、转出到Excel、ad hoc报表创建、排序/分等级、表格和图形方式、任意旋转、报表提示等功能。
MicroStrategy Web中的Page-By提供了一个类似slice and dice 功能的cube。另外,MicroStrategy的互动处理是完全透明的。
六、性能
MicroStrategy 以cube响应时间的方式提供了具有ROLAP结构的数据伸缩性。这是MicroStrategy 通过动态地在所有级别上优化性能、阻止瓶颈在BI环境中发生来实现的,如下所述:
数据库处理
MicroStrategy利用数据库平台内在的优化,通过高度优化的、能对产生的SQL类型和优化提供粒状控制的数据库版本明确的VLDB驱动程序,进行大数据量处理和进一步提高整个数据库处理的效率。
MicroStrategy自动的aggregate table generation and advanced aggregate awareness意味着任何要添加进数据库的聚合表被MicroStrategy SQL引擎自动地动态利用。其它的数据库构造自动地利用包括本地数据库函数,性能调节算法和对像,MicroStrategy中的VLDB驱动程序包含大约60个
应用处理层
虽然MicroStrategy 中的Intelligence Server提供了大量的performance tuning aspects,然而它的主要目的是作为神经中枢对所有处理资源进行有效的协调-确保组件被正确利用,在优化的平台进行的处理包括:
• 在内存中有多级缓存,自动提示
• 依靠请求类型和可用资源,在数据库或应用服务器上反复处理
• 通过动态给超载组件分配资源的自我调整的结构
• 聚类和动态的负载均衡
• 异步的处理能力保证能够在同一时间处理多个web客户端请求
数据传输
MicroStrategy的ROLAP方式保证了在网络上只传输结果集。MicroStrategy把XML作为信息传递的机制保证了只向web浏览器发送高效结果集。递增的Fetch确保了请求结果行的数量在被需要的时候,从MicroStrategy Intelligence Server发送到web浏览器。
展示/本地desktop
大多报表格式和数据操纵在瘦客户端完成。类似于cube的数据操纵如Page By等和其它的数据操纵如数据排序是在本地完成的。
The MicroStrategy Narrowcast Server subscription portal也在关系结构中缓存HTML内容,这主要是为了允许narrowcast server subscription portal用户通过portal来浏览个性化的静态服务。
Max@X Analyser 5是新一代的报表与数据分析技术产品。针对复杂应用环境下的数据Web报表展现与联机数据分析(OLAP)而设计,重点在部署与集成、复杂表样支持、特殊需求适应、数据填报、OLAP 快速实施及可用性、服务器性能等方面进行了创造性的优化。
Max@X Analyser由四部分组成:Web报表(Reports)、联机数据分析(OLAP)、服务器引擎(Server Engine)、决策门户(Analyser Portal)。
可满足任何复杂样式需求的WEB报表设计模型(Reports)
报表是数据分析的最基础形式,也是应用最为广泛的数据表现形式。Max@X Analyser包含了一套功能强大且简单易用的专业Web报表工具。除了解决传统工具已经涵盖的B/S架构报表制作、预览、打印及导出文件等方面外,Max@X Analyser更进一步,在复杂报表的设计处理、特殊样式的扩展适应、海量数据的快速响应等方面,提供了更为优越的性能表现。
可直连多数据库的联机数据分析模型(OLAP)
联机分析处理OLAP是Max@X Analyser的重要核心之一,支持动态分析操作,侧重决策支持,并提供直观易懂的查询结果。Max@X Analyser无需数据仓库建设,也无需任何第三方OLAP Server支持,用户仅仅需要懂得数据库管理知识,就可以快速建立OLAP系统,设计并部署OLAP分析模型。Max@X Analyser联机分析功能不仅能进行数据汇总/聚集,建立多维度的分析、查询和报表,同时还提供切片、切块、下钻、上卷和旋转等数据分析功能,从而使用户从更快、更易使用的交互方式中获得收益。
可集成、可独立部署的服务器引擎(Server Engine)
服务器引擎是Max@X Analyser专门提供给集成用户的服务器核心。服务器引擎的表现形式在Java下是一系列JAR文件,在VS.NET下是一个Web组件。无论是JAVA还是VS.NET版本,服务器引擎均可作为应用程序的一个组成部分与应用程序进行集成,并接受应用程序的授权等控制,与应用程序共享数据库连接池。
100%免代码的快速部署发布应用门户服务器(Analyser Portal Server)
如果说我们可以把企业看做一架飞机的话,那么决策门户服务器(Analyser Portal Server)就是这架飞机的仪表及控制平台。Analyser Portal Server无需任何代码,根据人机交互的部署配置,自动创建应用页面及控制平台,包含了信息发布、信息共享、快速决策、任务定制以及授权控制等功能前端应用,与所有Max@X Analyser产品组件紧密关联。同时,它是一个基于Web的应用平台。通过这个平台,终端用户可以方便地完成数据分析、信息发布以及信息协同等任务。
我感觉大家对于两种产品的讨论已经很充分了,也详细的讨论了两种产品的功能和优缺点。
的确,两种产品的定位不同,针对的客户群也不一样,也没有必要非要评出个孰优孰劣,应该说是各有千秋。
在技术方面:
MSTR作为BI软件的领导厂商之一,通过一组软件产品满足BI领域的五大应用,分别是:
企业级报表——报表生成器用来生成很好的格式化的静态报表,这些报表广泛的向多数人发布。
立方体分析——基于立方体的BI工具向业务经理们提供简单的切片和钻取分析能力。
任意查询和分析——关系型OLAP(ROLAP)工具供超级用户对数据库进行任意的访问,对整个数据库进行切片、钻取,从而分析到最细粒度的交易信息。
统计分析和数据挖掘——通过统计分析和数据挖掘工具,可以使用各类模型进行预测或者寻找两个变量之间的因果相关性。
报表分发和预警——基于报表分发机制,可以根据订阅、调度或者数据库中的触发事件向大量的用户群发送整个报表或者告警信息。
从软件伸缩性来讲,它支持TB级的数据和百万级的用户;
在商务智能平台方面:它支持快速的集成,丰富的业务分析手段和主动分发;
在适应互联网方面:它以纯Web界面、快速部署与简单维护、全面的安全、高可靠和高性能著称。
同样,数巨作为后起之秀,以其优惠的价格,支持复杂报表的能力而获得用户的青睐,正如maxatx仁兄所介绍的一样,作为国产软件,它非常注重国人的特殊需求,比如国内常见的异常负责的报表表头,国外通常是很少见的,而且国内企业在BI方面的应用往往是刚刚起步,对于分析的需求多数还停留在报表方面,在这种情况下选择数巨是就成为了一个性价比很高的选择。
在价格方面,根据需求的不同采购的模块不同价格差异较大,但从满足基本的报表功能方面来比较,MSTR的价格通常在几十万这个量级,而数巨通常在几万到十几万这个区间,如果单从价格方面来说,数巨当然是占有较大优势了。
在服务方面,作为国外软件,通常认为其服务难以跟上,但MSTR已经进入国内市场多年,拥有一支完备的代理商和技术服务队伍,因此从服务方面来讲还是有保障的,不过其服务价格也不菲。而数巨作为国产软件,当然发挥其本土优势,服务方面应该是没的说的。
总之,两种软件对应的是不同的客户群,对于电信、银行等大数据量,大访问量,有复杂分析需求且资金充裕的行业,可以选择MSTR来满足其特殊应用。而对于广大中小企业,并没有太多的数据量和访问量,分析需求又相对简单以报表为主,且对价格比较敏感的话,那么数巨就成为了最好的选择。
软件评分:
MSTR:技术:65;价格:5;服务:20;总分90分。
数巨:技术:55;价格:10;服务25;总分90分。
Microsoft SQL Server 2000报表服务是服务器端的完整平台,它对传统纸面报表以及可交互的基于Web的报表都可以进行建立、管理和发布。它是微软已有的商业智能与数据仓库解决方案产品——Microsoft Office、Microsoft Business Solutions与Microsoft SQL Server的有益补充。
Microsoft Office Web Component(OWC)包含在Microsoft Office 2000以后的产品中。在使用Microsoft Internet Explorer浏览包含Office Web组件的Web页时,您可以直接在Internet Explorer中处理显示的数据,如对数据进行排序和筛选,输入新的数值,展开和折叠明细数据,进行行列旋转以查看源数据的不同汇总信息等。由于Office Web组件是完全可编程的,可以在很多设计环境中使用这些组件来建立复杂的、交互的和基于Web的解决方案。这些设计环境包括Microsoft FrontPage、Microsoft Access数据访问页以及Microsoft Visual Basic。您也可以使用最小的设计设置直接在Microsoft Excel中发布这些Office Web组件。
笔者根据所参与的项目及以前的应用经验,对Microsoft SQL Server Reporting Services、OWC和Microsoft SQL Server组成的微软企业级报表解决方案与相关产品的解决方案作了一个简单比较。
与Cognos公司产品的比较
Cognos的产品简介
Cognos公司的产品Cognos Suite是由一系列的功能模块组合而成的套件,包括ImpromptU、Powerplay和Scenario等模块。
Impromptu提供查询、报表功能,针对关系型数据。可以将Powerplay的数据形成报表,这是Cognos公司的集成。Impromptu Web Reports(WR)在Web上为大量报表用户提供易于打印的管理报表。用户可以订阅已发布报表,对其进行定制来满足特定的需要。
Powerplay提供OLAP分析功能,针对多维数据PowerCube(Cognos定义的多维数据结构)。在Powerplay中可以钻取到Impromptu中。这是Cognos公司的集成。
Transformer将Impromptu及其他数据源中的数据形成PowerCube,以备Powerplay使用。Scenari是数据挖掘工具。4Thought是采用神经网络技术的建模与预测模块。
Cognos报表解决方案与Reporting Services的不同点Cognos的解决方案不是集成的产品(将查询、报表作一个工具,分析作一个工具,Cognos的理由是先分析再做表);没有类似于Designer的专门设计模块,在Impromptu模块中完成数据库的连接与catalog的定义,因此Impromptu的使用要求用户具备数据库专业知识;没有对报表的集中管理、分发和调配的功能。目前引进中国的只有Impromptu、Powerplay。
Reporting Services的特点
1)Reporting Services是集查询、报表和分析于一体的产品,只需学习一个工具的使用、在一个界面上操作,易用性强。符合查询、分析、再查询、再分析循环往复的决策思维方式; Impromptu和Powerplay所使用的数据层不同,不能共用,Powerplay使用的多维数据由其它模块生成,是静态的多维立方体,维的改变需切换到其它模块。
2)Reporting Services的几大模块在SQL Server数据库引擎的管理下形成一个统一完整的系统,具有统一的用户与资源管理,安全性高。
3)文档共享方面,Reporting Services提供输出多种格式或Email等多种方式。
4)Reporting Services是32位结构,Impromptu是16位结构。数据量大时,使用Impromptu不稳定,会出现死机等。
与SAS的比较
SAS简介
SAS以统计分析软件包起家,在统计分析方面具备很强实力。发展到现在,SAS成为一个包含许多模块与功能的庞大的软件包,有两种使用方式:一是直接使用一些应用模块对存于SAS自己数据库中的数据进行多种多样的统计分析,这些应用模块包括统计分析STAT、财务分析ETS、运筹学OR等等。利用这些模块要求用户具备较高的数学尤其是统计分析专业知识,同时要具备较高的计算机操作能力。而且如果数据存在其它数据源中,需要利用SAS进行预先转换,这需要用户具备数据库专业知识。二是用户单位的计算机人员利用SAS的若干模块编程,为最终用户提供特定的应用系统。这样做的优点是可以为最终用户提供所要求的简便界面,但对技术人员的要求很高,培训时间也很长;而且灵活性差:一旦用户需求有改变,需要重新编程。SAS对数据的处理能力很强,但需要用户长时间的培训才能应用起来。
SAS与微软的企业级报表解决方案的比较
SAS与微软的企业级报表解决方案不是同类产品。
1)易用性相差很大,从而面向的用户对象不同
SAS功能很多,提供算法很多,因此易用性差,要求用户具备很扎实的数学基础、统计分析基础和计算机基础。
2)若利用SAS开发一套系统,优势是贴切需求,但对应用需求的提出、开发、实施和相关厂商的技术支持要求很高,并且开发系统的开放性、稳定性、可移植性、灵活性上比商业软件要差,尤其国内现阶段的开发手段相对比较落后。
与Pilot产品的比较
Pilot公司的产品包含服务器端和客户端,其服务器端的产品是多维数据库。客户端产品功能与Microsoft SQL Server Reporting Services相似,有如下不同之处:
l)Microsoft SQL Server Reporting Services不但支持关系型数据,而且支持来自第三方的多维数据。而Pilot的客户端产品只支持自己格式的多维数据。因此关系型数据用户必须先将数据导入Pilot的多维数据库中。用户工作量很大,相当于重新建立多维数据库,这样不如选择其它产品构建数据仓库,以Reporting Services做前端展现。
2)Pilot的多维数据的维的改动很难,不灵活。
3)Pilot客户端产品的易用性差,需要编程,工作量大,后期维护难。
与Oracle公司产品的比较
Oracle公司的Discoverer与Reporting Services功能近似,但两者也有一些区别。
Reporting Services支持的数据源更为广泛,可以是数据仓库,也可以是大型关系数据库如 Sybase、Oracle、Informix、SQL Server、DB2,单机数据库如Access、Foxpro、dBase等,多维数据库如Essbase、Express,常用应用软件如SAP R/3、Peoplesoft或Oracle的一些常用应用软件包,数据文件如Excel、TXT文件等,只要有相应的驱动即可。
Discoverer 3是针对关系数据库的,不适用于数据仓库和多维数据库,即使对Oracle自己的多维数据库Express也不支持。
Reporting Services对Oracle、SQL Server数据库有内部直接连接,其他较为流行的大型数据库Sybase、Informix、DB2可以通过OLEDB连接。Discoverer 3只能通过ODBC与数据库连接,因此查询数据的速度相对较慢。
Discoverer 3不能在一个文件中同时用表和统计图表示数据。
Discoverer 3不能在统计图上对数据进行钻取。
Discoverer 3的安全控制弱,不能定义用户及用户组的不同描述文件,既不能对哪些用户使用哪些模块进行控制,也不能对一些敏感数据进行进一步的控制。而Reporting Services可以对整个报表运行系统进行管理,对权限及某些数据进行控制。
Reporting Services还可以对报表集中分发、管理。例如用户可以规定刷新和发送报表的时间,如每小时、每天、每周、每月等刷新发送一次,或在现定时间只发送一次。通过一些简单的属性设置,还可以发送报表到Web页面上,并定时刷新。Discoverer 3没有对报表文件的集中批处理。
Discoverer3可以将文件转为HTML格式,但不支持定时刷新。
与Seagate公司产品的比较
公司简介
希捷公司由Alan Shugart创建于1979年,最初主要生产数据存储设备,在随后的发展过程中,逐渐由硬件设备厂商扩展为“数据技术公司”。1994到1997年间,相继收购了Crystal Service(Crystal Report,Crystal Info产品的创建公司)、Holistic Systems(Holos OLAP Server产品的创建公司)等公司来扩展其软件产品系列。
解决方案
产品线:
Seagate Info——包括查询、报表和多维分析,以及安全管理,其中包含Seagate Analysis模块;支持多种关系型数据、多维数据库;
Seagate Analysis——提供查询、报表和多维分析;
Seagate Crystal Reports——报表制作工具,提供查询、报表功能和API接口,可以在开发工具中集成;
Seagate Holos——OLAP Server。
相关比较
Seagate Info没有语义层技术,无论是使用Seagate Info还是Crystal Reports,都需要让用户自己从数据库选择表,构造SQL语句,因此用户必须了解数据库技术。
Crystal Reports主要是为专业计算机人员提供的报表制作工具,有较强的二次开发能力,因此它作为报表工具组件曾被集成到多种开发工具和应用程序中,如Microsoft Visual Studio.NET。但考虑到相关的使用许可,Crystal Reports是一个相对昂贵的选择。
与MicroStrategy公司产品的比较
MicroStrategy公司由Michael J.Savior创建于1989年,最初主要是作为一家决策支持领域的咨询公司,在随后的发展过程中,于1993年推出了第一个产品包:MicroStrategy Agent,以后相继推出一系列产品:MicroStrategy Web、MicroStrategy Broadcaster、MicroStrategy Telecaster等,现新产品包称为MicroStrategy7,致力于提供面向个性化的电子商务智能解决方案。
MicroStrategy解决方案的产品线包括:
MicroStrategy Intelligence Server——整个产品中的核心产品,多层体系结构下的中间应用服务器,为各种前端应用提供中间应用层能力。
MicroStrategy Web——Web体系下的应用服务器,提供基于Web体系下的查询、电算表格和多维分析能力。
MicroStrategy Agent——数据挖掘、应用开发工具,提供API接口。
MicroStrategy InfoCenter——企业级报表、门户工具。
MicroStrategy Architect——商业对象抽象层设计工具。
MicroStrategy Desktop——MicroStrategy Agent、MicroStrategy Architect和MicroStrategy Administration Utility的集成化应用环境
MicroStrategy有较弱的语义层技术,称之为企业商业体系,但能力比较弱,无法支持复杂的语义表达。
前端工具MicroStrategy Desktop的易用性较差,Businessobjects是唯一在决策支持工具中获得Microsoft office兼容认证的产品,易用性同Office类似,同时支持Microsoft VBA二次开发技术。
前端工具MicroStrategy Desktop对灵活查询支持较弱。
MicroStrategy不具备企业级特征,对企业级报表制作、企业信息共享与分发、企业级维护与管理支持较弱,管理复杂。
MicroStrategy整个产品学习和使用较为困难,需要更多的技术支持。
Reporting Services有支持XML的designer和应用模板(Wizard),使得用户只需按照自己的需求稍做调整,就可以达到应用效果,MicroStrategy没有提供类似能力。
MicroStrategy采用了N-tier体系结构,在构架的灵活性上与微软的企业级报表解决方案相当