BBS.ChinaUnix.net
首页
|
新闻
|
Linux
|
AIX
|
博客
|
论坛
|
存储
|
网络
|
人才
|
知识库
|
资料
|
读书
|
手册
|
精华
|
下载
|
空间
会员:
密码:
免费注册
|
忘记密码
|
会员登录
|
搜索
|
帮助
IQ简介和性能调优浅释
首页
»
论坛
»
Sybase
»
论坛跳转 ...
> Linux论坛
> BSD
> BSD文档中心
> Solaris
> Solaris文档中心
> 互操作专区
> AIX
> AIX文档中心
> AS400
> HP-UX
> HP文档中心
> SCO UNIX
> SCO文档中心
> Tru64 UNIX
> IRIX
> Mac OS X
> C/C++
> Shell
> Java
> Java文档中心
> Php
> php文档中心
> Perl
> Python
> Python文档中心
> Web开发
> 软件工程
> 中间件技术
> GUI编程
> 软件配置管理
> VOIP开发技术
> CPU与编译器
> Ruby
> 网络安全
> 网络技术
> 网络技术文档中心
> 存储备份之家
> 存储文档中心
> 存储业界
> 服务器及硬件技术
> MySQL
> MySQL文档中心
> Sybase
> Oracle
> PostgreSQL
> DB2
> Informix
> Web服务器
> Mail服务器
> FTP服务器
> DNS服务器
> Proxy服务器
> LDAP
> VPN
> Lotus
> Samba
> 金融行业
> 电信行业
> 互联网行业
> 制造行业
> 医卫行业
> 教育行业
> 媒体娱乐行业
> 电子政务
> 信息安全
> 交通行业
> IT业界新闻与评论
> IT职业生涯
> IT培训与认证
> IT二手大厅
> IT图书与评论
> 清茶斋
> 投资理财
> 运动地带
> 北京2008奥运专版
> 快乐数码摄影
> 《奥运之夏》摄影赛专区
> 影音文字
> English Forum
> 游戏玩家
> 旅游天下
> IT爱车族
> CU活动专区
> 站务交流
> 博客站务交流区
> 下载频道交流区
> 空间圈子交流区
最近访问的论坛 ...
时代冠军主机588元/两年
|
CU积分兑换详情
|
《奥运之夏》摄影赛开始
|
6月发帖排行获奖名单公布
|
6月份获赠《Python核心编程》名单公布
[
打印
] [
订阅
] [
收藏
] [
推荐给朋友
] [
本帖文本页
]
bidwsyore
新手
UID:616390
注册:2007-9-13
最后登录: 2007-11-22
帖子:
6
精华:0
可用积分:6
信誉积分:
0
专家积分:
0
(本版)
状态:
...离线...
[
个人空间
] [
短信
] [
博客
]
1楼
发表于 2007-9-18 09:54
一、 Sybase IQ介绍
Sybase IQ是与Adaptive Server Enterprise (ASE),Sybase Adaptive Server Anywhere (ASA),Microsoft SQL Server,Oracle和IBM DB2等一样的关系型数据库管理系统(DBMS),Sybase IQ最初是Expressway公司作为查询加速器推出的。Sybase收购了该产品,最初是希望能集成到Sybase ASE中,但后来发现其技术作为独立的数据仓库产品更有市场。
Sybase IQ的技术特性和特点对于许多类型的查询性能比传统的关系型数据引擎更有优势,特别是对于大量的即席查询(非预定义的查询)。这些优势得益于一点:Sybase IQ完全是为决策支持数据库设计的,并不只是简单地为OLTP数据库添加决策支持功能。Sybase IQ的技术特性包括:位图化索引,按列存储(不同于传统数据库的按行存储),比其他数据库更强的数据压缩能力,以及与众不同的锁机制。所有这些都极大地提高了查询引擎的性能。
第一个特点,即Sybase IQ的位图化索引--为区别于其他数据库,在IQ的技术文档中被称为bitwise索引, Sybase把IQ位图技术叫做bitwise索引以区别于其他数据库。因为有些其他数据库产品也拥有或正在开发位图化索引类型,但据我们了解,其他这些数据库的位图化索引类似于Sybase IQ的对低基数数据字段查询非常有效的LowFast (LF)索引。而Sybase IQ还拥有两种用于其他目的的位图化索引-- HighNonGroup (HNG)和HighGroup,这两个索引对高基数数据非常有效。以上这些位图化索引是Sybase的专利。第四种索引类型--Fast Projection (FP)索引,即在Sybase IQ的文档中被称为缺省的索引类型,尽管应用了部分Sybase IQ的bitwise索引技术,但并不是位图化索引。还有两个在12.5版本后增加的特殊的位图化索引--Compares (CMP)索引和Word (WD)索引,CMP索引是用于加速内部字段比较的特殊的位图化索引;WD索引是用于在字符串中快速查找字词。Sybase IQ 12.6还增加了三个和时间相关的位图化索引:DATE、TIME和DATETIME索引,用于处理WHERE条件中与日期和时间类型相关的数据。
另一个和数据库引擎相关的特点是如何存储数据。大部分传统的数据库是建立一个数据基本表,然后按顺序存储每行数据,在其上建立索引。实际上,传统数据库中基本表的记录在Sybase IQ中是不存在的,他们存在于目录表中(catalog)。可以把Sybase IQ想象为表的数据是垂直分割,而不是水平分割的。具体来说就是Sybase IQ把基本表的元数据信息存储在目录存储空间(catalog store)中,在Sybase IQ存储空间(IQ store)中为每个字段建立缺省的FP索引,而且Sybase IQ只存储索引,并不按行存储表的基础数据。Sybase IQ即可以像传统的索引一样利用这些索引查询,也可以像基础表的字段一样作为数据源访问基础数据。Sybase IQ中的每个查询只需要读查询语句中涉及的字段的信息,不必像传统数据库那样访问表中的所有字段。FP索引就像基础表的垂直分区,但对于Sybase IQ的查询引擎来说是和其他索引一样的--对某些操作能加快查询速度,某些不能。Sybase IQ从外表看就像其他的关系型数据—其特殊的物理结构和复杂索引被封装了起来,对外为用户提供了标准的SQL界面。
第三个非常有用的特性是Sybase IQ压缩数据的能力非常好。实际上,Sybase IQ数据库在完全索引的情况下只占ASCII裸数据大小的50%到120%,同样情况下其他数据库往往需要几倍的ASCII裸数据空间。Sybase IQ的这一压缩能力不但可以节约空间还可以带来查询性能上的优势。Sybase IQ使用多种压缩技术。一方面,通过数据压缩使Sybase IQ在一个页面上可以比传统数据库存储更多的数据;另一方面,一页上存储了更多的数据可以减少磁盘I/O,节约磁盘带宽。
还有一个特性是Sybase IQ的锁机制。大部分数据库使用行或页级锁,即在读写事务中用户会锁住一页,该模式会引起写访问妨碍其他查询访问读取数据或者读访问妨碍其他写用户的数据增、删、改。Sybase IQ通过使用版本(versioning)的锁模式,该模式虽然会影响并发写操作,但写操作不会影响读操作,读操作也不会影响写操作。
换句话说,即使数据库管理员在做大数据量的批数据写入和删除操作,查询也可以随时提交并被执行。同样地,对一张表作运行很长时间的决策支持查询也不会影响向该表中插入新的数据。Sybase IQ采用表级版本--这有点像表级锁。表级版本使Sybase IQ的批量插入和删除操作的性能更好。
除了以上这些特性和Sybase IQ与其他数据库的不同点(这些不同点使Sybase IQ成为大部分即席查询类的决策支持应用的最佳引擎),Sybase IQ也具有多其他数据库共同具有的特点。Sybase IQ的索引一旦建立完成,就和其他数据库一样提供表和数据的访问能力。可以像其他数据库一样产生数据行,这些行用于处理如表间的即席连接、分组、排序、字符串和数学函数等等。随后数据被按行处理,Sybase IQ使用与业界其他数据库产品相似的算法和工具。
与其他数据库产品不同的,Sybase IQ 唯一不适合做的是交易事务处理,这是因为为Sybase IQ在数据仓库处理方面带来突出表现的特性减慢了处理单个的小事务操作的性能。举例来说,按列存储可以减少查询的I/O,但增加了单行数据插入时的I/O数。正如上面提到的,虽然Sybase IQ中的事务模式对多用户同时做表修改不是最佳选择,但却可以随时提供对所有表的最佳读访问。这并不是说Sybase IQ不能用于做面向事务的工作,只是说,如果用户的系统更倾向于OLTP或要求大用户量的快速事务响应能力,最好优先选择像Sybase ASE或Sybase ASA这类产品。
二、 性能优化浅谈
本文主要是介绍Sybase IQ的优化器和查询引擎能做哪些调优。让需要对Sybase IQ数据库和查询调优的人了解能从哪里入手,以及为什么能提高性能。请记住,像其他大部分数据库一样,大部分有效的性能调优来自优化数据库模型设计,幸运的是这在Sybase IQ中也是极少需要调整的。但是以下内容对Sybase IQ的性能有较大影响:
•索引。Sybase IQ充分利用索引做查询。如果没有创建额外的索引,会造成极差的查询速度。
•准确的数据描述。如果以合适的数据类型和描述来定义数据,将会获得更好的性能。例如:
定义主外键或建立HG或LF索引
使用恰当的数据类型,特别是对表连接字段。例如,unsigned integer数据类型作为表连接字段的数据类型,通常速度最快。再举一个例子,对于日期数据,用DATE来定义简单的日期字段,会比使用TIMESTAMP或DATETIME类型节约空间,改善性能。
如果可能,调整数据库的参数minimize_storage = ‘on’。这样,对于比较宽的,唯一值小于65,000的数据库表也可以使用标准的CREATE TABLE语句,并获得最佳空间压缩和最优性能。
•如果是按三范式设计的数据库模型,请在可能和合理的情况下反范式化。虽然Sybase IQ可以很好地处理三范式的模型,但在很多情况下,你会发现有些表在反范式后性能更佳。
•如果使用星型数据库模型,要考虑一下是否符合Sybase IQ的技术特点。虽然Sybase IQ可以很好地处理星型模型,但很多来自顾问咨询师的数据库设计方面的性能优化推荐,往往是基于传统的以行处理为基础的OLTP数据库的实践经验。例如,与其他数据库不同,Sybase IQ 直接对一张事实表做一个或多个条件查询时的性能非常好;另一个例子是,由于Sybase IQ的高压缩能力,雪花模型并不会为Sybase IQ数据库带来太大的空间和性能上的优势。
•通常要考虑并利用Sybase IQ 的设计思路和IQ独有的特性来调整模型,获得可用性和高性能。例如,如果有一个字符串字段,而用户经常访问子串,如果能在有效的时间窗口完成数据加载,就最好为该子串建一个新字段,让用户直接使用子串字段。由于Sybase IQ的压缩能力和极少表扫描,所以几乎不需要太多额外空间,而且也不会造成其他不访问该子串字段的查询性能下降(不像其他传统的数据库),使用该子串的查询用户却能有效地改善查询性能。
三、 Sybase IQ与Sybase ASE、Sybase ASA
尽管Sybase IQ与Sybase ASE有几分相似,但在Open Client库上他并不与Sybase ASE共享代码,对于Sybase ASE中非ANSI标准的SQL扩展只是少量支持。
Sybase IQ并没有从头开发所有功能,而是集成了一部分Sybase SQL Anywhere(ASA)组件,如Sybase IQ的用户接口层。ASA的组件提供了大量Sybase IQ本身没有的功能,这些功能包括:
Java
存储过程
语法分析((DDL、DML、查询)
连接(ODBC、JDBC界面)
游标支持
CIS支持
集成后对访问用户来说是透明的,通常可以忽略不考虑。但是还是有部分对用户操作是有影响的。例如有时某个SQL语句或功能会完全在Sybase IQ的ASA部分运行,这与同样的语句在IQ部分运行的过程不同。对于某些语句--如包含用户自定义函数的查询,会一部分在IQ子系统上运行,另一部分会在ASA子系统中运行。当发生了语句分解,会和整个语句在IQ子系统中运行获得的性能差别非常大。Sybase IQ利用部分ASA作为其前端,但两者支持的功能和特性有少量不同,例如:一个明显的不同是支持的索引类型不同。有关两者在语句和函数处理上的不同可以查看Sybase IQ的参考手册。
用户或DBA可以在Sybase IQ中直接使用ASA的功能并通过CREATE TABLE的IN SYSTEM限制词创建ASA的表。如果查询只涉及到建立在SYSTEM存储上的表,整个查询处理都会在ASA部分完成。如果查询访问了SYSTEM和IQ上的表,将会通过CIS分解语句,在Sybase IQ引擎上运行Sybase IQ部分的语句,在ASA中运行SYSTEM中表的部分,然后CIS把结果集合并。由于ASA中的CIS组件并不是为大数据量条件下高速处理设计的,所以当想把一部分数据仓库的数据存储到Sybase IQ中的SYSTEM存储上时一定要谨慎。
您对本贴的看法:
鲜花[0]
臭蛋[0]
CU可用积分兑换Linux/Unix精品图书
|
《Ubuntu标准教程》书评获奖名单公布
|
致电800-858-2903,了解DELL如何为你量身订制笔记本
bidwsyore
新手
UID:616390
注册:2007-9-13
最后登录: 2007-11-22
帖子:
6
精华:0
可用积分:6
信誉积分:
0
专家积分:
0
(本版)
状态:
...离线...
[
个人空间
] [
短信
] [
博客
]
2楼
发表于 2007-9-19 14:00
我考虑收集和整理Sybase IQ查询语句执行过程的中文资料,希望能通过较为深入地理解IQ的内部操作,共同探讨最佳的性能优化方法。看是否有足够的人感兴趣?
您对本贴的看法:
鲜花[0]
臭蛋[0]
CU可用积分兑换Linux/Unix精品图书
|
《Ubuntu标准教程》书评获奖名单公布
|
致电800-858-2903,了解DELL如何为你量身订制笔记本
Powerhouse
新手
UID:614587
注册:2007-9-9
最后登录: 2007-10-19
帖子:
3
精华:0
可用积分:3
信誉积分:
0
专家积分:
0
(本版)
状态:
...离线...
[
个人空间
] [
短信
] [
博客
]
3楼
发表于 2007-9-19 18:18
对Sybase的一点建议
我觉得sybase应该充分为客户着想,就像Powerbuilder和pocketbuilder一样,用户学习这一项能力,这个能力也可以同样应用到其它平台上,保护用户的技术和记忆,所以应该把ASE、ASA、IQ融合为一体,整合为一个产品,就像oracle或者sql server一样,这才是最为大家所理解和支持的
您对本贴的看法:
鲜花[0]
臭蛋[0]
CU可用积分兑换Linux/Unix精品图书
|
《Ubuntu标准教程》书评获奖名单公布
|
致电800-858-2903,了解DELL如何为你量身订制笔记本
bidwsyore
新手
UID:616390
注册:2007-9-13
最后登录: 2007-11-22
帖子:
6
精华:0
可用积分:6
信誉积分:
0
专家积分:
0
(本版)
状态:
...离线...
[
个人空间
] [
短信
] [
博客
]
4楼
发表于 2007-9-20 09:40
学无止境
我和你的想法一样,如果能合为一个产品,像我们这样的开发人员就可以省心多了。
但换个角度考虑,就像希望把水果刀和厨刀合为一把一样,必然会出现功能上的不足。
从我的使用心得看,对于开发人员来说Sybase IQ是支持标准的ODBC接口和标准SQL语句的,所以依然可以保护大部分的技术和知识积累。
您对本贴的看法:
鲜花[0]
臭蛋[0]
CU可用积分兑换Linux/Unix精品图书
|
《Ubuntu标准教程》书评获奖名单公布
|
致电800-858-2903,了解DELL如何为你量身订制笔记本
ehxz
(宗宗)
侠客
宗宗
UID:122155
注册:2003-12-25
最后登录: 2008-04-03
帖子:
41
精华:0
可用积分:252
信誉积分:
100
专家积分:
0
(本版)
来自:http://www.dbacn.com/
状态:
...离线...
[
个人空间
] [
短信
] [
博客
]
5楼
发表于 2007-10-31 13:19
不错,转贴一下:
http://www.sybasecn.com/sybase/d ... ;ID=2713&page=1
您对本贴的看法:
鲜花[0]
臭蛋[0]
__________________________________
欢迎光临SYBASE中国论坛
http://www.sybasecn.com/
CU可用积分兑换Linux/Unix精品图书
|
《Ubuntu标准教程》书评获奖名单公布
|
致电800-858-2903,了解DELL如何为你量身订制笔记本
首页
»
论坛
»
Sybase
»
论坛跳转 ...
> Linux论坛
> BSD
> BSD文档中心
> Solaris
> Solaris文档中心
> 互操作专区
> AIX
> AIX文档中心
> AS400
> HP-UX
> HP文档中心
> SCO UNIX
> SCO文档中心
> Tru64 UNIX
> IRIX
> Mac OS X
> C/C++
> Shell
> Java
> Java文档中心
> Php
> php文档中心
> Perl
> Python
> Python文档中心
> Web开发
> 软件工程
> 中间件技术
> GUI编程
> 软件配置管理
> VOIP开发技术
> CPU与编译器
> Ruby
> 网络安全
> 网络技术
> 网络技术文档中心
> 存储备份之家
> 存储文档中心
> 存储业界
> 服务器及硬件技术
> MySQL
> MySQL文档中心
> Sybase
> Oracle
> PostgreSQL
> DB2
> Informix
> Web服务器
> Mail服务器
> FTP服务器
> DNS服务器
> Proxy服务器
> LDAP
> VPN
> Lotus
> Samba
> 金融行业
> 电信行业
> 互联网行业
> 制造行业
> 医卫行业
> 教育行业
> 媒体娱乐行业
> 电子政务
> 信息安全
> 交通行业
> IT业界新闻与评论
> IT职业生涯
> IT培训与认证
> IT二手大厅
> IT图书与评论
> 清茶斋
> 投资理财
> 运动地带
> 北京2008奥运专版
> 快乐数码摄影
> 《奥运之夏》摄影赛专区
> 影音文字
> English Forum
> 游戏玩家
> 旅游天下
> IT爱车族
> CU活动专区
> 站务交流
> 博客站务交流区
> 下载频道交流区
> 空间圈子交流区
控制面板首页
编辑个人资料
积分交易
公众用户组
好友列表
个人空间管理
升级个人空间
基本概况
论坛排行
主题排行
发帖排行
积分排行
管理团队
管理统计
Copyright © 2001-2008 ChinaUnix.net All Rights Reserved 联系我们:
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处
京ICP证041476号
清除 Cookies
-
ChinaUnix
-
Archiver
-
WAP
-
TOP
Processed in 0.075192 second(s), 4 queries , Gzip enabled
控制面板首页
编辑个人资料
积分交易
公众用户组
好友列表
个人空间管理
升级个人空间
基本概况
论坛排行
主题排行
发帖排行
积分排行
管理团队
管理统计