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