摘要: 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體系結構,在構架的靈活性上與微軟的企業級報表解決方案相當