﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>BlogJava-风之语-随笔分类-数据仓库</title><link>http://www.blogjava.net/gf7/category/10413.html</link><description>&lt;a href="http://www.keepc.com/voip/?t=1&amp;id=6125" target="_blank"&gt;&lt;img src="http://union.keepc.com/templates/default/images/1/950X90.gif" alt="KC网络电话，中国最优秀的网络电话" width="950" height="90" border="0"&gt;&lt;/a&gt;</description><language>zh-cn</language><lastBuildDate>Wed, 15 Sep 2010 17:52:00 GMT</lastBuildDate><pubDate>Wed, 15 Sep 2010 17:52:00 GMT</pubDate><ttl>60</ttl><item><title>关于EAI，ETL与EII</title><link>http://www.blogjava.net/gf7/archive/2010/09/14/331982.html</link><dc:creator>风</dc:creator><author>风</author><pubDate>Tue, 14 Sep 2010 08:02:00 GMT</pubDate><guid>http://www.blogjava.net/gf7/archive/2010/09/14/331982.html</guid><wfw:comment>http://www.blogjava.net/gf7/comments/331982.html</wfw:comment><comments>http://www.blogjava.net/gf7/archive/2010/09/14/331982.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/gf7/comments/commentRss/331982.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/gf7/services/trackbacks/331982.html</trackback:ping><description><![CDATA[<div>一位朋友说他们正在做EAI的项目，对于EAI，没有接触太深，以前项目中有这一块，却没怎么参与。于是问了一句，"EAI究竟是服务于什么目的"？提起这个名词，在我脑海中蹦出的关键词是诸如实时、总线、消息等，然而，这些似乎只是它的技术特征。</div>
<p>类似的名词包括EII和ETL，ETL是BI项目中必有的部分，也是目前每个项目戏份最重的环节。ETL有一种定义，如"抽取、转换和装载，为了分析的目的，将数据从多种数据源抽取，经过转换、清洗，装载到另一个数据库的过程，包括数据集市和数据仓库，或者是另一个操作型系统"，我不知道这是谁的定义，恐怕也恐怕很难有权威的定义。在这个定义中，ETL是广义的，它是数据流动的过程，没有说它究竟是批量的或是实时的。因此，按照这个定义，EAI也就像是ETL。 </p>
<p>EAI，全名为企业应用集成，这提升到一个比较高的层面，相比之下，"数据"显得太微观，太底层了。不错，现实的情况是企业的IT环境中，大量不同的系统同时并存，缺乏总体规划。在这种情况下，提出应用集成也是形势所逼。比如联通的经营分析和客户维系挽留系统，缺乏规划的时候，他们就有功能重叠的地方，各自的厂商为了自己的利益，不可能顾及"应该"如何，只是将自己的蛋糕划分得大一些才好。因此，诸如"客户价值模型"这样得东西就会抢来抢去。可能这种交叉应用的存在，才导致人们对应用集成的愿望，他们希望能够统一地看这些不同的应用，就像一个完整的大系统在运行一样。 </p>
<p>但显然，如果达到这样的程度，理想的程度，并非一种技术就能搞定。所以，EAI的定义显得比ETL定义更加"虚头八脑"，而在实际项目中看来，EAI的主要功能就是数据的集成，在多个应用之间共享数据，联通里面一般管这叫做"交互性"。技术实现上，它更像是CDC（变化数据捕获）＋ETL。</p>
<p>至于EII，名称上意思为"企业信息集成"，按照数据、信息到知识这个从低到高的层次，EII听起来又比ETL高级一些。然而对它，更加没有深入了解。也不明白它为什么会蹦出这个名词，是和ETL、EAI并列还是有取代他们的意思。从它的定义来看，EII是建立了一个虚拟的数据库，用户向这个虚拟库提交查询，而EII将这种查询物理地分布到各个不同的数据源中，然而返回数据，对于用户来说，他没有意识到这批数据是来自不同应用、不同数据库的。 </p>
<p>喔，很酷，不过难度不小，因为这不是技术问题。假设理想的情况下，能够为数据源建立详尽的、一致的元数据，能够有一个引擎实现这种分布式查询，当然可以EII。然而我们不是生活在理想国，为不同的数据源建立一致的元数据几乎是不可能，这涉及到各个系统厂商的管理、系统设计以及维护能力，无法仅仅通过技术手段保证的。所以，EII，我只能暂且将它看作是未来理想。</p>
<img src ="http://www.blogjava.net/gf7/aggbug/331982.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/gf7/" target="_blank">风</a> 2010-09-14 16:02 <a href="http://www.blogjava.net/gf7/archive/2010/09/14/331982.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>浅析实时ETL的架构选择 </title><link>http://www.blogjava.net/gf7/archive/2010/09/14/331981.html</link><dc:creator>风</dc:creator><author>风</author><pubDate>Tue, 14 Sep 2010 08:00:00 GMT</pubDate><guid>http://www.blogjava.net/gf7/archive/2010/09/14/331981.html</guid><wfw:comment>http://www.blogjava.net/gf7/comments/331981.html</wfw:comment><comments>http://www.blogjava.net/gf7/archive/2010/09/14/331981.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/gf7/comments/commentRss/331981.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/gf7/services/trackbacks/331981.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;在建立数据仓库时，<span lang="EN-US"><span style="font-family: Arial">ETL</span></span><span style="font-family: 宋体">通常都采用批处理的方式，一般来说是每天的夜间进行跑批。</span>
<p style="text-indent: 24pt"><span style="font-size: 12pt"><span style="font-family: 宋体">随着数据仓库技术的逐步成熟，企业对数据仓库的时间延迟有了更高的要求，也就出现了目前常说的实时</span><span lang="EN-US"><span style="font-family: Arial">ETL</span></span><span style="font-family: 宋体">（</span><span lang="EN-US"><span style="font-family: Arial">Real-Time ETL</span></span><span style="font-family: 宋体">）。实时</span><span lang="EN-US"><span style="font-family: Arial">ETL</span></span><span style="font-family: 宋体">是数据仓库领域里比较新的一部分内容。</span></span></p>
<p style="text-indent: 24pt"><span style="font-size: 12pt"><span style="font-family: 宋体">在构建实时</span><span lang="EN-US"><span style="font-family: Arial">ETL</span></span><span style="font-family: 宋体">架构的数据仓库时，有几种技术可供选择。</span></span></p>
<p style="text-indent: 24pt"><span style="font-size: 12pt"><span lang="EN-US"><span style="font-family: Arial">1</span></span><span style="font-family: 宋体">．微批处理（</span><span lang="EN-US"><span style="font-family: Arial">microbatch ETL</span></span><span style="font-family: 宋体">，</span><span lang="EN-US"><span style="font-family: Arial">MB-ETL</span></span><span style="font-family: 宋体">）</span></span></p>
<p style="text-indent: 24pt"><span style="font-size: 12pt"><span style="font-family: 宋体">微批处理的方式和我们通常的</span><span lang="EN-US"><span style="font-family: Arial">ETL</span></span><span style="font-family: 宋体">处理方式很相似，但是处理的时间间隔要短，例如间隔一个小时处理一次。</span></span></p>
<p style="text-indent: 24pt"><span style="font-size: 12pt"><span lang="EN-US"><span style="font-family: Arial">2</span></span><span style="font-family: 宋体">．企业应用集成（</span><span lang="EN-US"><span style="font-family: Arial">Enterprise Application Integration</span></span><span style="font-family: 宋体">，</span><span lang="EN-US"><span style="font-family: Arial">EAI</span></span><span style="font-family: 宋体">）</span></span></p>
<p style="text-indent: 24pt"><span style="font-size: 12pt"><span lang="EN-US"><span style="font-family: Arial">EAI</span></span><span style="font-family: 宋体">也称为功能整合，通常由中间件来完成数据的交互。而通常的</span><span lang="EN-US"><span style="font-family: Arial">ETL</span></span><span style="font-family: 宋体">称为数据整合。</span></span></p>
<p style="text-indent: 24pt"><span style="font-size: 12pt"><span style="font-family: 宋体">对实时性要求非常高的系统，可以考虑使用</span><span lang="EN-US"><span style="font-family: Arial">EAI</span></span><span style="font-family: 宋体">作为</span><span lang="EN-US"><span style="font-family: Arial">ETL</span></span><span style="font-family: 宋体">的一个工具，可以提供快捷的数据交互。不过在数据量大时采用</span><span lang="EN-US"><span style="font-family: Arial">EAI</span></span><span style="font-family: 宋体">工具效率比较差，而且实现起来相对复杂。</span></span></p>
<p style="text-indent: 24pt"><span style="font-size: 12pt"><span lang="EN-US"><span style="font-family: Arial">3</span></span><span style="font-family: 宋体">．</span><span lang="EN-US"><span style="font-family: Arial">CTF</span></span><span style="font-family: 宋体">（</span><span lang="EN-US"><span style="font-family: Arial">Capture, Transform and Flow</span></span><span style="font-family: 宋体">）</span></span></p>
<p style="text-indent: 24pt"><span style="font-size: 12pt"><span lang="EN-US"><span style="font-family: Arial">CTF</span></span><span style="font-family: 宋体">是一类比较新的数据整合工具。它采用的是直接的数据库对数据库的连接方式，可以提供秒级的数据。</span><span lang="EN-US"><span style="font-family: Arial">CTF</span></span><span style="font-family: 宋体">的缺点是只能进行轻量级的数据整合。通常的处理方式是建立数据准备区，采用</span><span lang="EN-US"><span style="font-family: Arial">CTF</span></span><span style="font-family: 宋体">工具在源数据库和数据准备区的数据库之间相连接。数据进入数据准备区后再经过其他处理后迁移入数据仓库。</span></span></p>
<p style="text-indent: 24pt"><span style="font-size: 12pt"><span lang="EN-US"><span style="font-family: Arial">4</span></span><span style="font-family: 宋体">．</span><span lang="EN-US"><span style="font-family: Arial">EII</span></span><span style="font-family: 宋体">（</span><span lang="EN-US"><span style="font-family: Arial">Enterprise Information Integration</span></span><span style="font-family: 宋体">）</span></span></p>
<p style="text-indent: 24pt"><span style="font-size: 12pt"><span lang="EN-US"><span style="font-family: Arial">EII</span></span><span style="font-family: 宋体">是另一类比较新的数据整合软件，可以给企业提供实时报表。</span><span lang="EN-US"><span style="font-family: Arial">EII</span></span><span style="font-family: 宋体">的处理方式和</span><span lang="EN-US"><span style="font-family: Arial">CTF</span></span><span style="font-family: 宋体">很相似，但是它不将数据迁移入数据准备区或者数据仓库，而是在抽取转换后直接加载到报表中。</span></span></p>
<p style="text-indent: 24pt"><span style="font-size: 12pt"><span style="font-family: 宋体">在实际建立实时</span><span lang="EN-US"><span style="font-family: Arial">ETL</span></span><span style="font-family: 宋体">架构的数据仓库时，可以在</span><span lang="EN-US"><span style="font-family: Arial">MB-ETL, EAI, CTF, EII</span></span><span style="font-family: 宋体">及通常的</span><span lang="EN-US"><span style="font-family: Arial">ETL</span></span><span style="font-family: 宋体">中作出选择或者进行组合。</span></span><script type="text/javascript">
if ($ != jQuery) {
	$ = jQuery.noConflict();
}
</script></p>
<img src ="http://www.blogjava.net/gf7/aggbug/331981.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/gf7/" target="_blank">风</a> 2010-09-14 16:00 <a href="http://www.blogjava.net/gf7/archive/2010/09/14/331981.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Sybase IQ for Data Warehouse 培训总结(一)</title><link>http://www.blogjava.net/gf7/archive/2007/11/10/159592.html</link><dc:creator>风</dc:creator><author>风</author><pubDate>Sat, 10 Nov 2007 09:38:00 GMT</pubDate><guid>http://www.blogjava.net/gf7/archive/2007/11/10/159592.html</guid><wfw:comment>http://www.blogjava.net/gf7/comments/159592.html</wfw:comment><comments>http://www.blogjava.net/gf7/archive/2007/11/10/159592.html#Feedback</comments><slash:comments>2</slash:comments><wfw:commentRss>http://www.blogjava.net/gf7/comments/commentRss/159592.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/gf7/services/trackbacks/159592.html</trackback:ping><description><![CDATA[Sybase IQ for Data Warehouse 培训总结(一)<br />
*作 者: xuwedo<br />
<div><span style="font-size: 14pt">培训主要内容：Administering Sybase IQ for Data Warehouse (volume 1 &amp;volume 2)</span></div>
<div>&nbsp;</div>
<div style="margin: 0cm 0cm 0pt 21pt; text-indent: -21pt"><span style="font-size: 14pt">一、<span style="font: 7pt 'Times New Roman'">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><span style="font-size: 14pt">本次培训涉及到以下内容：</span></div>
<div style="margin: 0cm 0cm 0pt 21pt"><span style="font-size: 14pt">1．<span style="font: 7pt 'Times New Roman'">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><span style="font-size: 14pt">Sybase IQ</span><span style="font-size: 14pt">产品概述</span></div>
<div style="margin: 0cm 0cm 0pt 21pt"><span style="font-size: 14pt">2．<span style="font: 7pt 'Times New Roman'">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><span style="font-size: 14pt">架构和专业述语</span></div>
<div style="margin: 0cm 0cm 0pt 21pt"><span style="font-size: 14pt">3．<span style="font: 7pt 'Times New Roman'">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><span style="font-size: 14pt">环境变量和安装</span></div>
<div style="margin: 0cm 0cm 0pt 21pt"><span style="font-size: 14pt">4．<span style="font: 7pt 'Times New Roman'">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><span style="font-size: 14pt">怎样创建数据库</span></div>
<div style="margin: 0cm 0cm 0pt 21pt"><span style="font-size: 14pt">5．<span style="font: 7pt 'Times New Roman'">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><span style="font-size: 14pt">设置服务器和数据选项</span></div>
<div style="margin: 0cm 0cm 0pt 21pt"><span style="font-size: 14pt">6．<span style="font: 7pt 'Times New Roman'">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><span style="font-size: 14pt">Sybase IQ</span><span style="font-size: 14pt">索引和数据类型</span></div>
<div style="margin: 0cm 0cm 0pt 21pt"><span style="font-size: 14pt">7．<span style="font: 7pt 'Times New Roman'">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><span style="font-size: 14pt">创建表和索引</span></div>
<div style="margin: 0cm 0cm 0pt 21pt"><span style="font-size: 14pt">8．<span style="font: 7pt 'Times New Roman'">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><span style="font-size: 14pt">Sybase IQ</span><span style="font-size: 14pt">内存配置</span></div>
<div style="margin: 0cm 0cm 0pt 21pt"><span style="font-size: 14pt">9．<span style="font: 7pt 'Times New Roman'">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><span style="font-size: 14pt">从文件中加载数据</span></div>
<div style="margin: 0cm 0cm 0pt 21pt"><span style="font-size: 14pt">10．<span style="font: 7pt 'Times New Roman'">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><span style="font-size: 14pt">用INSERT语句加载数据</span></div>
<div style="margin: 0cm 0cm 0pt 21pt"><span style="font-size: 14pt">11．<span style="font: 7pt 'Times New Roman'">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><span style="font-size: 14pt">使用Sybase IQ</span></div>
<div style="margin: 0cm 0cm 0pt 21pt"><span style="font-size: 14pt">12．<span style="font: 7pt 'Times New Roman'">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><span style="font-size: 14pt">用户的管理和安全</span></div>
<div style="margin: 0cm 0cm 0pt 21pt"><span style="font-size: 14pt">13．<span style="font: 7pt 'Times New Roman'">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><span style="font-size: 14pt">事务管理和锁</span></div>
<div style="margin: 0cm 0cm 0pt 21pt"><span style="font-size: 14pt">14．<span style="font: 7pt 'Times New Roman'">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><span style="font-size: 14pt">监控和问题解决</span></div>
<div style="margin: 0cm 0cm 0pt 21pt"><span style="font-size: 14pt">15．<span style="font: 7pt 'Times New Roman'">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><span style="font-size: 14pt">管理DBspace 和索引</span></div>
<div style="margin: 0cm 0cm 0pt 21pt"><span style="font-size: 14pt">16．<span style="font: 7pt 'Times New Roman'">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><span style="font-size: 14pt">备份和恢复</span></div>
<div style="margin: 0cm 0cm 0pt 21pt"><span style="font-size: 14pt">17．<span style="font: 7pt 'Times New Roman'">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><span style="font-size: 14pt">Sybase IQ</span><span style="font-size: 14pt">的多元架构</span></div>
<div style="margin: 0cm 0cm 0pt 21pt"><span style="font-size: 14pt">18．<span style="font: 7pt 'Times New Roman'">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><span style="font-size: 14pt">创建一个多元架构的数据库</span></div>
<div>&nbsp;</div>
<div style="margin: 0cm 0cm 0pt 21pt; text-indent: -21pt"><span style="font-size: 14pt">二、<span style="font: 7pt 'Times New Roman'">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><span style="font-size: 14pt">以下为各部分的详细叙述：</span></div>
<div style="margin: 0cm 0cm 0pt 42pt; text-indent: -33pt"><span style="font-size: 14pt">(一)&nbsp;</span><span style="font-size: 14pt">Sybase IQ</span><span style="font-size: 14pt">产品概述</span></div>
<div style="margin: 0cm 0cm 0pt 18pt; text-indent: -18pt"><span style="font-size: 14pt">1、<span style="font: 7pt 'Times New Roman'">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><span style="font-size: 14pt">Sybase IQ</span><span style="font-size: 14pt">是一个强大的即席查询服务器。</span></div>
<div style="margin: 0cm 0cm 0pt 18pt; text-indent: -18pt"><span style="font-size: 14pt">2、<span style="font: 7pt 'Times New Roman'">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><span style="font-size: 14pt">用Sybase IQ来分离决策支持系统（DSS，Decision Support System，READER）和在线事务处理系统（OLTP，OnLine Transaction Processing，WRITER）。</span></div>
<div style="margin: 0cm 0cm 0pt 18pt; text-indent: -18pt"><span style="font-size: 14pt">3、<span style="font: 7pt 'Times New Roman'">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><span style="font-size: 14pt">Sybase IQ</span><span style="font-size: 14pt">的特点有：<br />
（1）、垂直数据存储和压缩<br />
（2）、优化了所有数据类型的存取方法<br />
（3）、基于位的存储技术<br />
（4）、即席查询优化器<br />
（5）、标准的对外接口<br />
（6）Sybase Central 支持</span></div>
<div style="margin: 0cm 0cm 0pt 18pt; text-indent: -18pt"><span style="font-size: 14pt">4、<span style="font: 7pt 'Times New Roman'">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><span style="font-size: 14pt">Sybase IQ</span><span style="font-size: 14pt">不适合做：<br />
（1）、在线事务处理引擎<br />
&nbsp;用Adaptive Server Enterprise代替<br />
（2）、需要实时更新的在线应用服务器<br />
&nbsp;用Adaptive Server Enterprise或Adaptive Server Anywhere代替</span></div>
<div style="margin: 0cm 0cm 0pt 18pt; text-indent: -18pt"><span style="font-size: 14pt">5、<span style="font: 7pt 'Times New Roman'">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><span style="font-size: 14pt">Sybase</span><span style="font-size: 14pt">数据库的基本原理：<br />
（1）、列方式的存储，可以减少IO<br />
<span>&nbsp;&nbsp;&nbsp; </span>例如：SELECT COUNT(*) FORM customer WHERE gender = </span><span style="font-size: 14pt">&#8220;</span><span style="font-size: 14pt">m</span><span style="font-size: 14pt">&#8221;</span><span style="font-size: 14pt"><br />
</span><span style="font-size: 14pt">（2）、基于位的索引方式<br />
<span>&nbsp;&nbsp;&nbsp; </span>分为高基数数据（唯一值数量大于1500个）和低基数数据（唯一值数量小于1500个）。</span></div>
<div style="margin: 0cm 0cm 0pt 42pt; text-indent: -33pt"><span style="font-size: 14pt">(二)&nbsp;</span><span style="font-size: 14pt">架构和专业述语</span></div>
<div style="margin: 0cm 0cm 0pt 57pt; text-indent: -36pt"><span style="font-size: 14pt">1、<span style="font: 7pt 'Times New Roman'">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><span style="font-size: 14pt">Sybase IQ</span><span style="font-size: 14pt">平台支持的操作系统版本可以查看Sybase的官方网站，注意：必须有相关的操作系统补丁。</span></div>
<div style="margin: 0cm 0cm 0pt 57pt; text-indent: -36pt"><span style="font-size: 14pt">2、<span style="font: 7pt 'Times New Roman'">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><span style="font-size: 14pt">Sybase IQ Server</span><span style="font-size: 14pt">是在主机上运行的一个进程。</span></div>
<div style="margin: 0cm 0cm 0pt 57pt; text-indent: -36pt"><span style="font-size: 14pt">3、<span style="font: 7pt 'Times New Roman'">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><span style="font-size: 14pt">一个Sybase IQ Server只支持一个Sybase IQ数据库。可以在一个Sybase IQ Server上部署多个数据库，但不推荐。</span></div>
<div style="margin: 0cm 0cm 0pt 57pt; text-indent: -36pt"><span style="font-size: 14pt">4、<span style="font: 7pt 'Times New Roman'">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><span style="font-size: 14pt">Sybase IQ</span><span style="font-size: 14pt">数据库包括：</span></div>
<div style="margin: 0cm 0cm 0pt 63pt; text-indent: -21pt"><span style="font-size: 14pt">l<span style="font: 7pt 'Times New Roman'">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><span style="font-size: 14pt">三种DBSPACEE：</span></div>
<div style="margin: 0cm 0cm 0pt 42pt"><span style="font-size: 14pt">（1）、Catalog Store(for metadata,扩展名为：.db) </span></div>
<div style="margin: 0cm 0cm 0pt 42pt; text-indent: 28pt"><span style="font-size: 14pt">一个IQ 数据库只能有一个Catalog store DBspace，而且只能创建在一个文件系统上，不能创建在裸设备上。</span></div>
<div style="margin: 0cm 0cm 0pt 42pt; text-indent: 28pt"><span style="font-size: 14pt">Catalog Store</span><span style="font-size: 14pt">会随着元数据、表、视图、存储过程等对象的增加动态增长。</span></div>
<div style="margin: 0cm 0cm 0pt 42pt; text-indent: 28pt"><span style="font-size: 14pt">Catalog Store</span><span style="font-size: 14pt">包含了管理一个IQ数据库的所有信息。</span></div>
<div style="margin: 0cm 0cm 0pt 42pt; text-indent: 28pt"><span style="font-size: 14pt">Catalog Store</span><span style="font-size: 14pt">的逻辑名为SYSTEM。</span></div>
<div style="margin: 0cm 0cm 0pt 42pt; text-indent: 28pt"><span style="font-size: 14pt">一个数据库中所有表的信息都存储在Catalog Store的系统表中。例如系统表有：SYSIQCOLUMN、SYSIQFILE、 SYSIQINDEX、 SYSIQINFO、 SYSIQTABLE等。可以用语句：<br />
Select * from SYSIQINFO 语句来查看相关信息。</span></div>
<div style="margin: 0cm 0cm 0pt 42pt"><span style="font-size: 14pt">（2）、IQ Store(for data，扩展名为：.iq)</span></div>
<div style="margin: 0cm 0cm 0pt 42pt; text-indent: 28.5pt"><span style="font-size: 14pt">IQ Store</span><span style="font-size: 14pt">存储了压缩的数据信息，例如索引信息、事务日志、管理分配空间的结构等。</span></div>
<div style="margin: 0cm 0cm 0pt 42pt; text-indent: 28.5pt"><span style="font-size: 14pt">每一个数据库只有一个IQ Store。一个IQ Store通常情况下包括多个DBspace。</span></div>
<div style="margin: 0cm 0cm 0pt 42pt; text-indent: 28.5pt"><span style="font-size: 14pt">IQ Store</span><span style="font-size: 14pt">的DBspace可以建立在裸设备或文件系统上。</span></div>
<div style="margin: 0cm 0cm 0pt 42pt; text-indent: 28.5pt"><span style="font-size: 14pt">IQ Store</span><span style="font-size: 14pt">的逻辑名为：IQ_SYSTEM_MAIN</span></div>
<div style="margin: 0cm 0cm 0pt 42pt; text-indent: 28.5pt"><span style="font-size: 14pt">注意：IQ Store的文件系统的扩展名为.iq，裸设备没有扩展名。</span></div>
<div style="margin: 0cm 0cm 0pt 42pt"><span style="font-size: 14pt">（3）、IQ temporary Store(for temporary data,扩展名为：.iqtmp)</span></div>
<div style="margin: 0cm 0cm 0pt 42pt; text-indent: 28.5pt"><span style="font-size: 14pt">IQ temporary Store</span><span style="font-size: 14pt">是数据库的工作区间。在装入数据时在其中进行排序数据，以建立索引。</span></div>
<div style="margin: 0cm 0cm 0pt 42pt; text-indent: 28.5pt"><span style="font-size: 14pt">一个数据库只有一个IQ temporary Store。一个IQ temporary Store可以包含多个物理文件。</span></div>
<div style="margin: 0cm 0cm 0pt 42pt; text-indent: 28.5pt"><span style="font-size: 14pt">IQ temporary Store</span><span style="font-size: 14pt">可以是文件系统或裸设备。</span></div>
<div style="margin: 0cm 0cm 0pt 42pt; text-indent: 28.5pt"><span style="font-size: 14pt">IQ temporary Store</span><span style="font-size: 14pt">的逻辑名为IQ_SYSTEM_TEMP</span></div>
<div style="margin: 0cm 0cm 0pt 63pt; text-indent: -21pt"><span style="font-size: 14pt">l<span style="font: 7pt 'Times New Roman'">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><span style="font-size: 14pt">三种日志文件：</span></div>
<div style="margin: 0cm 0cm 0pt 42pt"><span style="font-size: 14pt">（1）、IQ Message log</span></div>
<div style="margin: 0cm 0cm 0pt 42pt"><span style="font-size: 14pt">&nbsp;&nbsp; &nbsp;IQ</span><span style="font-size: 14pt">数据库的可读日志文件，包括：插入和删除信息、错误信息、状态信息、查询计划等。</span></div>
<div style="margin: 0cm 0cm 0pt 42pt"><span style="font-size: 14pt">&nbsp;&nbsp; &nbsp;IQ Message Log</span><span style="font-size: 14pt">只能在文件系统中，扩展名为.iqmsg。</span></div>
<div style="margin: 0cm 0cm 0pt 42pt"><span style="font-size: 14pt">&nbsp;&nbsp; &nbsp;</span><span style="font-size: 14pt">一个数据库只能有一个IQ Message。</span></div>
<div style="margin: 0cm 0cm 0pt 42pt"><span style="font-size: 14pt">（2）、Catalog Store Transaction Log</span></div>
<div style="margin: 0cm 0cm 0pt 42pt"><span style="font-size: 14pt">&nbsp;&nbsp;&nbsp;Catalog Store Transaction Log</span><span style="font-size: 14pt">是Catalog Store的事务日志。</span></div>
<div style="margin: 0cm 0cm 0pt 42pt"><span style="font-size: 14pt">&nbsp;&nbsp; &nbsp;</span><span style="font-size: 14pt">用来作为必需时的回滚和前滚。</span></div>
<div style="margin: 0cm 0cm 0pt 42pt"><span style="font-size: 14pt">&nbsp;&nbsp; &nbsp;</span><span style="font-size: 14pt">文件的扩展名为：.log。</span></div>
<div style="margin: 0cm 0cm 0pt 42pt"><span style="font-size: 14pt">&nbsp;&nbsp; &nbsp;</span><span style="font-size: 14pt">随时间，此文件会越来越大。</span></div>
<div style="margin: 0cm 0cm 0pt 42pt"><span style="font-size: 14pt">（3）、IQ server logs</span></div>
<div style="margin: 0cm 0cm 0pt 42pt"><span style="font-size: 14pt">&nbsp;&nbsp; &nbsp;</span><span style="font-size: 14pt">记录每次服务器启动时的信息。每启动一次就会产生一个IQ server log。</span></div>
<div style="margin: 0cm 0cm 0pt 42pt"><span style="font-size: 14pt">&nbsp;&nbsp; &nbsp;</span><span style="font-size: 14pt">通常在$ASDIR/Logfiles目录下。</span></div>
<div style="margin: 0cm 0cm 0pt 42pt"><span style="font-size: 14pt">&nbsp;&nbsp; &nbsp;ASIQ_startup_nt.log</span><span style="font-size: 14pt">文件中记录了服务器启动的参数。</span></div>
<div style="margin: 0cm 0cm 0pt 42pt"><span style="font-size: 14pt">&nbsp;&nbsp; &nbsp;Server_name.00n.srvlog</span><span style="font-size: 14pt">中的n是服务器启动的次数。</span></div>
<div style="margin: 0cm 0cm 0pt 42pt"><span style="font-size: 14pt">&nbsp;&nbsp; &nbsp;</span><span style="font-size: 14pt">其他信息发送到控制窗口中。</span></div>
<div style="margin: 0cm 0cm 0pt 57pt; text-indent: -36pt"><span style="font-size: 14pt">5、<span style="font: 7pt 'Times New Roman'">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><span style="font-size: 14pt">一个DBspace是一个数据库文件的逻辑名。</span></div>
<div style="margin: 0cm 0cm 0pt 57pt; text-indent: -36pt"><span style="font-size: 14pt">6、<span style="font: 7pt 'Times New Roman'">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><span style="font-size: 14pt">DBspace</span><span style="font-size: 14pt">可以是分配给Sybase IQ的一个文件系统或裸设备。</span></div>
<div style="margin: 0cm 0cm 0pt 57pt; text-indent: -36pt"><span style="font-size: 14pt">7、<span style="font: 7pt 'Times New Roman'">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><span style="font-size: 14pt">一个Sybase IQ 数据库包括多个DBspace。</span></div>
<div style="margin: 0cm 0cm 0pt 57pt; text-indent: -36pt"><span style="font-size: 14pt">8、<span style="font: 7pt 'Times New Roman'">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><span style="font-size: 14pt">IQ</span><span style="font-size: 14pt">中的表是指定义在Catalog Store的逻辑表。IQ中有三种表：基本表、本地临时表、全局临时表。</span></div>
<div style="margin: 0cm 0cm 0pt 57pt; text-indent: -36pt"><span style="font-size: 14pt">9、<span style="font: 7pt 'Times New Roman'">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><span style="font-size: 14pt">IQ</span><span style="font-size: 14pt">表的每一列最少有一种索引。每当创建新表时，系统会自动为表创建默认索引。</span></div>
<div style="margin: 0cm 0cm 0pt 57pt; text-indent: -36pt"><span style="font-size: 14pt">10、<span style="font: 7pt 'Times New Roman'">&nbsp;&nbsp;&nbsp; </span></span><span style="font-size: 14pt">IQ</span><span style="font-size: 14pt">中一共有9种索引。</span></div>
<div style="margin: 0cm 0cm 0pt 42pt; text-indent: -33pt"><span style="font-size: 14pt">(三)&nbsp;</span><span style="font-size: 14pt">环境变量和安装</span></div>
<div style="margin: 0cm 0cm 0pt 42pt; text-indent: -21pt"><span style="font-size: 14pt">1.<span style="font: 7pt 'Times New Roman'">&nbsp;&nbsp;&nbsp; </span></span><span style="font-size: 14pt">对硬盘的空间要求：</span></div>
<div style="margin: 0cm 0cm 0pt 21pt; text-indent: 21pt"><span style="font-size: 14pt">UNIX</span><span style="font-size: 14pt">：不少于800M。</span></div>
<div style="margin: 0cm 0cm 0pt 21pt; text-indent: 21pt"><span style="font-size: 14pt">WINDOWS</span><span style="font-size: 14pt">：不少于375M。</span></div>
<div style="margin: 0cm 0cm 0pt 21pt"><span style="font-size: 14pt">&nbsp;&nbsp; IQ STORE </span><span style="font-size: 14pt">约点总磁盘空间的70%。IQ temporary Store大小约为IQ Store的20%。</span></div>
<div style="margin: 0cm 0cm 0pt 63pt; text-indent: -21pt"><span style="font-size: 14pt">l<span style="font: 7pt 'Times New Roman'">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><span style="font-size: 14pt">对内存的要求：</span></div>
<div style="margin: 0cm 0cm 0pt 42pt"><span style="font-size: 14pt">虚拟内存=物理内存+磁盘交换分区大小。</span></div>
<div style="margin: 0cm 0cm 0pt 42pt"><span style="font-size: 14pt">推荐生产环境最小内存不小于1G的物理内存。</span></div>
<div style="margin: 0cm 0cm 0pt 42pt"><span style="font-size: 14pt">如果虚拟内存过小，会导致服务器失败。</span></div>
<div style="margin: 0cm 0cm 0pt 63pt; text-indent: -21pt"><span style="font-size: 14pt">l<span style="font: 7pt 'Times New Roman'">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><span style="font-size: 14pt">CPU</span><span style="font-size: 14pt">要求：</span></div>
<div style="margin: 0cm 0cm 0pt 42pt"><span style="font-size: 14pt">颗数越多越好，速度越快越好。</span></div>
<div style="margin: 0cm 0cm 0pt 63pt; text-indent: -21pt"><span style="font-size: 14pt">l<span style="font: 7pt 'Times New Roman'">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><span style="font-size: 14pt">启动IQ Server：</span></div>
<div style="margin: 0cm 0cm 0pt 42pt"><span style="font-size: 14pt">使用命令：start_asiq [config file] dbname [switchs]</span></div>
<div style="margin: 0cm 0cm 0pt 42pt"><span style="font-size: 14pt">例如：start_asiq @saiqdemo.cfg asiqdemo.db</span></div>
<div style="margin: 0cm 0cm 0pt 63pt; text-indent: -21pt"><span style="font-size: 14pt">l<span style="font: 7pt 'Times New Roman'">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><span style="font-size: 14pt">停止IQ server：</span></div>
<div style="margin: 0cm 0cm 0pt 42pt"><span style="font-size: 14pt">（1）、使用命令：</span></div>
<div style="margin: 0cm 0cm 0pt 42pt"><span style="font-size: 14pt">Dbstop </span><span style="font-size: 14pt">&#8211;</span><span style="font-size: 14pt">c </span><span style="font-size: 14pt">&#8220;</span><span style="font-size: 14pt">uid=DBA; pwd=SQL; eng=server_name; dbn=db_name</span><span style="font-size: 14pt">&#8221;</span></div>
<div style="margin: 0cm 0cm 0pt 42pt"><span style="font-size: 14pt">（2）、使用存储过程：</span></div>
<div style="margin: 0cm 0cm 0pt 42pt"><span style="font-size: 14pt">Stop_asiq</span></div>
<div style="margin: 0cm 0cm 0pt 63pt; text-indent: -21pt"><span style="font-size: 14pt">l<span style="font: 7pt 'Times New Roman'">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><span style="font-size: 14pt">当安装完Sybase IQ后会自动生成一个名为&#8220;Utility</span><span style="font-size: 14pt">&#8221;</span><span style="font-size: 14pt">的数据库，此数据库没有数据，也没有数据文件与之关联（仅为一个util_db.ini文件）。它主要用于以下目的：<br />
（1）、当没有实际的数据库时，用于测试连接。<br />
（2）、用来创建和恢复数据库。<br />
（3）、千万不能删除之。<br />
（4）、此数据库的用户名为：DBA，密码为：SQL。</span></div>
<div style="margin: 0cm 0cm 0pt 63pt; text-indent: -21pt"><span style="font-size: 14pt">l<span style="font: 7pt 'Times New Roman'">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><span style="font-size: 14pt">有七种方法可以连接到Sybase IQ：<br />
（1）、ODBC<br />
（2）、JDBC<br />
（3）、OLE_DB<br />
（4）、Sybase Open Client<br />
（5）、用DBISQL<br />
（6）、用Sybase Central。<br />
（7）、用DBISQLC</span></div>
<img src ="http://www.blogjava.net/gf7/aggbug/159592.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/gf7/" target="_blank">风</a> 2007-11-10 17:38 <a href="http://www.blogjava.net/gf7/archive/2007/11/10/159592.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Sybase IQ for Data Warehouse 培训总结(二)</title><link>http://www.blogjava.net/gf7/archive/2007/11/10/159591.html</link><dc:creator>风</dc:creator><author>风</author><pubDate>Sat, 10 Nov 2007 09:37:00 GMT</pubDate><guid>http://www.blogjava.net/gf7/archive/2007/11/10/159591.html</guid><wfw:comment>http://www.blogjava.net/gf7/comments/159591.html</wfw:comment><comments>http://www.blogjava.net/gf7/archive/2007/11/10/159591.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/gf7/comments/commentRss/159591.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/gf7/services/trackbacks/159591.html</trackback:ping><description><![CDATA[<div style="margin: 0cm 0cm 0pt 42pt; text-indent: -33pt"><span style="font-size: 14pt">Sybase IQ for Data Warehouse 培训总结(二)<br />
*作 者: xuwedo<br />
<br />
(一)&nbsp;</span><span style="font-size: 14pt">怎样创建数据库</span></div>
<div style="margin: 0cm 0cm 0pt 42pt"><span style="font-size: 14pt">1</span><span style="font-size: 14pt">、DBspace是分配到IQ数据库的驱动空间的逻辑名</span></div>
<div style="margin: 0cm 0cm 0pt 42pt"><span style="font-size: 14pt">2</span><span style="font-size: 14pt">、一个新IQ数据库最多可以有2047个DBspace。</span></div>
<div style="margin: 0cm 0cm 0pt 42pt"><span style="font-size: 14pt">3</span><span style="font-size: 14pt">、Sybase的各种类型DBspace的限制：<br />
（1）、Catalog Store最大为1TB。<br />
（2）、IQ Store 和IQ temp Store 在裸设备上没有大小限制，在文件系统中为4TB。</span></div>
<div style="margin: 0cm 0cm 0pt 42pt"><span style="font-size: 14pt">4</span><span style="font-size: 14pt">、IQ Store 和IQ temp Store可以扩大或从数据库删除。</span></div>
<div style="margin: 0cm 0cm 0pt 42pt"><span style="font-size: 14pt">5</span><span style="font-size: 14pt">、创建数据库：<br />
CREATE DATABASE full_path db_name[[TRANSACTION] {LOG ON [log_file_name][MIRROR mirror_file_name]}]<br />
IQ PATH iq_file_anem</span></div>
<div style="margin: 0cm 0cm 0pt 42pt"><span style="font-size: 14pt">[IQ SIZE iq_file_size]</span></div>
<div style="margin: 0cm 0cm 0pt 42pt"><span style="font-size: 14pt">[IQ RESERVE sizeMb]</span></div>
<div style="margin: 0cm 0cm 0pt 42pt"><span style="font-size: 14pt">TEMPORARY PATH temp_file_name</span></div>
<div style="margin: 0cm 0cm 0pt 42pt"><span style="font-size: 14pt">[TEMPORARY SIZE temp_db_szie]</span></div>
<div style="margin: 0cm 0cm 0pt 42pt"><span style="font-size: 14pt">[TEMPORARY RESERVE sizeMB]</span></div>
<div style="margin: 0cm 0cm 0pt 42pt"><span style="font-size: 14pt">[MESSAGE PATH message_file_name]</span></div>
<div style="margin: 0cm 0cm 0pt 42pt"><span style="font-size: 14pt">例子1：</span></div>
<div style="margin: 0cm 0cm 0pt 42pt"><span style="font-size: 14pt">CREATE DATABASE </span><span style="font-size: 14pt">&#8216;</span><span style="font-size: 14pt">d:\\mydb\\mydb.db</span><span style="font-size: 14pt">&#8217;</span></div>
<div style="margin: 0cm 0cm 0pt 42pt"><span style="font-size: 14pt">IQ PATH </span><span style="font-size: 14pt">&#8216;</span><span style="font-size: 14pt">d:\\iqmain\\mydb01.iq</span><span style="font-size: 14pt">&#8217;</span></div>
<div style="margin: 0cm 0cm 0pt 42pt"><span style="font-size: 14pt">IQ SIZE 200</span></div>
<div style="margin: 0cm 0cm 0pt 42pt"><span style="font-size: 14pt">TEMPORARY PATH </span><span style="font-size: 14pt">&#8216;</span><span style="font-size: 14pt">e:\\iqtem\\mydb01.iqtmp</span><span style="font-size: 14pt">&#8217;</span></div>
<div style="margin: 0cm 0cm 0pt 42pt"><span style="font-size: 14pt">TEMPORARY SIZE 200 </span></div>
<div style="margin: 0cm 0cm 0pt 42pt"><span style="font-size: 14pt">IP PAGE SIZE 65536</span></div>
<div style="margin: 0cm 0cm 0pt 42pt"><span style="font-size: 14pt">6</span><span style="font-size: 14pt">、可以用Sybase Central创建数据库（在图形环境下）。</span></div>
<div style="margin: 0cm 0cm 0pt 42pt"><span style="font-size: 14pt">7</span><span style="font-size: 14pt">、可以用sp_iqstatus来查看当前数据库的详细信息。</span></div>
<div style="margin: 0cm 0cm 0pt 42pt"><span style="font-size: 14pt">8</span><span style="font-size: 14pt">、删除一个DBspace</span></div>
<div style="margin: 0cm 0cm 0pt 42pt"><span style="font-size: 14pt">（1）、一个IQ store如果存有数据的话，则不能被删除。（可以使用Utility数据库将一个DBspace的数据移动到另一个DBspace中去，再删除）。</span></div>
<div style="margin: 0cm 0cm 0pt 42pt"><span style="font-size: 14pt">（2）、一个IQ temporary Store仅在为空时才可以被删除。</span></div>
<div style="margin: 0cm 0cm 0pt 42pt"><span style="font-size: 14pt">9</span><span style="font-size: 14pt">、删除一个数据库的语法：</span></div>
<div style="margin: 0cm 0cm 0pt 42pt"><span style="font-size: 14pt">DROP DATABASE db_filename</span></div>
<div style="margin: 0cm 0cm 0pt 42pt"><span style="font-size: 14pt">例子：DROP DATABASE &#8216;d:\\mydb\\mydb.db</span><span style="font-size: 14pt">&#8217;</span></div>
<div style="margin: 0cm 0cm 0pt 42pt"><span style="font-size: 14pt">10</span><span style="font-size: 14pt">、怎样才能看到所有的DBspace的物理文件名？<br />
用以下命令：Select * from sysqifile </span></div>
<div style="margin: 0cm 0cm 0pt 42pt; text-indent: -33pt"><span style="font-size: 14pt">(二)&nbsp;</span><span style="font-size: 14pt">设置服务器和数据选项</span></div>
<div style="margin: 0cm 0cm 0pt 90pt; text-indent: -36pt"><span style="font-size: 14pt">1、<span style="font: 7pt 'Times New Roman'">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><span style="font-size: 14pt">数据库的启动参数均可以写在&#8220;.cfg&#8221;文件中。</span></div>
<div style="margin: 0cm 0cm 0pt 90pt; text-indent: -36pt"><span style="font-size: 14pt">2、<span style="font: 7pt 'Times New Roman'">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><span style="font-size: 14pt">启动服务器的语法：<br />
start_asiq <em>server-switchs</em> database_file</span></div>
<div style="margin: 0cm 0cm 0pt 63pt"><span style="font-size: 14pt">其中：&#8220;<em>server-switchs&#8221;</em>可以为：</span></div>
<div style="margin: 0cm 0cm 0pt 63pt"><span style="font-size: 14pt">-c </span><span style="font-size: 14pt">：缓存大小，默认windows为32M,Unix为48M。</span></div>
<div style="margin: 0cm 0cm 0pt 63pt"><span style="font-size: 14pt">-gp:Catalog store</span><span style="font-size: 14pt">页大小。</span></div>
<div style="margin: 0cm 0cm 0pt 63pt"><span style="font-size: 14pt">-gm</span><span style="font-size: 14pt">：服务器允许的连接数。</span></div>
<div style="margin: 0cm 0cm 0pt 63pt"><span style="font-size: 14pt">-n</span><span style="font-size: 14pt">：IQ server的名字。如果有两个&#8220;-n&#8221;选项，则第一个是IQ server的名字，第二个&#8220;-n&#8221;为IQ 数据库的名字。</span></div>
<div style="margin: 0cm 0cm 0pt 63pt"><span style="font-size: 14pt">-gc</span><span style="font-size: 14pt">：checkpoint时间间隔。默认为20，推荐为6000。</span></div>
<div style="margin: 0cm 0cm 0pt 63pt"><span style="font-size: 14pt">-gr</span><span style="font-size: 14pt">：最大的恢复时间。默认为2。</span></div>
<div style="margin: 0cm 0cm 0pt 63pt"><span style="font-size: 14pt">-ti</span><span style="font-size: 14pt">：客户端超时时间。默认为4400分钟。</span></div>
<div style="margin: 0cm 0cm 0pt 63pt"><span style="font-size: 14pt">-tl</span><span style="font-size: 14pt">：默认网络超时时间。默认120秒。</span></div>
<div style="margin: 0cm 0cm 0pt 63pt"><span style="font-size: 14pt">-iqmc</span><span style="font-size: 14pt">：主缓存大小，单位：M。</span></div>
<div style="margin: 0cm 0cm 0pt 63pt"><span style="font-size: 14pt">-iqtc</span><span style="font-size: 14pt">：临时缓存大小，单位：M。</span></div>
<div style="margin: 0cm 0cm 0pt 63pt"><span style="font-size: 14pt">注：主缓存：临时缓存=2：3</span></div>
<div style="margin: 0cm 0cm 0pt 63pt"><span style="font-size: 14pt">在默认情况下，Sybase IQ server使用2338端口。</span></div>
<div style="margin: 0cm 0cm 0pt 90pt; text-indent: -36pt"><span style="font-size: 14pt">3、<span style="font: 7pt 'Times New Roman'">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><span style="font-size: 14pt">使用SET OPTION命令更变数据库的配置：<br />
（1）、语法：<br />
SET [TEMPORARY] OPTION &nbsp;<br />
[user_id. | PUBLIC.]option_name = [option_value]<br />
其中的&#8220;option_name&#8221;可以是：<br />
Force_No_Scroll_Cursors=&#8216;on&#8217;(默认为&#8220;off&#8221;)禁止缓存用户的查询结果。<br />
Query_Temp_Space_Limit=0(默认为2000M)，设置临时缓存的最大值。0表示不限制。<br />
Public.Query_Plan=&#8216;off&#8217;(默认为&#8220;on&#8221;)禁止将用户的查询计划打印到IQ Message File中，因为查询计划可以会使之大小迅速增加。<br />
例子：<br />
SET OPTION public.Force_NO_Scroll_Cursors=</span><span style="font-size: 14pt">&#8217;</span><span style="font-size: 14pt">no</span><span style="font-size: 14pt">&#8217;</span></div>
<div style="margin: 0cm 0cm 0pt 90pt; text-indent: -36pt"><span style="font-size: 14pt">4、<span style="font: 7pt 'Times New Roman'">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><span style="font-size: 14pt">查看数据库的所有被改动过的（即非默认值）选项，用存储过程：sp_iqcheckoptions。</span></div>
<div style="margin: 0cm 0cm 0pt 42pt; text-indent: -33pt"><span style="font-size: 14pt">(三)&nbsp;</span><span style="font-size: 14pt">Sybase IQ</span><span style="font-size: 14pt">索引和数据类型</span></div>
<div style="margin: 0cm 0cm 0pt 42pt"><span style="font-size: 14pt">1</span><span style="font-size: 14pt">、Sybase IQ的9种索引类型：</span></div>
<div style="margin: 0cm 0cm 0pt 42pt"><span style="font-size: 14pt">（1）、FP（Fast Projection）此索引为默认的索引形式，在创建表时系统自动设置此索引。</span></div>
<div style="margin: 0cm 0cm 0pt 42pt; text-indent: 28pt"><span style="font-size: 14pt">特点：用于SELECT、LIKE &#8216;%sys%&#8217;、SUM（A+B）、JOIN操作等语句。</span></div>
<div style="margin: 0cm 0cm 0pt 42pt; text-indent: 28pt"><span style="font-size: 14pt">此类型索引也是唯一可用于BIT数据类型的索引。</span></div>
<div style="margin: 0cm 0cm 0pt 42pt"><span style="font-size: 14pt">&nbsp;&nbsp; &nbsp;FP</span><span style="font-size: 14pt">索引可以优化索引，将小于255的唯一值的索引压缩到1字节中，将小于65537的唯一值索引压缩到2字节中。</span></div>
<div style="margin: 0cm 0cm 0pt 42pt"><span style="font-size: 14pt">（2）、LF(Low Fast)基于平衡树的结构，存储唯一值小于1500个的索引，是最快的索引类型。可以用作唯一索引。</span></div>
<div style="margin: 0cm 0cm 0pt 42pt"><span style="font-size: 14pt">&nbsp;&nbsp; &nbsp;</span><span style="font-size: 14pt">特点：用于=、 ！=、IN、NOT IN查询参数。</span></div>
<div style="margin: 0cm 0cm 0pt 42pt"><span style="font-size: 14pt">&nbsp;&nbsp; &nbsp;MIN</span><span style="font-size: 14pt">（）、MAX（）、COUNT（）、Group By、JOIN等。</span></div>
<div style="margin: 0cm 0cm 0pt 42pt"><span style="font-size: 14pt">（3）、HNG(High Nongroup)基于位的优化索引，适合于数字索引。用于范围查找和求合计算。</span></div>
<div style="margin: 0cm 0cm 0pt 42pt"><span style="font-size: 14pt">&nbsp;&nbsp; &nbsp;</span><span style="font-size: 14pt">特点：Rangs、Between、MIN（）、MAX（）、SUM（）、AVG（）等。</span></div>
<div style="margin: 0cm 0cm 0pt 42pt"><span style="font-size: 14pt">（4）、HG(High Group) 基于平衡树的结构，存储唯一值大于1500个的索引，是最快的索引类型。可以用作唯一索引。</span></div>
<div style="margin: 0cm 0cm 0pt 42pt"><span style="font-size: 14pt">&nbsp;&nbsp; &nbsp;</span><span style="font-size: 14pt">特点：同LF索引的特点。</span></div>
<div style="margin: 0cm 0cm 0pt 42pt"><span style="font-size: 14pt">（5）、CMP(compare)仅用于比较一个表中的两个列的比较。</span></div>
<div style="margin: 0cm 0cm 0pt 42pt"><span style="font-size: 14pt">&nbsp;&nbsp; &nbsp;</span><span style="font-size: 14pt">特点：&lt;、 =、 &gt;、 &lt;= 、&gt;=</span></div>
<div style="margin: 0cm 0cm 0pt 42pt"><span style="font-size: 14pt">（6）、WD(Word)，仅用于索引数据类型为WORD的列。<br />
<span>&nbsp;&nbsp; &nbsp;</span>特点：&#8216;CONTAINS&#8217;、LIKE操作（但没有&#8216;%&#8217;）。</span></div>
<div style="margin: 0cm 0cm 0pt 42pt; text-indent: 28pt"><span style="font-size: 14pt">例子：</span></div>
<div style="margin: 0cm 0cm 0pt 42pt; text-indent: 28pt"><span style="font-size: 14pt">Select count(*) from Customer where address contains(</span><span style="font-size: 14pt">&#8216;Main&#8217;)</span></div>
<div style="margin: 0cm 0cm 0pt 42pt"><span style="font-size: 14pt">（7）、DATE(date)仅用于日期类型的列。</span></div>
<div style="margin: 0cm 0cm 0pt 42pt"><span style="font-size: 14pt">（8）、DTTM(Datetime)仅用于日期时间类型的列。</span></div>
<div style="margin: 0cm 0cm 0pt 42pt"><span style="font-size: 14pt">（9）、TIME(Time)仅用于时间类型的列。</span></div>
<div style="margin: 0cm 0cm 0pt 42pt; text-indent: 21pt"><span style="font-size: 14pt">例子：<br />
Select * from sales where DATAPART(YEAR,dales_dt) = 2007<br />
Select * from sales where sales_dt&gt;=&#8216;2003-01-01 08：00：00&#8217;</span></div>
<div style="margin: 0cm 0cm 0pt 42pt; text-indent: -33pt"><span style="font-size: 14pt">(四)&nbsp;</span><span style="font-size: 14pt">创建表和索引</span></div>
<div style="margin: 0cm 0cm 0pt 42pt"><span style="font-size: 14pt">1</span><span style="font-size: 14pt">、创建表：</span></div>
<div style="margin: 0cm 0cm 0pt 42pt"><span style="font-size: 14pt">例子1：</span></div>
<div style="margin: 0cm 0cm 0pt 42pt"><span style="font-size: 14pt">CREATE TABLE employee(</span></div>
<div style="margin: 0cm 0cm 0pt 42pt"><span style="font-size: 14pt">Emp_id int NOT NULL</span></div>
<div style="margin: 0cm 0cm 0pt 42pt"><span style="font-size: 14pt">,lname varchar(30) NULL</span></div>
<div style="margin: 0cm 0cm 0pt 42pt"><span style="font-size: 14pt">,fname varchar(30) NULL</span></div>
<div style="margin: 0cm 0cm 0pt 42pt"><span style="font-size: 14pt">,salary money NULL)</span></div>
<div style="margin: 0cm 0cm 0pt 42pt"><span style="font-size: 14pt">例子2：</span></div>
<div style="margin: 0cm 0cm 0pt 42pt"><span style="font-size: 14pt">CREATE TABLE stores(</span></div>
<div style="margin: 0cm 0cm 0pt 42pt"><span style="font-size: 14pt">Store_id char(4) NOT NULL</span></div>
<div style="margin: 0cm 0cm 0pt 42pt"><span style="font-size: 14pt">,store_name varchar(20) NOT NULL</span></div>
<div style="margin: 0cm 0cm 0pt 42pt"><span style="font-size: 14pt">,store_address varchar(40) NOT NULL</span></div>
<div style="margin: 0cm 0cm 0pt 42pt"><span style="font-size: 14pt">,UNIQUE(store_id))</span></div>
<div style="margin: 0cm 0cm 0pt 42pt"><span style="font-size: 14pt">例子3：</span></div>
<div style="margin: 0cm 0cm 0pt 42pt"><span style="font-size: 14pt">CREATE TABLE products(</span></div>
<div style="margin: 0cm 0cm 0pt 42pt"><span style="font-size: 14pt">Product_code char(5) NOT NULL</span></div>
<div style="margin: 0cm 0cm 0pt 42pt"><span style="font-size: 14pt">,product varchar(40) NOT NULL</span></div>
<div style="margin: 0cm 0cm 0pt 42pt"><span style="font-size: 14pt">,price money NULL</span></div>
<div style="margin: 0cm 0cm 0pt 42pt"><span style="font-size: 14pt">PRIMARY KEY (products_code))</span></div>
<div style="margin: 0cm 0cm 0pt 42pt"><span style="font-size: 14pt">例子4：</span></div>
<div style="margin: 0cm 0cm 0pt 42pt"><span style="font-size: 14pt">CREATE TABLE sales(</span></div>
<div style="margin: 0cm 0cm 0pt 42pt"><span style="font-size: 14pt">Sales_code char(10) PRIMARY KEY</span></div>
<div style="margin: 0cm 0cm 0pt 42pt"><span style="font-size: 14pt">,sales_date DATE NOT NULL</span></div>
<div style="margin: 0cm 0cm 0pt 42pt"><span style="font-size: 14pt">,product_code char(5) NOT NULL</span></div>
<div style="margin: 0cm 0cm 0pt 42pt"><span style="font-size: 14pt">,FOREIGN KEY fk1(product_code) REFERENCES product (product_code))</span></div>
<div style="margin: 0cm 0cm 0pt 42pt"><span style="font-size: 14pt">例子5：</span></div>
<div style="margin: 0cm 0cm 0pt 42pt"><span style="font-size: 14pt">SELECT * INTO co_residential_customer from customer where 1=2</span></div>
<div style="margin: 0cm 0cm 0pt 42pt"><span style="font-size: 14pt">2</span><span style="font-size: 14pt">、用Sybase Central 可以在图形界面下创建表。</span></div>
<div style="margin: 0cm 0cm 0pt 42pt"><span style="font-size: 14pt">3</span><span style="font-size: 14pt">、删除表：DROP TABLE tablename</span></div>
<div style="margin: 0cm 0cm 0pt 42pt"><span style="font-size: 14pt">4</span><span style="font-size: 14pt">、删除表中的所有内容：TRUNCATE TABLE [owner.]table_name</span></div>
<div style="margin: 0cm 0cm 0pt 42pt"><span style="font-size: 14pt">5</span><span style="font-size: 14pt">、创建视图，语法：</span></div>
<div style="margin: 0cm 0cm 0pt 42pt"><span style="font-size: 14pt">CREATE VIEW [owner.]view_name[(column-name[,</span><span style="font-size: 14pt">&#8230;</span><span style="font-size: 14pt">])]</span></div>
<div style="margin: 0cm 0cm 0pt 42pt"><span style="font-size: 14pt">AS select-without-order-by</span></div>
<div style="margin: 0cm 0cm 0pt 42pt"><span style="font-size: 14pt">[WITH CHECK OPTION]</span></div>
<div style="margin: 0cm 0cm 0pt 42pt"><span style="font-size: 14pt">例子1：</span></div>
<div style="margin: 0cm 0cm 0pt 42pt"><span style="font-size: 14pt">CREATE VIEW sd_customer AS SELECT * FROM customer</span></div>
<div style="margin: 0cm 0cm 0pt 42pt"><span style="font-size: 14pt">WHERE sheng = </span><span style="font-size: 14pt">&#8216;</span><span style="font-size: 14pt">SD</span><span style="font-size: 14pt">&#8217;</span></div>
<div style="margin: 0cm 0cm 0pt 42pt"><span style="font-size: 14pt">例子2：</span></div>
<div style="margin: 0cm 0cm 0pt 42pt"><span style="font-size: 14pt">CREATE VIEW emp_dept </span></div>
<div style="margin: 0cm 0cm 0pt 42pt"><span style="font-size: 14pt">AS SELECT emp_home,emp_fname,dept_name</span></div>
<div style="margin: 0cm 0cm 0pt 42pt"><span style="font-size: 14pt">From Employee,Department</span></div>
<div style="margin: 0cm 0cm 0pt 42pt"><span style="font-size: 14pt">WHERE Employee.dept_id = Department.dept_id</span></div>
<div style="margin: 0cm 0cm 0pt 42pt"><span style="font-size: 14pt">5</span><span style="font-size: 14pt">、用Sybase Central 可以在图形界面下创建视图。</span></div>
<div style="margin: 0cm 0cm 0pt 42pt"><span style="font-size: 14pt">6</span><span style="font-size: 14pt">、创建索引：<br />
CREATE [UNIQUE] [index-type] INDEX </span></div>
<div style="margin: 0cm 0cm 0pt 42pt"><span style="font-size: 14pt">Index_name ON </span></div>
<div style="margin: 0cm 0cm 0pt 42pt"><span style="font-size: 14pt">[owner.]table_name (column_name[,</span><span style="font-size: 14pt">&#8230;</span><span style="font-size: 14pt">])</span></div>
<div style="margin: 0cm 0cm 0pt 42pt"><span style="font-size: 14pt">[{IN | ON} DBSpace_name]</span></div>
<div style="margin: 0cm 0cm 0pt 42pt"><span style="font-size: 14pt">[NOTIFY integer]</span></div>
<div style="margin: 0cm 0cm 0pt 42pt"><span style="font-size: 14pt">[DELIMITED BY </span><span style="font-size: 14pt">&#8216;</span><span style="font-size: 14pt">separators-string</span><span style="font-size: 14pt">&#8217;</span><span style="font-size: 14pt">]</span></div>
<div style="margin: 0cm 0cm 0pt 42pt"><span style="font-size: 14pt">[LIMIT maxwordsize-integer]</span></div>
<div style="margin: 0cm 0cm 0pt 42pt"><span style="font-size: 14pt">例子1：</span></div>
<div style="margin: 0cm 0cm 0pt 42pt"><span style="font-size: 14pt">CREATE HG INDEX </span></div>
<div style="margin: 0cm 0cm 0pt 42pt"><span style="font-size: 14pt">Cust_customer_id ON</span></div>
<div style="margin: 0cm 0cm 0pt 42pt"><span style="font-size: 14pt">Cutomer(customer_id)</span></div>
<div style="margin: 0cm 0cm 0pt 42pt"><span style="font-size: 14pt">例子2：</span></div>
<div style="margin: 0cm 0cm 0pt 42pt"><span style="font-size: 14pt">CREATE CMP INDEX price_compare</span></div>
<div style="margin: 0cm 0cm 0pt 42pt"><span style="font-size: 14pt">ON orders(purchase_price,list_cost)</span></div>
<div style="margin: 0cm 0cm 0pt 42pt"><span style="font-size: 14pt">7</span><span style="font-size: 14pt">、删除索引：</span></div>
<div style="margin: 0cm 0cm 0pt 42pt"><span style="font-size: 14pt">DROP INDEX [[owner.]tablename.]index_name<br />
</span><span style="font-size: 14pt">例子：<br />
DROP INDEX cust_customer_id</span></div>
<div style="margin: 0cm 0cm 0pt 42pt; text-indent: -33pt"><span style="font-size: 14pt">(五)&nbsp;</span><span style="font-size: 14pt">Sybase IQ</span><span style="font-size: 14pt">内存配置</span></div>
<div style="margin: 0cm 0cm 0pt 99pt; text-indent: -36pt"><span style="font-size: 14pt">1、<span style="font: 7pt 'Times New Roman'">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><span style="font-size: 14pt">IQ</span><span style="font-size: 14pt">从单一的一个内存池中分配内存。</span></div>
<div style="margin: 0cm 0cm 0pt 99pt; text-indent: -36pt"><span style="font-size: 14pt">2、<span style="font: 7pt 'Times New Roman'">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><span style="font-size: 14pt">从操作系统层面来看，IQ Server的内存是由堆组成。</span></div>
<div style="margin: 0cm 0cm 0pt 99pt; text-indent: -36pt"><span style="font-size: 14pt">3、<span style="font: 7pt 'Times New Roman'">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><span style="font-size: 14pt">Buffer</span><span style="font-size: 14pt">：内存中的一块区域，它存储了写入数据库或从数据库中读取的未解压的数据。</span></div>
<div style="margin: 0cm 0cm 0pt 99pt; text-indent: -36pt"><span style="font-size: 14pt">4、<span style="font: 7pt 'Times New Roman'">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><span style="font-size: 14pt">IQ Page Size</span><span style="font-size: 14pt">：IQ Server中每一个内存页的大小。</span></div>
<div style="margin: 0cm 0cm 0pt 99pt; text-indent: -36pt"><span style="font-size: 14pt">5、<span style="font: 7pt 'Times New Roman'">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><span style="font-size: 14pt">IQ Page Size/16=BLOCK SIZE</span></div>
<div style="margin: 0cm 0cm 0pt 99pt; text-indent: -36pt"><span style="font-size: 14pt">6、<span style="font: 7pt 'Times New Roman'">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><span style="font-size: 14pt">在启动服务器时，可以用参数-c来指定服务器缓存的初始大小。在所有平台中，这个值最大为256M。</span></div>
<div style="margin: 0cm 0cm 0pt 99pt; text-indent: -36pt"><span style="font-size: 14pt">7、<span style="font: 7pt 'Times New Roman'">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><span style="font-size: 14pt">IQ Buffer</span><span style="font-size: 14pt">有两种类型：<br />
（1）、主Buffer缓存：IQ Store的Buffer。（占总大小的40%）<br />
（2）、临时Buffer：IQ temporary Buffer。（占总大小的60%）</span></div>
<div style="margin: 0cm 0cm 0pt 99pt; text-indent: -36pt"><span style="font-size: 14pt">8、<span style="font: 7pt 'Times New Roman'">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><span style="font-size: 14pt">在Sybase IQ server中一个活动的用户大约占用10M内存，一个非活动用户大约占5M内存。</span></div>
<img src ="http://www.blogjava.net/gf7/aggbug/159591.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/gf7/" target="_blank">风</a> 2007-11-10 17:37 <a href="http://www.blogjava.net/gf7/archive/2007/11/10/159591.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Sybase IQ for Data Warehouse 培训总结(三)</title><link>http://www.blogjava.net/gf7/archive/2007/11/10/159590.html</link><dc:creator>风</dc:creator><author>风</author><pubDate>Sat, 10 Nov 2007 09:36:00 GMT</pubDate><guid>http://www.blogjava.net/gf7/archive/2007/11/10/159590.html</guid><wfw:comment>http://www.blogjava.net/gf7/comments/159590.html</wfw:comment><comments>http://www.blogjava.net/gf7/archive/2007/11/10/159590.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/gf7/comments/commentRss/159590.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/gf7/services/trackbacks/159590.html</trackback:ping><description><![CDATA[<div style="margin: 0cm 0cm 0pt 42pt; text-indent: -33pt"><span style="font-size: 14pt">作 者: xuwedo<br />
(一)&nbsp;</span><span style="font-size: 14pt">从文件中加载数据</span></div>
<div style="margin: 0cm 0cm 0pt 42pt"><span style="font-size: 14pt">1</span><span style="font-size: 14pt">、有三种方法向IQ table中加入数据：</span></div>
<div style="margin: 0cm 0cm 0pt 42pt"><span style="font-size: 14pt">（1）、用LOAD TABLE命令，从命名管道或文件中将数据导入表中。（速度是最快的）</span></div>
<div style="margin: 0cm 0cm 0pt 42pt"><span style="font-size: 14pt">（2）、用INSERT FROM SELECT 命令，将其他表中的数据加入当前表中。</span></div>
<div style="margin: 0cm 0cm 0pt 42pt"><span style="font-size: 14pt">（3）、用INSERT VALUES命令，&#8220;手动&#8221;地向表中加入数据。</span></div>
<div style="margin: 0cm 0cm 0pt 42pt"><span style="font-size: 14pt">2</span><span style="font-size: 14pt">、关于数据加载和锁：</span></div>
<div style="margin: 0cm 0cm 0pt 42pt"><span style="font-size: 14pt">（1）、当一个用户正在装载、插入或修改一个表中的数据时，其他用户可以对该表进行查询操作。（原理是：版本控制）</span></div>
<div style="margin: 0cm 0cm 0pt 42pt"><span style="font-size: 14pt">（2）、多个用户可以并发地执行DML语句，但必须针对不同的表。</span></div>
<div style="margin: 0cm 0cm 0pt 42pt"><span style="font-size: 14pt">（3）、如果多个用户试图修改同一个表，则第一个用户获得DML锁。</span></div>
<div style="margin: 0cm 0cm 0pt 42pt"><span style="font-size: 14pt">3</span><span style="font-size: 14pt">、从文件中装入数据的例子：</span></div>
<div style="margin: 0cm 0cm 0pt 42pt"><span style="font-size: 14pt">LOAD TABLE customer(customer_id </span><span style="font-size: 14pt">&#8216;</span><span style="font-size: 14pt">|</span><span style="font-size: 14pt">&#8217;</span></div>
<div style="margin: 0cm 0cm 0pt 42pt"><span style="font-size: 14pt">,cust_type </span><span style="font-size: 14pt">&#8216;</span><span style="font-size: 14pt">|</span><span style="font-size: 14pt">&#8217;</span></div>
<div style="margin: 0cm 0cm 0pt 42pt"><span style="font-size: 14pt">,organization </span><span style="font-size: 14pt">&#8216;</span><span style="font-size: 14pt">|</span><span style="font-size: 14pt">&#8217;</span></div>
<div style="margin: 0cm 0cm 0pt 42pt"><span style="font-size: 14pt">,contact_name </span><span style="font-size: 14pt">&#8216;</span><span style="font-size: 14pt">|</span><span style="font-size: 14pt">&#8217;</span></div>
<div style="margin: 0cm 0cm 0pt 42pt"><span style="font-size: 14pt">,contact_phone </span><span style="font-size: 14pt">&#8216;</span><span style="font-size: 14pt">|</span><span style="font-size: 14pt">&#8217;</span></div>
<div style="margin: 0cm 0cm 0pt 42pt"><span style="font-size: 14pt">,address </span><span style="font-size: 14pt">&#8216;</span><span style="font-size: 14pt">|</span><span style="font-size: 14pt">&#8217;</span></div>
<div style="margin: 0cm 0cm 0pt 42pt"><span style="font-size: 14pt">,city </span><span style="font-size: 14pt">&#8216;</span><span style="font-size: 14pt">|</span><span style="font-size: 14pt">&#8217;</span></div>
<div style="margin: 0cm 0cm 0pt 42pt"><span style="font-size: 14pt">,country </span><span style="font-size: 14pt">&#8216;</span><span style="font-size: 14pt">\x0a</span><span style="font-size: 14pt">&#8217;</span><span style="font-size: 14pt">)</span></div>
<div style="margin: 0cm 0cm 0pt 42pt"><span style="font-size: 14pt">FROM </span><span style="font-size: 14pt">&#8216;</span><span style="font-size: 14pt">/work/data/cutomer1.dat</span><span style="font-size: 14pt">&#8217;</span></div>
<div style="margin: 0cm 0cm 0pt 42pt"><span style="font-size: 14pt">ESCAPES OFF</span></div>
<div style="margin: 0cm 0cm 0pt 42pt"><span style="font-size: 14pt">QUOTES OFF;</span></div>
<div style="margin: 0cm 0cm 0pt 42pt"><span style="font-size: 14pt">4</span><span style="font-size: 14pt">、删除表中的数据有三种方法：</span></div>
<div style="margin: 0cm 0cm 0pt 42pt"><span style="font-size: 14pt">（1）、用DELETE 命令：<br />
DELETE&nbsp;FROM customer</span></div>
<div style="margin: 0cm 0cm 0pt 42pt"><span style="font-size: 14pt">WHERE customer_id IN( SELECT cutomer_id FROM customer</span></div>
<div style="margin: 0cm 0cm 0pt 42pt"><span style="font-size: 14pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; WHERE postno = </span><span style="font-size: 14pt">&#8216;</span><span style="font-size: 14pt">250001</span><span style="font-size: 14pt">&#8217;</span><span style="font-size: 14pt">)</span></div>
<div style="margin: 0cm 0cm 0pt 42pt"><span style="font-size: 14pt">（2）、用DROP TABLE命令</span></div>
<div style="margin: 0cm 0cm 0pt 42pt"><span style="font-size: 14pt">（3）、用TRUNCATE TABLE命令</span></div>
<div style="margin: 0cm 0cm 0pt 42pt"><span style="font-size: 14pt">5</span><span style="font-size: 14pt">、删除后再增加数据有两种方式：</span></div>
<div style="margin: 0cm 0cm 0pt 42pt"><span style="font-size: 14pt">（1）、插入到删除后留下的空隙中。</span></div>
<div style="margin: 0cm 0cm 0pt 42pt"><span style="font-size: 14pt">（2）、追加到现有表的最后一行后面。（速度再快一些，但要更大的存储空间）</span></div>
<div style="margin: 0cm 0cm 0pt 42pt"><span style="font-size: 14pt">由APPEND_LOAD=&#8216;ON&#8217;来控制。</span></div>
<div style="margin: 0cm 0cm 0pt 42pt"><span style="font-size: 14pt">6</span><span style="font-size: 14pt">、UPDATE 命令：</span></div>
<div style="margin: 0cm 0cm 0pt 42pt"><span style="font-size: 14pt">UPDATE employee </span></div>
<div style="margin: 0cm 0cm 0pt 42pt"><span style="font-size: 14pt">SET dept_id = 400</span></div>
<div style="margin: 0cm 0cm 0pt 42pt"><span style="font-size: 14pt">WHERE emp_id = 111</span></div>
<div style="margin: 0cm 0cm 0pt 42pt; text-indent: -33pt"><span style="font-size: 14pt">(二)&nbsp;</span><span style="font-size: 14pt">用INSERT语句加载数据</span></div>
<div style="margin: 0cm 0cm 0pt 42pt"><span style="font-size: 14pt">例1：</span></div>
<div style="margin: 0cm 0cm 0pt 42pt"><span style="font-size: 14pt">INSERT INTO dept_head(name,dept)</span></div>
<div style="margin: 0cm 0cm 0pt 42pt"><span style="font-size: 14pt">NOTIFY 20</span></div>
<div style="margin: 0cm 0cm 0pt 42pt"><span style="font-size: 14pt">SELECT emp_fname ||</span><span style="font-size: 14pt">&#8216; &#8217;||emp_lname&nbsp;AS name</span></div>
<div style="margin: 0cm 0cm 0pt 42pt"><span style="font-size: 14pt">,dept_name</span></div>
<div style="margin: 0cm 0cm 0pt 42pt"><span style="font-size: 14pt">FROM employee JOIN department</span></div>
<div style="margin: 0cm 0cm 0pt 42pt"><span style="font-size: 14pt">ON emp_id = dept_head_id<strong>;</strong></span></div>
<div style="margin: 0cm 0cm 0pt 42pt"><strong><span style="font-size: 14pt">commit</span></strong></div>
<div style="margin: 0cm 0cm 0pt 42pt"><span style="font-size: 14pt">例2：</span></div>
<div style="margin: 0cm 0cm 0pt 42pt"><span style="font-size: 14pt">INSERT INTO lineitem(shipdate,orderkey)</span></div>
<div style="margin: 0cm 0cm 0pt 42pt"><strong><span style="font-size: 14pt">LOCATION</span></strong><span style="font-size: 14pt">&#8216;</span><span style="font-size: 14pt">servername.dbname</span><span style="font-size: 14pt">&#8217;</span></div>
<div style="margin: 0cm 0cm 0pt 42pt"><span style="font-size: 14pt">PACKETSIZE 512</span></div>
<div style="margin: 0cm 0cm 0pt 42pt"><span style="font-size: 14pt">{SELECT l_shipdate,l_orderkey FROM lineitem};</span></div>
<div style="margin: 0cm 0cm 0pt 42pt"><strong><span style="font-size: 14pt">commit</span></strong></div>
<div style="margin: 0cm 0cm 0pt 42pt; text-indent: -33pt"><span style="font-size: 14pt">(三)&nbsp;</span><span style="font-size: 14pt">使用Sybase IQ</span></div>
<div style="margin: 0cm 0cm 0pt 42pt"><span style="font-size: 14pt">因为本章节均为图形化操作，比较简单。略</span></div>
<div style="margin: 0cm 0cm 0pt 42pt; text-indent: -33pt"><span style="font-size: 14pt">(四)&nbsp;</span><span style="font-size: 14pt">用户的管理和安全</span></div>
<div style="margin: 0cm 0cm 0pt 42pt; text-indent: -21pt"><span style="font-size: 14pt">1.<span style="font: 7pt 'Times New Roman'">&nbsp;&nbsp;&nbsp; </span></span><span style="font-size: 14pt">系统预置的两个组：SYS和PUBLIC组。<br />
想知道系统中共有多少组，用以下命令：<br />
SELECT * FROM Sys.sysgroups</span></div>
<div style="margin: 0cm 0cm 0pt 42pt; text-indent: -21pt"><span style="font-size: 14pt">2.<span style="font: 7pt 'Times New Roman'">&nbsp;&nbsp;&nbsp; </span></span><span style="font-size: 14pt">系统管理员的用户名：DBA，默认密码为：SQL</span></div>
<div style="margin: 0cm 0cm 0pt 42pt; text-indent: -21pt"><span style="font-size: 14pt">3.<span style="font: 7pt 'Times New Roman'">&nbsp;&nbsp;&nbsp; </span></span><span style="font-size: 14pt">向系统中加入用户有三种方法：<br />
（1）、&#8220;GRANT CONNECT&#8221;命令，<br />
GRANT CONNECT TO&nbsp;userid [，</span><span style="font-size: 14pt">&#8230;</span><span style="font-size: 14pt">]<br />
INDENTIFIED BY password [,</span><span style="font-size: 14pt">&#8230;</span><span style="font-size: 14pt">]<br />
</span><span style="font-size: 14pt">注：更改用户的密码也是上面的命令,这可能导致管理员无意识地改变现有用户的密码，而其目的是增加用户。此操作没有警告提示。<br />
（2）、Sybase Central 向导，图形化操作。<br />
（3）、sp_iqaddlogin存储过程，</span></div>
<div style="margin: 0cm 0cm 0pt 42pt; text-indent: -21pt"><span style="font-size: 14pt">4.<span style="font: 7pt 'Times New Roman'">&nbsp;&nbsp;&nbsp; </span></span><span style="font-size: 14pt">与系统中用户管理有关的两个系统表：<br />
IQ_User_Login_Info_Table和IQ_System_Login_Info_Table<br />
如果想查看该系统表中的内容，则可以用以下语句：<br />
SELECT * FROM IQ_User_Login_Info_Table</span></div>
<div style="margin: 0cm 0cm 0pt 42pt; text-indent: -21pt"><span style="font-size: 14pt">5.<span style="font: 7pt 'Times New Roman'">&nbsp;&nbsp;&nbsp; </span></span><span style="font-size: 14pt">与管理用户有关的几个存储过程：<br />
sp_iqmodifyadmin<br />
sp_iqaddlogin<br />
sp_iqprocess_login<br />
sp_iqdroplogin</span></div>
<div style="margin: 0cm 0cm 0pt 42pt"><span style="font-size: 14pt">sp_iqlistexpiredpasswords<br />
sp_iqlistlockedusers<br />
sp_iqlistpasswordexpirations<br />
sp_iqlocklogin<br />
sp_iqmodifylogin<br />
sp_iqpassword</span></div>
<div style="margin: 0cm 0cm 0pt 42pt; text-indent: -33pt"><span style="font-size: 14pt">(五)&nbsp;</span><span style="font-size: 14pt">事务管理和锁</span></div>
<div style="margin: 0cm 0cm 0pt 42pt"><span style="font-size: 14pt">1</span><span style="font-size: 14pt">、与事务有关的几个命令：</span></div>
<div style="margin: 0cm 0cm 0pt 42pt"><span style="font-size: 14pt">（1）、开始一个事务：<br />
BEGIN TRANSACTION [transaction_name]</span></div>
<div style="margin: 0cm 0cm 0pt 42pt"><span style="font-size: 14pt">（2）、提交一个事务：<br />
COMMIT [work]</span></div>
<div style="margin: 0cm 0cm 0pt 42pt"><span style="font-size: 14pt">（3）、回滚一个事务：<br />
ROLLBACK [work]</span></div>
<div style="margin: 0cm 0cm 0pt 42pt"><span style="font-size: 14pt">（4）、在当前事务中建立一个保存点：<br />
SAVEPOINT [savepoint_name]</span></div>
<div style="margin: 0cm 0cm 0pt 42pt"><span style="font-size: 14pt">（5）、回滚到一个保存点：<br />
ROLLBACK TO SAVEPOINT [savepoint_name]</span></div>
<div style="margin: 0cm 0cm 0pt 42pt"><span style="font-size: 14pt">（6）、将改变保存到磁盘上：<br />
CHECKPOINT</span></div>
<div style="margin: 0cm 0cm 0pt 42pt"><span style="font-size: 14pt">（7）、执行完一条语句后，自动提交：<br />
WITH CHECKPOINT ON</span></div>
<div style="margin: 0cm 0cm 0pt 42pt; text-indent: -33pt"><span style="font-size: 14pt">(六)&nbsp;</span><span style="font-size: 14pt">监控和问题解决</span></div>
<div style="margin: 0cm 0cm 0pt 99pt; text-indent: -36pt"><span style="font-size: 14pt">1、<span style="font: 7pt 'Times New Roman'">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><span style="font-size: 14pt">可以在Sybase Central中监控用户</span></div>
<div style="margin: 0cm 0cm 0pt 99pt; text-indent: -36pt"><span style="font-size: 14pt">2、<span style="font: 7pt 'Times New Roman'">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><span style="font-size: 14pt">存储过程：sp_iqconnection可以显示用户连接的信息。包括connection_handle，User_ID，最后的请求的时间，最后IQ命令时间等。</span></div>
<div style="margin: 0cm 0cm 0pt 99pt; text-indent: -36pt"><span style="font-size: 14pt">3、<span style="font: 7pt 'Times New Roman'">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><span style="font-size: 14pt">用drop connection connection_handle可以让服务器主动断开与某用户连接。</span></div>
<div style="margin: 0cm 0cm 0pt 99pt; text-indent: -36pt"><span style="font-size: 14pt">4、<span style="font: 7pt 'Times New Roman'">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><span style="font-size: 14pt">用sp_iqcontext来显示服务器上执行SQL语句的情况，包括哪个用户正在执行哪条SQL语句，是否提交等信息。</span></div>
<div style="margin: 0cm 0cm 0pt 99pt; text-indent: -36pt"><span style="font-size: 14pt">5、<span style="font: 7pt 'Times New Roman'">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><span style="font-size: 14pt">将服务器执行SQL情况写入日志：<br />
方法1：<br />
-zr SQL ；表明要收集SQL语句信息<br />
-zo c:\\sqllog.txt ;重定向请求级别信息到文件中<br />
方法2：</span></div>
<div style="margin: 0cm 0cm 0pt 63pt"><strong><span style="font-size: 14pt">call</span></strong><span style="font-size: 14pt"> sa_server_option (</span><span style="font-size: 14pt">&#8216;request_level_logging&#8217;&nbsp;, &#8216;SQL&#8217;);<br />
<strong>call</strong> sa_server_option( </span></div>
<div style="margin: 0cm 0cm 0pt 63pt"><span style="font-size: 14pt">&#8216;</span><span style="font-size: 14pt"> request_level_log_file </span><span style="font-size: 14pt">&#8217;</span><span style="font-size: 14pt">,</span><span style="font-size: 14pt">&#8217;</span><span style="font-size: 14pt">sqllog.txt</span><span style="font-size: 14pt">&#8217;</span><span style="font-size: 14pt">);</span></div>
<div style="margin: 0cm 0cm 0pt 63pt"><span style="font-size: 14pt">关闭将SQL信息写入日志文件中：</span></div>
<div style="margin: 0cm 0cm 0pt 63pt"><strong><span style="font-size: 14pt">call</span></strong><span style="font-size: 14pt"> sa_server_option (</span><span style="font-size: 14pt">&#8216;request_level_logging&#8217;&nbsp;, &#8216;&#8217;);<br />
<strong>call</strong> sa_server_option( </span></div>
<div style="margin: 0cm 0cm 0pt 63pt"><span style="font-size: 14pt">&#8216;</span><span style="font-size: 14pt"> request_level_log_file </span><span style="font-size: 14pt">&#8217;</span><span style="font-size: 14pt">,NONE);</span></div>
<div style="margin: 0cm 0cm 0pt 99pt; text-indent: -36pt"><span style="font-size: 14pt">6、<span style="font: 7pt 'Times New Roman'">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><span style="font-size: 14pt">用sp_iqtransaction查看系统中事务的相关信息。</span></div>
<div style="margin: 0cm 0cm 0pt 99pt; text-indent: -36pt"><span style="font-size: 14pt">7、<span style="font: 7pt 'Times New Roman'">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><span style="font-size: 14pt">错误处理：</span></div>
<div style="margin: 0cm 0cm 0pt 63pt"><span style="font-size: 14pt">（1）、UNIX 下有一脚本：getiqinfo.sh</span></div>
<div style="margin: 0cm 0cm 0pt 63pt"><span style="font-size: 14pt">（2）、Windows下为getiqinfo.bat</span></div>
<div style="margin: 0cm 0cm 0pt 63pt"><span style="font-size: 14pt">来得到服务器的相关信息，然后将生成的报告发送给Sybase即可。</span></div>
<div style="margin: 0cm 0cm 0pt 42pt; text-indent: -33pt"><span style="font-size: 14pt">(七)&nbsp;</span><span style="font-size: 14pt">管理DBspace 和索引</span></div>
<div style="margin: 0cm 0cm 0pt 99pt; text-indent: -36pt"><span style="font-size: 14pt">1、<span style="font: 7pt 'Times New Roman'">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><span style="font-size: 14pt">改变DBSPACE的模式或改变DBSPACE的大小：</span></div>
<div style="margin: 0cm 0cm 0pt 63pt"><span style="font-size: 14pt">ALTER DBSPACE</span></div>
<div style="margin: 0cm 0cm 0pt 99pt; text-indent: -36pt"><span style="font-size: 14pt">2、<span style="font: 7pt 'Times New Roman'">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><span style="font-size: 14pt">卸载一个空的DBSPACE：</span></div>
<div style="margin: 0cm 0cm 0pt 63pt"><span style="font-size: 14pt">DROP DBSPACE</span></div>
<div style="margin: 0cm 0cm 0pt 99pt; text-indent: -36pt"><span style="font-size: 14pt">3、<span style="font: 7pt 'Times New Roman'">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><span style="font-size: 14pt">报告DBSPACE的一般信息和模式：</span></div>
<div style="margin: 0cm 0cm 0pt 63pt"><span style="font-size: 14pt">Sp_iqdbspace</span></div>
<div style="margin: 0cm 0cm 0pt 99pt; text-indent: -36pt"><span style="font-size: 14pt">4、<span style="font: 7pt 'Times New Roman'">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><span style="font-size: 14pt">报告DBSPACE中的OBJECTS和它们的大小信息。</span></div>
<div style="margin: 0cm 0cm 0pt 63pt"><span style="font-size: 14pt">Sp_dbspaceinfo</span></div>
<div style="margin: 0cm 0cm 0pt 99pt; text-indent: -36pt"><span style="font-size: 14pt">5、<span style="font: 7pt 'Times New Roman'">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><span style="font-size: 14pt">将一个DBSPACE中的OBJECTS移动到另一个DBSPACE中：</span></div>
<div style="margin: 0cm 0cm 0pt 63pt"><span style="font-size: 14pt">Sp_iqrelocate</span></div>
<div style="margin: 0cm 0cm 0pt 99pt; text-indent: -36pt"><span style="font-size: 14pt">6、<span style="font: 7pt 'Times New Roman'">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><span style="font-size: 14pt">Sp_iqrebuildindex</span><span style="font-size: 14pt">存储过程重新建立某列的索引。</span></div>
<div style="margin: 0cm 0cm 0pt 99pt; text-indent: -36pt"><span style="font-size: 14pt">7、<span style="font: 7pt 'Times New Roman'">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><span style="font-size: 14pt">管理DBspace 和索引的操作均可以在Sybase Central中操作，比较简单。</span></div>
<div style="margin: 0cm 0cm 0pt 42pt; text-indent: -33pt"><span style="font-size: 14pt">(八)&nbsp;</span><span style="font-size: 14pt">备份和恢复</span></div>
<div style="margin: 0cm 0cm 0pt 42pt"><span style="font-size: 14pt">1</span><span style="font-size: 14pt">、Sybase IQ server有三种备份类型：</span></div>
<div style="margin: 0cm 0cm 0pt 42pt"><span style="font-size: 14pt">（1）、完全备份</span></div>
<div style="margin: 0cm 0cm 0pt 42pt"><span style="font-size: 14pt">（2）、增量备份</span></div>
<div style="margin: 0cm 0cm 0pt 42pt"><span style="font-size: 14pt">（3）、完全备份的基础上增量备份</span></div>
<div style="margin: 0cm 0cm 0pt 42pt"><span style="font-size: 14pt">注：增量备份和完全备份的基础上增量备份都会对Catalog Store 进行完全备份。</span></div>
<div style="margin: 0cm 0cm 0pt 42pt"><span style="font-size: 14pt">默认情况下为完全备份。</span></div>
<div style="margin: 0cm 0cm 0pt 42pt"><span style="font-size: 14pt">2</span><span style="font-size: 14pt">、Sybase IQ server的顺序：</span></div>
<div style="margin: 0cm 0cm 0pt 42pt"><span style="font-size: 14pt">（1）、Catalog&nbsp;Store</span></div>
<div style="margin: 0cm 0cm 0pt 42pt"><span style="font-size: 14pt">（2）、Transaction log File</span></div>
<div style="margin: 0cm 0cm 0pt 42pt"><span style="font-size: 14pt">（3）、IQ Store</span></div>
<div style="margin: 0cm 0cm 0pt 42pt"><span style="font-size: 14pt">3</span><span style="font-size: 14pt">、当IQ server正在备份时：</span></div>
<div style="margin: 0cm 0cm 0pt 42pt"><span style="font-size: 14pt">（1）、默认情况下操作员必须在现场，挂持接备份介质。</span></div>
<div style="margin: 0cm 0cm 0pt 42pt"><span style="font-size: 14pt">（2）、操作员可以不在场，但必须正确地估算出备份的数据量大小，并且在安装备份设备时，要选&#8220;高级&#8221;安装方可。</span></div>
<div style="margin: 0cm 0cm 0pt 42pt"><span style="font-size: 14pt">4</span><span style="font-size: 14pt">、备份命令：</span></div>
<div style="margin: 0cm 0cm 0pt 42pt"><span style="font-size: 14pt">BACKUP DATABASE [CRC ON|OFF]</span></div>
<div style="margin: 0cm 0cm 0pt 42pt"><span style="font-size: 14pt">[Attended ON|OFF]</span></div>
<div style="margin: 0cm 0cm 0pt 42pt"><span style="font-size: 14pt">[BLOCK FACTOR integer]</span></div>
<div style="margin: 0cm 0cm 0pt 42pt"><span style="font-size: 14pt">[{FULL|INCREMENTAL|INCREMENTAL SINCE FULL}]</span></div>
<div style="margin: 0cm 0cm 0pt 42pt"><span style="font-size: 14pt">TO </span><span style="font-size: 14pt">&#8216;</span><span style="font-size: 14pt">archive_device</span><span style="font-size: 14pt">&#8217;</span><span style="font-size: 14pt"> [SIZE # of KB integer]</span></div>
<div style="margin: 0cm 0cm 0pt 42pt"><span style="font-size: 14pt">例子：</span></div>
<div style="margin: 0cm 0cm 0pt 42pt"><span style="font-size: 14pt">BACKUP DATABASE TO </span><span style="font-size: 14pt">&#8216;dev/rmt/0n</span><span style="font-size: 14pt">&#8217;</span></div>
<div style="margin: 0cm 0cm 0pt 42pt"><span style="font-size: 14pt">注：BACKUP不支持裸设备</span></div>
<div style="margin: 0cm 0cm 0pt 42pt"><span style="font-size: 14pt">5</span><span style="font-size: 14pt">、系统级别的备份：</span></div>
<div style="margin: 0cm 0cm 0pt 42pt"><span style="font-size: 14pt">如果IQ server运行时进行系统级别的备份，则会导致服务崩溃或丢失数据。所以，必须确定IQ server是停止状态时，方可进行系统级别备份。</span></div>
<div style="margin: 0cm 0cm 0pt 42pt"><span style="font-size: 14pt">6</span><span style="font-size: 14pt">、备份的恢复：</span></div>
<div style="margin: 0cm 0cm 0pt 42pt"><span style="font-size: 14pt">（1）、必须连接到utility_db数据库后才可以进行恢复操作，并且在恢复数据时不能有用户连接到数据库。</span></div>
<div style="margin: 0cm 0cm 0pt 42pt"><span style="font-size: 14pt">（2）、如果有完全恢复，Catalog Store 和Transaction Log（即.db 和.log文件）必须从目标文件夹下删除。</span></div>
<div style="margin: 0cm 0cm 0pt 42pt"><span style="font-size: 14pt">（3）、如果为增量恢复，Catalog Store 和Transaction Log（即.db 和.log文件）必须存在于目标文件夹中。</span></div>
<div style="margin: 0cm 0cm 0pt 42pt"><span style="font-size: 14pt">7</span><span style="font-size: 14pt">、恢复的命令：</span></div>
<div style="margin: 0cm 0cm 0pt 42pt"><span style="font-size: 14pt">RESTORE DATABASE </span><span style="font-size: 14pt">&#8216;c:\\newdir\\mydb.db</span><span style="font-size: 14pt">&#8217;</span></div>
<div style="margin: 0cm 0cm 0pt 42pt"><span style="font-size: 14pt">FROM </span><span style="font-size: 14pt">&#8216;</span><span style="font-size: 14pt">c:\\asiq\\backup1&#8217;</span></div>
<div style="margin: 0cm 0cm 0pt 42pt"><span style="font-size: 14pt">FROM </span><span style="font-size: 14pt">&#8216;</span><span style="font-size: 14pt">c:\\asiq\\backup2&#8217;</span></div>
<div style="margin: 0cm 0cm 0pt 42pt"><span style="font-size: 14pt">在进行恢复时，必须注意恢复的顺序和备份时的顺序完全一致。</span></div>
<div style="margin: 0cm 0cm 0pt 42pt"><span style="font-size: 14pt">8</span><span style="font-size: 14pt">、数据库备份后，配置文件和日志文件是没有被备份的，所以如果恢复时要单独对这两种文件进行恢复。配置文件可以直接拷贝即可，但日志文件是不能用原来的.log文件的。<br />
<span>&nbsp;&nbsp; </span>如果恢复到原来的目录中，则不用新建.log文件。如果没有恢复到原目录，则必须用dblog工具手动生成.log文件。</span></div>
<div style="margin: 0cm 0cm 0pt 42pt"><span style="font-size: 14pt">9</span><span style="font-size: 14pt">、dblog工具的命令语法：</span></div>
<div style="margin: 0cm 0cm 0pt 42pt"><span style="font-size: 14pt">Dblog [option] database_file</span></div>
<div style="margin: 0cm 0cm 0pt 42pt"><span style="font-size: 14pt">Option</span><span style="font-size: 14pt">：</span></div>
<div style="margin: 0cm 0cm 0pt 42pt"><span style="font-size: 14pt">-t log-name</span><span style="font-size: 14pt">，指定事务log文件名。</span></div>
<div style="margin: 0cm 0cm 0pt 42pt"><span style="font-size: 14pt">-m mirror-name</span><span style="font-size: 14pt">，设置事务日志镜象名。</span></div>
<div style="margin: 0cm 0cm 0pt 42pt"><span style="font-size: 14pt">-r</span><span style="font-size: 14pt">，停止事务日志的镜象。</span></div>
<div style="margin: 0cm 0cm 0pt 42pt"><span style="font-size: 14pt">-o</span><span style="font-size: 14pt">，输出日志信息到文件。</span></div>
<div style="margin: 0cm 0cm 0pt 42pt"><span style="font-size: 14pt">-q</span><span style="font-size: 14pt">，安静模式，不打印信息。</span></div>
<div style="margin: 0cm 0cm 0pt 42pt"><span style="font-size: 14pt">例：dblog </span><span style="font-size: 14pt">&#8211;</span><span style="font-size: 14pt">t demolog.log&nbsp;&nbsp; asiqdemo</span></div>
<div style="margin: 0cm 0cm 0pt 42pt; text-indent: -33pt"><span style="font-size: 14pt">(九)&nbsp;</span><span style="font-size: 14pt">Sybase IQ</span><span style="font-size: 14pt">的多元架构</span></div>
<div style="margin: 0cm 0cm 0pt 42pt"><span style="font-size: 14pt"><img height="443" alt="" src="file:///C:/DOCUME~1/ADMINI~1/LOCALS~1/Temp/msohtml1/01/clip_image002.jpg" width="553" v:shapes="_x0000_i1025" /></span></div>
<div style="margin: 0cm 0cm 0pt 42pt">&nbsp;</div>
<div style="margin: 0cm 0cm 0pt 42pt; text-indent: -33pt"><span style="font-size: 14pt">(十)&nbsp;</span><span style="font-size: 14pt">创建一个多元架构的数据库</span></div>
<div style="margin: 0cm 0cm 0pt 42pt"><span style="font-size: 14pt">在Sybase Central中完成。略。</span></div>
<img src ="http://www.blogjava.net/gf7/aggbug/159590.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/gf7/" target="_blank">风</a> 2007-11-10 17:36 <a href="http://www.blogjava.net/gf7/archive/2007/11/10/159590.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>理解SybaseIQ中的内存 </title><link>http://www.blogjava.net/gf7/archive/2007/11/10/159588.html</link><dc:creator>风</dc:creator><author>风</author><pubDate>Sat, 10 Nov 2007 09:33:00 GMT</pubDate><guid>http://www.blogjava.net/gf7/archive/2007/11/10/159588.html</guid><wfw:comment>http://www.blogjava.net/gf7/comments/159588.html</wfw:comment><comments>http://www.blogjava.net/gf7/archive/2007/11/10/159588.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/gf7/comments/commentRss/159588.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/gf7/services/trackbacks/159588.html</trackback:ping><description><![CDATA[<p align="left">&nbsp;</p>
<div class="t_msgfont" id="message7351718"><font face="Arial "><font face="Arial ">1.1.</font><br />
</font><font face="黑体 ">内存使用</font><font face="宋体 "><font size="5">对SybaseIQ而言，内存越多越好，一般要求每个服务器的CPU配置内存2GB，数据装载需要动态使用额外的内存，计算使用缓存caches；降低IO的方法是使用大buffer caches；使用超出内存会导致频繁swapping；IQ从操作系统申请内存，从操作系统级别看SybaseIQ的内存为堆内存，所有的内存分配自动进行。IQ使用内存进行以下活动：</font></font><br />
<p align="left">
<p align="left"><font face="Wingdings "><font style="font-size: 14pt">l<br />
</font></font><font face="宋体 "><font style="font-size: 14pt">从磁盘读取数据并执行查询；</font></font></p>
<p>&nbsp;</p>
<p align="left">
<p align="left"><font face="Wingdings "><font style="font-size: 14pt">l<br />
</font></font><font face="宋体 "><font style="font-size: 14pt">从系统平面文件加载时缓冲磁盘数据；</font></font></p>
<p>&nbsp;</p>
<p align="left">
<p align="left"><font face="Wingdings "><font style="font-size: 14pt">l<br />
</font></font><font face="宋体 "><font style="font-size: 14pt">缓冲元数据文件 (Catalog)</font></font></p>
<p>&nbsp;</p>
<p align="left">
<p align="left"><font face="Wingdings "><font style="font-size: 14pt">l<br />
</font></font><font face="宋体 "><font style="font-size: 14pt">管理连接，事务，缓冲区和数据库对象。</font></font></p>
<p>&nbsp;</p>
<font face="Times New Roman "><font size="3"></font></font><br />
<font face="宋体 "><font size="5">一个安装SybaseIQ的数据库服务器的典型内存分布如图所示：包括操作系统其他应用程序内存，服务器内存，额外内存，IQ存储缓存，临时存储缓存。</font></font><br />
<font size="5"><font face="宋体 "></font></font><font face="Times New Roman "><font size="3"></font></font><br />
<font face="Times New Roman "><font size="3"></font></font><br />
<font face="Times New Roman "><font size="3"><img onmousewheel="return imgzoom(this)" onmouseover="attachimginfo(this, 'attach_213302', 1);attachimg(this, 'mouseover')" onclick="attachimg(this, 'click', 'attachments/month_0709/20070914_93d0ade152c5a2def0ac3g0xhcdMFOVX.jpg')" onmouseout="attachimginfo(this, 'attach_213302', 0, event)" alt="" src="http://bbs.chinaunix.net/attachments/month_0709/20070914_93d0ade152c5a2def0ac3g0xhcdMFOVX.jpg" border="0" /><span id="attach_213302" onmouseover="showMenu(this.id, 0, 1)" style="display: none; left: 201px; position: absolute; top: 898px"><img src="http://bbs.chinaunix.net/images/default/attachimg.gif" border="0"  alt="" /></span></font></font><br />
<font face="Times New Roman "><font size="3"></font></font><br />
<font face="Times New Roman "><font size="3"></font></font><br />
<font face="Times New Roman "><font size="3"></font></font><br />
<font face="Times New Roman "><font size="3"></font></font><br />
<font face="Times New Roman "><font size="3"></font></font><br />
<font face="Times New Roman "><font size="3"></font></font><br />
<font face="Times New Roman "><font size="3"></font></font><br />
<font face="Times New Roman "><font size="3"></font></font><br />
<font face="Times New Roman "><font size="3"></font></font><br />
<font face="Times New Roman "><font size="3"></font></font><br />
<br />
<font face="Times New Roman "><font size="5">1.1.1.</font><br />
</font><font face="宋体 "><font size="5">服务器内存</font></font><font size="5"><font face="宋体 ">SybaseIQ服务器进程使用的内存，不同的操作系统平台其使用量存在差异，一般需要30MB。</font></font><br />
<font face="Times New Roman "><font size="5">1.1.2.</font><br />
</font><font face="宋体 "><font size="5">额外内存</font></font><strong><font face="黑体 "><font size="5">元数据缓存</font></font></strong><br />
<font face="宋体 "><font size="5">由数据库启动选项 &#8211;c, -cl, 和 &#8211;ch参数控制使用RAM数量，专门用来作元数据库读写缓存，当数据库对象较多时，建议调大此数据。</font></font><br />
<strong><font face="黑体 "><font size="5">线程内存 </font></font></strong><br />
<font face="宋体 "><font size="5">线程内存在数据库启动时分配给数据库服务器，用于线程的堆栈空间，总的空间数值按照公式&#8220;stack size * IQ 线程数量&#8221;计算，数据库启动参数&#8211;iqtss确定数据库的stack size大小单位KB。启动参数-iqmt指定IQ可以使用的线程数量，最小值是2*num_conn+1，缺省值是：</font></font><br />
<font face="宋体 "><font size="5">60*numCPU+2*num_conn+1</font></font><br />
<font size="5"><strong><font face="黑体 "><font face="宋体 ">&#8220;</font></font></strong><strong><font face="黑体 ">活动</font></strong><strong><font face="黑体 "><font face="宋体 ">&#8221;</font></font></strong><strong><font face="黑体 ">用户内存</font></strong></font><br />
<font face="宋体 "><font size="5">每个Sybase IQ 用户对应一个连接进程，此进程大概需要 10MB空间；活动用户是指到数据库的一个连接或执行的查询命令，连接到数据库而不活动的用户需要更少的内存。</font></font><br />
<strong><font face="黑体 "><font size="5">表版本内存</font></font></strong><br />
<font face="宋体 "><font size="5">表版本内存在SybaseIQ运行时分配，通常这类内存非常小(每个被跟踪的表版本1KB到3KB)，通常为KB到MB，但是当系统中存在成千上万的表版本时，占用空间会比较大。</font></font><br />
<strong><font face="黑体 "><font size="5">数据加载内存</font></font></strong><br />
<font size="5"><font face="宋体 ">SybaseIQ在进行数据加载时，分配内存提供数据加载性能，通过数据库选项LOAD_MEMORY_MB设定，缺省情况为0，表示堆内存的分配不受限制，如果数据加载时需要更多内存，可能导致数据加载耗尽虚拟内存，降低数据加载性能，一般建议设定此选项，其配置值可根据加载数据的表宽进行如下计算：</font></font><br />
<font size="5"><font face="宋体 ">Load_Memory_MB = &lt;表宽字节数&gt; * 10,000 * 45 / 1024 / 1024</font></font><br />
<font face="宋体 "><font size="5">以下语句将数据加载内存设置成300MB：</font></font><br />
<font face="宋体 "><font size="5">SET OPTION PUBLIC.LOAD_MEMORY_MB = 300 </font></font><br />
<font style="font-size: 13pt"></font><br />
<strong><font face="黑体 "><font size="5">数据库备份内存</font></font></strong><br />
<font face="宋体 "><font size="5">数据库备份内存的大小与CPU个数、备份的IQ存储和本地存储的数据库空间个数，BLOCK的交错因子，IQ的BLOCK大小有关系。可以通过如下公式粗略估计：</font></font><br />
<font style="font-size: 13pt"></font><br />
<font size="5"><font face="宋体 ">y = max( 2 * cpu个数, 8 * number_of_main_or_local_dbspaces)</font></font><br />
<font face="宋体 "><font size="5">z = (y * 20 ) * ( block factor * block_size )</font></font><br />
<font size="5"><font face="宋体 ">Z表示的是备份时需要的内存的虚拟估计值，假设如下情况： </font></font><br />
<font face="宋体 "><font size="5">dbspaces = 50</font></font><br />
<font face="宋体 "><font size="5">block factor = 100</font></font><br />
<font face="宋体 "><font size="5">number of cpus = 4</font></font><br />
<font face="宋体 "><font size="5">block_size = 8,192</font></font><br />
<font face="宋体 "><font size="5">采用上面的公式和算法，数据库备份时需要的内存总数是：</font></font><br />
<font size="5"><font face="宋体 ">'y' is max(8, 400) </font><font face="Wingdings "><font face="Wingdings ">&#232;</font></font><font face="宋体 "> y=400</font></font><br />
<font size="5"><font face="宋体 ">'z' is ( 400 * 20 ) * ( 100 * 8,192 ) </font><font face="Wingdings "><font face="Wingdings ">&#232;</font></font><font face="宋体 "> 6.5GB</font></font><br />
<font face="宋体 "><font size="5">备份内存来自操作系统，属于堆内存，当备份操作完成后，内存释放。当空间充足时，唯一可以控制备份内存使用的是块的交错因子，在前面的例子中，如果交错因子变成10， 总的备份内存需求将降低到655MB：</font></font><br />
<font size="5"><font face="宋体 ">( 400 * 20 ) * ( 10 * 8,192 ) </font><font face="Wingdings "><font face="Wingdings ">&#232;</font></font><font face="宋体 "> 655MB</font></font><br />
<font face="宋体 "><font size="5">在磁盘I/O不是瓶颈的情况下，在数据库备份时降低内存将减慢备份数度。数据库备份性能与磁盘子系统I/O的读写块性能一致，为减少I/O的额外开销，备份程序一次I/O中读入连续的块，相应地按照&#8220;块交错因子&#8221;写这些块数据。</font></font><br />
<font face="宋体 "><font size="5">通过&#8220;块交错因子&#8221;可以减少备份内存，增加可用的内存，以此计算数据库备份时需要的总内存量。</font></font><br />
<font face="Times New Roman "><font size="5">1.1.3.</font><br />
</font><font face="宋体 "><font size="5">数据库缓存</font></font><font face="宋体 "><font size="5">数据库缓存是操作系统内存中分配用来保存从数据库中读出或者准备写入数据库的数据。SybaseIQ数据库缓存包括主存储缓存和临时存储缓存。参数设置可以通过数据库选项或者数据库启动配置文件。</font></font><br />
<strong><font face="黑体 "><font size="5">主存储缓存</font></font></strong><br />
<font face="宋体 "><font size="5">用于缓存数据库服务器从IQ存储中读取的数据，供 IQ 数据表空间的数据缓存使用，所有用户均可使用。较大的缓存可以降低磁盘的IO以提升性能，主存储缓存在数据库启动时初始化，缺省配置是16MB，对于大多数应用来说太小，修改此参数配置需要重新启动数据库。一般将IQ服务器可以使用的内存的40％分配给SybaseIQ主存储缓存。</font></font><br />
<strong><font face="黑体 "><font size="5">临时存储缓存</font></font></strong><br />
<font size="5"><font face="宋体 ">SybaseIQ临时存储缓存用于数据查询时的表关联，分组，排序和哈系算法。数据加载时，也需要较多的临时存储缓存，例如HG索引的管理、FP索引加载时的1个字节和2个字节的字典表等。较大的临时存储缓存可以减少内存调度。</font></font><br />
<font face="宋体 "><font size="5">主存储缓存在数据库启动时初始化，缺省配置是12MB，对于大多数应用来说太小，修改此参数配置需要重新启动数据库。一般将IQ服务器可以使用的内存的60％分配给SybaseIQ的临时存储缓存。</font></font></div>
<img src ="http://www.blogjava.net/gf7/aggbug/159588.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/gf7/" target="_blank">风</a> 2007-11-10 17:33 <a href="http://www.blogjava.net/gf7/archive/2007/11/10/159588.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>数巨报表 PK Microstrategy报表</title><link>http://www.blogjava.net/gf7/archive/2007/10/19/154279.html</link><dc:creator>风</dc:creator><author>风</author><pubDate>Fri, 19 Oct 2007 09:21:00 GMT</pubDate><guid>http://www.blogjava.net/gf7/archive/2007/10/19/154279.html</guid><wfw:comment>http://www.blogjava.net/gf7/comments/154279.html</wfw:comment><comments>http://www.blogjava.net/gf7/archive/2007/10/19/154279.html#Feedback</comments><slash:comments>5</slash:comments><wfw:commentRss>http://www.blogjava.net/gf7/comments/commentRss/154279.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/gf7/services/trackbacks/154279.html</trackback:ping><description><![CDATA[<p>数巨报表和其它国产报表一样，有一定的客户群和口碑，基本上自主研发了两年以上，价格基本在万元左右。数巨报表和如意报表类似，都是用于拖拽式，有一定的技术代表性。数巨报表产品主要定位于中低端市场，以易用性、满足中国用户需求、价格低为目标，逐渐建立中低端市场客户满意度，毕竟这部分客户还是担心项目的风险性。</p>
<p>Microstrategy是国外品牌，在全球BI软件市场占用很大的份额，通过BI软件产品向中国高端市场进军。他们往往能与最终用户直接签单，能给系统集成商和软件开发商带来丰厚的利润。Microstrategy报表软件的确功能强大，提供了很多二次开发接口，能给用户解决很多实际问题，但是价格昂贵不是一般客户可以接受的。</p>
<p>这是本人的一点认识，不正确的地方希望得到大家的指出。</p>
<br />
&nbsp;<br />
本人不是MicroStrategy的代理或原厂，仅代表个人观点。<br />
&nbsp;&nbsp;&nbsp; 这两个产品在我看来，不在一个层次上，应用的范围和覆盖面也不相同，是国产软件比拼国外软件。<br />
&nbsp;&nbsp;&nbsp; 1.价格方面：正如楼上说数巨报表价格在万元左右，而MSTR一个普通配置均在20万以上，从目前局势，MSTR厂家还一直在涨价过程中。<br />
&nbsp;&nbsp;&nbsp; 2.服务方面：外商只要收到钱，服务还是满周到的，包括升级、技术支持，但千万不要指望他们帮你开发什么东西（除非付钱或厂家有其他战略企图）；国产软件，由于开发时间短，资金投入不足，所以BUG会多一些，厂家靠自己的工程师来维护有些项目。<br />
&nbsp;&nbsp;&nbsp; 3.技术方面：虽然老外挣钱比较黑，但东西还是好东西，特别是MSTR，本身就定位于高端产品，在国内银行、电信、石油等大型企业的TB级数据仓库中，经常被采纳和使用。相反对于应用可有可无的政府、街道，用用国产软件还可以拼凑着玩玩，因为这些地方有工具无工具不会对生产造成影响。<br />
<p>&nbsp;&nbsp;&nbsp; 技术比拼应该以下几个方面进行<br />
&nbsp;&nbsp;&nbsp; 一、伸缩性<br />
&nbsp;&nbsp;&nbsp; MicroStrategy的第三代ROLAP架构，在容量上很容易能达到TB级或一个数据库平台能存储的数据量，这是通过以下方式实现的：反复地在优化的基于server的平台、数据库和MicroStrategy&#8217;s Intelligence Server中执行分析。根据定义，假定BI平台能够像MicroStrategy 那样产生高度优化的基于平台的SQL，数据库技术不断扩展并且将是一个理想的场所来完成大容量数据处理。MicroStrategy中的 Intelligence Server能进行多维分析，比如能利用各种各样的OLAP函数，执行那些不能被数据库高效率处理的cube-like slice and dice fully offloading analysis。<br />
&nbsp;&nbsp;&nbsp; MicroStrategy 中的Intelligence Server是一个基于组件的应用服务器，提供了高度伸缩性环境所具备的必要控制和应用系统管理，如下所述：<br />
&#8226; 在理想平台上完成多维分析处理（通过Intelligence Server或数据库中的200多个分析库）<br />
&#8226; 真正共享的多级别的缓存完全与Intelligence Server中的安全模式进行了集成<br />
&#8226; 通过连接池、粒状数据和应用控制来智能地管理所有的用户对数据库的连接<br />
&#8226; 通过排队等候和线程管理，对所有请求动态分配优先权<br />
&#8226; 系统用法和性能调整工具<br />
&#8226; 群集管理和负载均衡<br />
&#8226; 通过动态资源分配进行自我调整的结构使组件满负荷工作<br />
&nbsp;&nbsp;&nbsp; MicroStrategy是第一个认可主动信息传递需要的BI厂商。以1998年的Broadcaster产品为开端，还有近期新近命名的Narrowcast Server，MicroStrategy使得通过各种媒体如：email、传真、呼机、手机，主动传递高度个性化的相关信息成为可能。该功能是out of the box并且不需要任何定制代码。用户定制他们想收到的信息、条件，例如数据中的异常或者是基于事件的标准和设备类型。<br />
&nbsp;&nbsp;&nbsp; 结构被设计成从MicroStrategy Intelligence Server和外部信息源中接受个性化的内容。从多种来源中获得的信息可能会出现在MicroStrategy Narrowcast Server的输出结果当中。数据源的例子包括从ERP系统中获得的XML内容、从内容供给者和入口处获得的ICE内容，或者其它的非关系型的内容如：平面文件、图片等等。基于XML的结构确保了完善的内容控制和对任何当前或将来存在的设备的适应性。Out of the box，MicroStrategy Narrowcast Server使你能够以HTML、普通文本、或Excel的形式给任何一个SMTP网关传送商业智能报告。<br />
&nbsp;&nbsp;&nbsp; 二、安全性<br />
&nbsp;&nbsp;&nbsp; MicroStrategy满足以下需求：MicroStrategy 9安全模式包含必要的广度和深度，通过internet允许BI应用系统对员工、合作伙伴、供应商和顾客进行安全部署。MicroStrategy产品是通过以下方式实现其安全性的：应用功能级别的特权的使用、报表对象级别上的访问控制列表、安全过滤器、连接映射和在数据级别上对数据库视图的支持。另外，用户级别的安全是通过MicroStrategy与NT、WIN2003、LDAP的集成实现的，传输级别的安全是通过128位的SSL传输、128位数据加密或在web服务器上无数据库连接的双防火墙配置来实现的。<br />
MicroStrategy 基于配置文档的安全性能确保了平台和传输体系中的每一部分都是安全的，都被严格管理。另外，MicroStrategy对工业标准的安全尺度的实现确保了MicroStrategy的安全模型能与当前存在的任一安全方式进行集成。<br />
&nbsp;&nbsp;&nbsp; 三、部署能力（包括维护能力）<br />
&nbsp;&nbsp;&nbsp; MicroStrategy提供了desktop方式和web方式的集成的全功能性的BI，完整的BI功能包括静态报表制作，报表分发，查询和报表制作，OLAP分析，集分析并且从一个集成的接口利用数据挖掘。<br />
&nbsp;&nbsp;&nbsp; 允许用户从一个单独的接口，通过MicroStrategy Architect, MicroStrategy Agent 和 MicroStrategy 服务器管理之间紧密的集成来进行设计、创建、维护、运行和监视分析。<br />
&nbsp;&nbsp;&nbsp; 四、分析能力<br />
&nbsp;&nbsp;&nbsp; 由于MicroStrategy具有能够以优化的方式存取TB级数据的能力，用户有权在他们的安全角色确定的适当的控制范围内使用整个数据仓库。虽然许多查询工具能够检索少量的slice级别的数据，仅有MicroStrategy能够对可用的信息进行足够深度和宽度的优化存取。<br />
&nbsp;&nbsp;&nbsp; 五、易用<br />
&nbsp;&nbsp;&nbsp; MicroStrategy Web中的纯HTML解决方案，使得能通过任何浏览器、在任何操作系统上、穿过任何防火墙被迅速存取。MicroStrategy Web提供了像完全互动地钻取引导、递增的获取、导航、转出到Excel、ad hoc报表创建、排序/分等级、表格和图形方式、任意旋转、报表提示等功能。<br />
&nbsp;&nbsp;&nbsp; MicroStrategy Web中的Page-By提供了一个类似slice and dice 功能的cube。另外，MicroStrategy的互动处理是完全透明的。<br />
&nbsp;&nbsp;&nbsp; 六、性能<br />
&nbsp;&nbsp;&nbsp; MicroStrategy 以cube响应时间的方式提供了具有ROLAP结构的数据伸缩性。这是MicroStrategy 通过动态地在所有级别上优化性能、阻止瓶颈在BI环境中发生来实现的，如下所述：<br />
&nbsp;&nbsp;&nbsp; 数据库处理<br />
&nbsp;&nbsp;&nbsp; MicroStrategy利用数据库平台内在的优化，通过高度优化的、能对产生的SQL类型和优化提供粒状控制的数据库版本明确的VLDB驱动程序，进行大数据量处理和进一步提高整个数据库处理的效率。<br />
&nbsp;&nbsp;&nbsp; MicroStrategy自动的aggregate table generation and advanced aggregate awareness意味着任何要添加进数据库的聚合表被MicroStrategy SQL引擎自动地动态利用。其它的数据库构造自动地利用包括本地数据库函数，性能调节算法和对像，MicroStrategy中的VLDB驱动程序包含大约60个<br />
&nbsp;&nbsp;&nbsp; 应用处理层<br />
&nbsp;&nbsp;&nbsp; 虽然MicroStrategy 中的Intelligence Server提供了大量的performance tuning aspects，然而它的主要目的是作为神经中枢对所有处理资源进行有效的协调-确保组件被正确利用，在优化的平台进行的处理包括：<br />
&#8226; 在内存中有多级缓存，自动提示<br />
&#8226; 依靠请求类型和可用资源，在数据库或应用服务器上反复处理<br />
&#8226; 通过动态给超载组件分配资源的自我调整的结构<br />
&#8226; 聚类和动态的负载均衡<br />
&#8226; 异步的处理能力保证能够在同一时间处理多个web客户端请求<br />
&nbsp;&nbsp;&nbsp; 数据传输<br />
&nbsp;&nbsp;&nbsp; MicroStrategy的ROLAP方式保证了在网络上只传输结果集。MicroStrategy把XML作为信息传递的机制保证了只向web浏览器发送高效结果集。递增的Fetch确保了请求结果行的数量在被需要的时候，从MicroStrategy Intelligence Server发送到web浏览器。<br />
&nbsp;&nbsp;&nbsp; 展示/本地desktop<br />
&nbsp;&nbsp;&nbsp; 大多报表格式和数据操纵在瘦客户端完成。类似于cube的数据操纵如Page By等和其它的数据操纵如数据排序是在本地完成的。<br />
&nbsp;&nbsp;&nbsp; The MicroStrategy Narrowcast Server subscription portal也在关系结构中缓存HTML内容，这主要是为了允许narrowcast server subscription portal用户通过portal来浏览个性化的静态服务。<br />
<br />
Max@X Analyser 5是新一代的报表与数据分析技术产品。针对复杂应用环境下的数据Web报表展现与联机数据分析（OLAP）而设计，重点在部署与集成、复杂表样支持、特殊需求适应、数据填报、OLAP 快速实施及可用性、服务器性能等方面进行了创造性的优化。<br />
Max@X Analyser由四部分组成：Web报表（Reports）、联机数据分析（OLAP）、服务器引擎（Server Engine）、决策门户（Analyser Portal）。&nbsp; <br />
<strong><font color="#ff0000">可满足任何复杂样式需求的WEB报表设计模型（Reports）<br />
</font></strong>报表是数据分析的最基础形式，也是应用最为广泛的数据表现形式。Max@X Analyser包含了一套功能强大且简单易用的专业Web报表工具。除了解决传统工具已经涵盖的B/S架构报表制作、预览、打印及导出文件等方面外，Max@X Analyser更进一步，在复杂报表的设计处理、特殊样式的扩展适应、海量数据的快速响应等方面，提供了更为优越的性能表现。<br />
<strong><font color="#ff0000">可直连多数据库的联机数据分析模型（OLAP）</font></strong><br />
联机分析处理OLAP是Max@X Analyser的重要核心之一，支持动态分析操作，侧重决策支持，并提供直观易懂的查询结果。Max@X Analyser无需数据仓库建设，也无需任何第三方OLAP Server支持，用户仅仅需要懂得数据库管理知识，就可以快速建立OLAP系统，设计并部署OLAP分析模型。Max@X Analyser联机分析功能不仅能进行数据汇总/聚集，建立多维度的分析、查询和报表，同时还提供切片、切块、下钻、上卷和旋转等数据分析功能，从而使用户从更快、更易使用的交互方式中获得收益。<br />
<strong><font color="#ff0000">可集成、可独立部署的服务器引擎（Server Engine）</font><br />
</strong>服务器引擎是Max@X Analyser专门提供给集成用户的服务器核心。服务器引擎的表现形式在Java下是一系列JAR文件，在VS.NET下是一个Web组件。无论是JAVA还是VS.NET版本，服务器引擎均可作为应用程序的一个组成部分与应用程序进行集成，并接受应用程序的授权等控制，与应用程序共享数据库连接池。<br />
<strong><font color="#ff0000">100%免代码的快速部署发布应用门户服务器（Analyser Portal Server）</font><br />
</strong>如果说我们可以把企业看做一架飞机的话，那么决策门户服务器（Analyser Portal Server）就是这架飞机的仪表及控制平台。Analyser Portal Server无需任何代码，根据人机交互的部署配置，自动创建应用页面及控制平台，包含了信息发布、信息共享、快速决策、任务定制以及授权控制等功能前端应用，与所有Max@X Analyser产品组件紧密关联。同时，它是一个基于Web的应用平台。通过这个平台，终端用户可以方便地完成数据分析、信息发布以及信息协同等任务。<br />
<font face="宋体" size="3">&nbsp; </p>
<p style="margin: 0cm 0cm 0pt; text-indent: 22.4pt"><font size="2">我感觉大家对于两种产品的讨论已经很充分了，也详细的讨论了两种产品的功能和优缺点。</font></p>
<p style="margin: 0cm 0cm 0pt; text-indent: 22.4pt"><font size="2">的确，两种产品的定位不同，针对的客户群也不一样，也没有必要非要评出个孰优孰劣，应该说是各有千秋。</font></p>
<p style="margin: 0cm 0cm 0pt; text-indent: 22.4pt"><font size="2">在技术方面：</font></p>
<p style="margin: 0cm 0cm 0pt; text-indent: 22.4pt"><font size="2">MSTR作为BI软件的领导厂商之一，通过一组软件产品满足BI领域的五大应用，分别是：</font></p>
<p style="margin: 0cm 0cm 0pt; text-indent: 28pt"><font size="2">企业级报表——报表生成器用来生成很好的格式化的静态报表，这些报表广泛的向多数人发布。</font></p>
<p style="margin: 0cm 0cm 0pt; text-indent: 22.4pt"><font size="2">&nbsp;立方体分析——基于立方体的BI工具向业务经理们提供简单的切片和钻取分析能力。</font></p>
<p style="margin: 0cm 0cm 0pt; text-indent: 22.4pt"><font size="2">&nbsp;任意查询和分析——关系型OLAP(ROLAP)工具供超级用户对数据库进行任意的访问，对整个数据库进行切片、钻取，从而分析到最细粒度的交易信息。</font></p>
<p style="margin: 0cm 0cm 0pt; text-indent: 22.4pt"><font size="2">&nbsp;统计分析和数据挖掘——通过统计分析和数据挖掘工具，可以使用各类模型进行预测或者寻找两个变量之间的因果相关性。</font></p>
<p style="margin: 0cm 0cm 0pt; text-indent: 22.4pt"><font size="2">&nbsp;报表分发和预警——基于报表分发机制，可以根据订阅、调度或者数据库中的触发事件向大量的用户群发送整个报表或者告警信息。</font></p>
<p style="margin: 0cm 0cm 0pt; text-indent: 22.4pt"><font size="2">从软件伸缩性来讲，它支持TB级的数据和百万级的用户；</font></p>
<p style="margin: 0cm 0cm 0pt; text-indent: 22.4pt"><font size="2">在商务智能平台方面：它支持快速的集成，丰富的业务分析手段和主动分发；</font></p>
<p style="margin: 0cm 0cm 0pt; text-indent: 22.4pt"><font size="2">在适应互联网方面：它以纯Web界面、快速部署与简单维护、全面的安全、高可靠和高性能著称。</font></p>
<p style="margin: 0cm 0cm 0pt; text-indent: 22.4pt"><font size="2">同样，数巨作为后起之秀，以其优惠的价格，支持复杂报表的能力而获得用户的青睐，正如maxatx仁兄所介绍的一样，作为国产软件，它非常注重国人的特殊需求，比如国内常见的异常负责的报表表头，国外通常是很少见的，而且国内企业在BI方面的应用往往是刚刚起步，对于分析的需求多数还停留在报表方面，在这种情况下选择数巨是就成为了一个性价比很高的选择。</font></p>
<p style="margin: 0cm 0cm 0pt; text-indent: 22.4pt"><font size="2">在价格方面，根据需求的不同采购的模块不同价格差异较大，但从满足基本的报表功能方面来比较，MSTR的价格通常在几十万这个量级，而数巨通常在几万到十几万这个区间，如果单从价格方面来说，数巨当然是占有较大优势了。</font>
<p style="margin: 0cm 0cm 0pt; text-indent: 22.4pt"><font size="2">在服务方面，作为国外软件，通常认为其服务难以跟上，但MSTR已经进入国内市场多年，拥有一支完备的代理商和技术服务队伍，因此从服务方面来讲还是有保障的，不过其服务价格也不菲。而数巨作为国产软件，当然发挥其本土优势，服务方面应该是没的说的。</font>
<p style="margin: 0cm 0cm 0pt; text-indent: 22.4pt"><font size="2">总之，两种软件对应的是不同的客户群，对于电信、银行等大数据量，大访问量，有复杂分析需求且资金充裕的行业，可以选择MSTR来满足其特殊应用。而对于广大中小企业，并没有太多的数据量和访问量，分析需求又相对简单以报表为主，且对价格比较敏感的话，那么数巨就成为了最好的选择。</font></p>
<p style="margin: 0cm 0cm 0pt; text-indent: 22.4pt"><font size="2">软件评分：</font></p>
<p style="margin: 0cm 0cm 0pt; text-indent: 22.4pt"><font size="2">MSTR：技术：65；价格：5；服务：20；总分90分。</font></p>
<p style="margin: 0cm 0cm 0pt; text-indent: 22.4pt"><font size="2">数巨：技术：55；价格：10；服务25；总分90分。</font> </font></p><img src ="http://www.blogjava.net/gf7/aggbug/154279.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/gf7/" target="_blank">风</a> 2007-10-19 17:21 <a href="http://www.blogjava.net/gf7/archive/2007/10/19/154279.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>[转]Reporting Services与相关产品的比较</title><link>http://www.blogjava.net/gf7/archive/2007/10/19/154275.html</link><dc:creator>风</dc:creator><author>风</author><pubDate>Fri, 19 Oct 2007 09:03:00 GMT</pubDate><guid>http://www.blogjava.net/gf7/archive/2007/10/19/154275.html</guid><wfw:comment>http://www.blogjava.net/gf7/comments/154275.html</wfw:comment><comments>http://www.blogjava.net/gf7/archive/2007/10/19/154275.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/gf7/comments/commentRss/154275.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/gf7/services/trackbacks/154275.html</trackback:ping><description><![CDATA[<strong>
<div class="storytext"><font color="#002c99"></font><br />
Microsoft SQL Server 2000报表服务是服务器端的完整平台，它对传统纸面报表以及可交互的基于Web的报表都可以进行建立、管理和发布。它是微软已有的商业智能与数据仓库解决方案产品——Microsoft Office、Microsoft Business Solutions与Microsoft SQL Server的有益补充。<br />
<br />
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组件。<br />
<br />
笔者根据所参与的项目及以前的应用经验，对Microsoft SQL Server Reporting Services、OWC和Microsoft SQL Server组成的微软企业级报表解决方案与相关产品的解决方案作了一个简单比较。
<p><strong>与Cognos公司产品的比较</strong><br />
Cognos的产品简介<br />
Cognos公司的产品Cognos Suite是由一系列的功能模块组合而成的套件，包括ImpromptU、Powerplay和Scenario等模块。<br />
Impromptu提供查询、报表功能，针对关系型数据。可以将Powerplay的数据形成报表，这是Cognos公司的集成。Impromptu Web Reports（WR）在Web上为大量报表用户提供易于打印的管理报表。用户可以订阅已发布报表，对其进行定制来满足特定的需要。<br />
Powerplay提供OLAP分析功能，针对多维数据PowerCube（Cognos定义的多维数据结构）。在Powerplay中可以钻取到Impromptu中。这是Cognos公司的集成。<br />
Transformer将Impromptu及其他数据源中的数据形成PowerCube，以备Powerplay使用。Scenari是数据挖掘工具。4Thought是采用神经网络技术的建模与预测模块。</p>
<p><strong>Cognos报表解决方案与Reporting Services的不同点</strong>Cognos的解决方案不是集成的产品（将查询、报表作一个工具，分析作一个工具，Cognos的理由是先分析再做表）；没有类似于Designer的专门设计模块，在Impromptu模块中完成数据库的连接与catalog的定义，因此Impromptu的使用要求用户具备数据库专业知识；没有对报表的集中管理、分发和调配的功能。目前引进中国的只有Impromptu、Powerplay。</p>
<p><strong>Reporting Services的特点</strong><br />
1）Reporting Services是集查询、报表和分析于一体的产品，只需学习一个工具的使用、在一个界面上操作，易用性强。符合查询、分析、再查询、再分析循环往复的决策思维方式； Impromptu和Powerplay所使用的数据层不同，不能共用，Powerplay使用的多维数据由其它模块生成，是静态的多维立方体，维的改变需切换到其它模块。<br />
2）Reporting Services的几大模块在SQL Server数据库引擎的管理下形成一个统一完整的系统，具有统一的用户与资源管理，安全性高。<br />
3）文档共享方面，Reporting Services提供输出多种格式或Email等多种方式。<br />
4）Reporting Services是32位结构，Impromptu是16位结构。数据量大时，使用Impromptu不稳定，会出现死机等。</p>
<p><strong>与SAS的比较</strong><br />
SAS简介<br />
SAS以统计分析软件包起家，在统计分析方面具备很强实力。发展到现在，SAS成为一个包含许多模块与功能的庞大的软件包，有两种使用方式：一是直接使用一些应用模块对存于SAS自己数据库中的数据进行多种多样的统计分析，这些应用模块包括统计分析STAT、财务分析ETS、运筹学OR等等。利用这些模块要求用户具备较高的数学尤其是统计分析专业知识，同时要具备较高的计算机操作能力。而且如果数据存在其它数据源中，需要利用SAS进行预先转换，这需要用户具备数据库专业知识。二是用户单位的计算机人员利用SAS的若干模块编程，为最终用户提供特定的应用系统。这样做的优点是可以为最终用户提供所要求的简便界面，但对技术人员的要求很高，培训时间也很长；而且灵活性差：一旦用户需求有改变，需要重新编程。SAS对数据的处理能力很强，但需要用户长时间的培训才能应用起来。</p>
<p><strong>SAS与微软的企业级报表解决方案的比较</strong><br />
SAS与微软的企业级报表解决方案不是同类产品。<br />
1）易用性相差很大，从而面向的用户对象不同<br />
SAS功能很多，提供算法很多，因此易用性差，要求用户具备很扎实的数学基础、统计分析基础和计算机基础。<br />
2）若利用SAS开发一套系统，优势是贴切需求，但对应用需求的提出、开发、实施和相关厂商的技术支持要求很高，并且开发系统的开放性、稳定性、可移植性、灵活性上比商业软件要差，尤其国内现阶段的开发手段相对比较落后。<br />
与Pilot产品的比较<br />
Pilot公司的产品包含服务器端和客户端，其服务器端的产品是多维数据库。客户端产品功能与Microsoft SQL Server Reporting Services相似，有如下不同之处：<br />
l）Microsoft SQL Server Reporting Services不但支持关系型数据，而且支持来自第三方的多维数据。而Pilot的客户端产品只支持自己格式的多维数据。因此关系型数据用户必须先将数据导入Pilot的多维数据库中。用户工作量很大，相当于重新建立多维数据库，这样不如选择其它产品构建数据仓库，以Reporting Services做前端展现。<br />
2）Pilot的多维数据的维的改动很难，不灵活。<br />
3）Pilot客户端产品的易用性差，需要编程，工作量大，后期维护难。</p>
<p><strong>与Oracle公司产品的比较</strong><br />
Oracle公司的Discoverer与Reporting Services功能近似，但两者也有一些区别。<br />
Reporting Services支持的数据源更为广泛，可以是数据仓库，也可以是大型关系数据库如 Sybase、Oracle、Informix、SQL Server、DB2，单机数据库如Access、Foxpro、dBase等，多维数据库如Essbase、Express，常用应用软件如SAP R／3、Peoplesoft或Oracle的一些常用应用软件包，数据文件如Excel、TXT文件等，只要有相应的驱动即可。<br />
Discoverer 3是针对关系数据库的，不适用于数据仓库和多维数据库，即使对Oracle自己的多维数据库Express也不支持。<br />
Reporting Services对Oracle、SQL Server数据库有内部直接连接，其他较为流行的大型数据库Sybase、Informix、DB2可以通过OLEDB连接。Discoverer 3只能通过ODBC与数据库连接，因此查询数据的速度相对较慢。<br />
Discoverer 3不能在一个文件中同时用表和统计图表示数据。<br />
Discoverer 3不能在统计图上对数据进行钻取。<br />
Discoverer 3的安全控制弱，不能定义用户及用户组的不同描述文件，既不能对哪些用户使用哪些模块进行控制，也不能对一些敏感数据进行进一步的控制。而Reporting Services可以对整个报表运行系统进行管理，对权限及某些数据进行控制。<br />
Reporting Services还可以对报表集中分发、管理。例如用户可以规定刷新和发送报表的时间，如每小时、每天、每周、每月等刷新发送一次，或在现定时间只发送一次。通过一些简单的属性设置，还可以发送报表到Web页面上，并定时刷新。Discoverer 3没有对报表文件的集中批处理。<br />
Discoverer3可以将文件转为HTML格式，但不支持定时刷新。</p>
<p><strong>与Seagate公司产品的比较</strong><br />
公司简介<br />
希捷公司由Alan Shugart创建于1979年，最初主要生产数据存储设备，在随后的发展过程中，逐渐由硬件设备厂商扩展为&#8220;数据技术公司&#8221;。1994到1997年间，相继收购了Crystal Service（Crystal Report，Crystal Info产品的创建公司）、Holistic Systems（Holos OLAP Server产品的创建公司）等公司来扩展其软件产品系列。</p>
<p><strong>解决方案</strong><br />
<strong>产品线：</strong><br />
Seagate Info——包括查询、报表和多维分析，以及安全管理，其中包含Seagate Analysis模块；支持多种关系型数据、多维数据库；<br />
Seagate Analysis——提供查询、报表和多维分析；<br />
Seagate Crystal Reports——报表制作工具，提供查询、报表功能和API接口，可以在开发工具中集成；<br />
Seagate Holos——OLAP Server。</p>
<p><strong>相关比较</strong><br />
Seagate Info没有语义层技术，无论是使用Seagate Info还是Crystal Reports，都需要让用户自己从数据库选择表，构造SQL语句，因此用户必须了解数据库技术。<br />
Crystal Reports主要是为专业计算机人员提供的报表制作工具，有较强的二次开发能力，因此它作为报表工具组件曾被集成到多种开发工具和应用程序中，如Microsoft Visual Studio.NET。但考虑到相关的使用许可，Crystal Reports是一个相对昂贵的选择。</p>
<p><strong>与MicroStrategy公司产品的比较</strong><br />
MicroStrategy公司由Michael J．Savior创建于1989年，最初主要是作为一家决策支持领域的咨询公司，在随后的发展过程中，于1993年推出了第一个产品包：MicroStrategy Agent，以后相继推出一系列产品：MicroStrategy Web、MicroStrategy Broadcaster、MicroStrategy Telecaster等，现新产品包称为MicroStrategy7，致力于提供面向个性化的电子商务智能解决方案。</p>
<p><strong>MicroStrategy解决方案的产品线包括：</strong><br />
MicroStrategy Intelligence Server——整个产品中的核心产品，多层体系结构下的中间应用服务器，为各种前端应用提供中间应用层能力。<br />
MicroStrategy Web——Web体系下的应用服务器，提供基于Web体系下的查询、电算表格和多维分析能力。<br />
MicroStrategy Agent——数据挖掘、应用开发工具，提供API接口。<br />
MicroStrategy InfoCenter——企业级报表、门户工具。<br />
MicroStrategy Architect——商业对象抽象层设计工具。<br />
MicroStrategy Desktop——MicroStrategy Agent、MicroStrategy Architect和MicroStrategy Administration Utility的集成化应用环境</p>
<p>MicroStrategy有较弱的语义层技术，称之为企业商业体系，但能力比较弱，无法支持复杂的语义表达。<br />
前端工具MicroStrategy Desktop的易用性较差，Businessobjects是唯一在决策支持工具中获得Microsoft office兼容认证的产品，易用性同Office类似，同时支持Microsoft VBA二次开发技术。<br />
前端工具MicroStrategy Desktop对灵活查询支持较弱。<br />
MicroStrategy不具备企业级特征，对企业级报表制作、企业信息共享与分发、企业级维护与管理支持较弱，管理复杂。<br />
MicroStrategy整个产品学习和使用较为困难，需要更多的技术支持。<br />
Reporting Services有支持XML的designer和应用模板（Wizard），使得用户只需按照自己的需求稍做调整，就可以达到应用效果，MicroStrategy没有提供类似能力。<br />
MicroStrategy采用了N-tier体系结构，在构架的灵活性上与微软的企业级报表解决方案相当</p>
</div>
</strong>
<img src ="http://www.blogjava.net/gf7/aggbug/154275.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/gf7/" target="_blank">风</a> 2007-10-19 17:03 <a href="http://www.blogjava.net/gf7/archive/2007/10/19/154275.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>商业智能平台研究 (十) ETL 选型</title><link>http://www.blogjava.net/gf7/archive/2007/08/30/141356.html</link><dc:creator>风</dc:creator><author>风</author><pubDate>Thu, 30 Aug 2007 05:52:00 GMT</pubDate><guid>http://www.blogjava.net/gf7/archive/2007/08/30/141356.html</guid><wfw:comment>http://www.blogjava.net/gf7/comments/141356.html</wfw:comment><comments>http://www.blogjava.net/gf7/archive/2007/08/30/141356.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/gf7/comments/commentRss/141356.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/gf7/services/trackbacks/141356.html</trackback:ping><description><![CDATA[<div align=center><font size=4>商业智能平台研究 (十) ETL 选型<br></font>
<div align=left><font size=4>ETL (Extract-Transform-Load的缩写，即数据抽取、转换、装载的过程)作为BI/DW（Business Intelligence）的核心和灵魂，能够按照统一的规则集成并提高数据的价值，是负责完成数据从数据源向目标数据仓库转化的过程，是实施数据仓库的重要步骤。如果说数据仓库的模型设计是一座大厦的设计蓝图，数据是砖瓦的话，那么ETL就是建设大厦的过程。在整个项目中最难部分是用户需求分析和模型设计，而ETL规则设计和实施则是工作量最大的，约占整个项目的60%～80%，这是国内外从众多实践中得到的普遍共识。<br><br>ETL工具从厂商来分为两种,一种是数据库厂商自带的ETL工具,Oracle warehouse builder 就是这种,另外一种是第三方工具提供商.开源世界也有一大票的ETL工具,功能各异,强弱不一,你可以从一下地址找到开源ETL工具的列表 http://www.manageability.org/blog/stuff/open-source-etl/view&nbsp; , 提醒一句,选用工具的时候要慎重,真的,千万要慎重,不管你是选用商业的ETL工具(一般比较贵),还是开源的工具,都要在你充分了解产品的特性才去选择,千万不要听某某人说什么这个工具好,就购买了那个工具,一定要自己了解产品.<br><br>开源的ETL工具的列表 (排名是乱排的)<br>kettle&nbsp; http://kettle.pentaho.org/&nbsp; ,pentaho官方的ETL工具,是一个metadata-driven 的ETL工具,不需要自己写code .<br>talend&nbsp; http://www.talend.com/&nbsp;&nbsp;&nbsp; talend是talend自己公司的产品,宣传的是全功能的Data Integration 解决方案,基于eclipse 平台,包括很多的模块来实现商业流程建模,数据流程建模,最后输出的是perl 和 Java code<br>jasperETL&nbsp; http://www.jaspersoft.com/&nbsp;&nbsp; JasperETL是基于talend的平台,不太清楚有什么区别,jaspersoft开发的ETL产品.<br>Octopus&nbsp;&nbsp; http://www.enhydra.org/tech/octopus/index.html&nbsp;&nbsp;&nbsp; octopuc是enhydra 的一个ETL工具,enhydra是一个产品跨度非常大的开源站点,它有个开源的Workflow ,Shark ,pentaho就是使用的这个Workflow ,这个组织从workflow 到application server , 从ETL工具到application framework ,还有一些其他的中间件,octopus非常的原始,支持任何的JDBC数据源,用XML语言来定义的.也支持JDBC-DOBC ,和excel 和 access ,csv-files, XML files ,用Ant 和 JUnit 来创建表和测试.<br>CloverETL http://cloveretl.berlios.de/&nbsp;&nbsp; CloverETL是提供给你一组API,用XML来定义ETL过程,同样支持JDBC数据源, CloverETL是开源的,但是它是没有图形界面的,它提供一个有图形界面的CloverGUI 来进行ETL的图形化开发过程,但是不是开源的,需要购买商业许可证.<br>KETL&nbsp;&nbsp; http://www.ketl.org/&nbsp;&nbsp;&nbsp; 听说是几个前IBM员工做出来的ETL产品,<br>另外还有很多.不一一写介绍了,只列个表吧,<br>Joost&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; http://joost.sourceforge.net/&nbsp;&nbsp;&nbsp; 最近有个web2.0 网站也叫Joost,名字相同而已.<br>Xineo&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; http://software.xineo.net/xil.jspx<br>BabelDoc&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; http://sourceforge.net/projects/babeldoc<br>CB2XML&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; http://sourceforge.net/projects/cb2xml<br>mec-eagle&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; http://sourceforge.net/projects/mec-eagle/<br>Transmorpher&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; http://transmorpher.inrialpes.fr/<br>XPipe&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; http://xpipe.sourceforge.net/Articles/Miscellaneous/fog0000000018.html<br>DataSift&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; http://www.datasift.org/<br>Xephyrus Flume&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; http://www.xephyrus.com/flume/flume-intro.Prlx<br>Smallx&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; https://smallx.dev.java.net/<br>Nux&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; http://dsd.lbl.gov/nux/index.html<br>Netflux&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; http://www.netflux.org/<br>OpenDigger&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; https://opendigger.dev.java.net/<br>ServingXML&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; http://servingxml.sourceforge.net/<br>Scriptella&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; http://scriptella.javaforge.com/<br>ETL Integrator&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; http://www.glassfishwiki.org/jbiwiki/Wiki.jsp?page=ETLSE<br>Jitterbit&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; http://www.jitterbit.com/<br>Apatar&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; http://www.apatar.com/<br>Spring Batch&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; http://static.springframework.org/spring-batch/<br><br>大多数站点都是在sf.net上的.其中最后一个是Spring的,大名鼎鼎的Spring 也往ETL插一脚.实在是..........<br>根据talend官方介绍的数据,ETL工具的市场份额在2006好像是有160多亿美元.由于BI项目的成功,ETL的这一市场份额还会扩大,这也不难理解,为什么这么多的公司都在做ETL工具了.开源世界也免不了想要分一杯羹.再次废话一句,开源的东西你可以免费得到和使用,但是当你想应用到企业级开发的时候,省钱可不是唯一应该考虑的因素.还是那句话,慎重呀慎重.<br><br>下一篇介绍BI的基本概念.</font></div>
</div>
<img src ="http://www.blogjava.net/gf7/aggbug/141356.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/gf7/" target="_blank">风</a> 2007-08-30 13:52 <a href="http://www.blogjava.net/gf7/archive/2007/08/30/141356.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>开源BI系统简述</title><link>http://www.blogjava.net/gf7/archive/2007/08/28/140613.html</link><dc:creator>风</dc:creator><author>风</author><pubDate>Tue, 28 Aug 2007 10:09:00 GMT</pubDate><guid>http://www.blogjava.net/gf7/archive/2007/08/28/140613.html</guid><wfw:comment>http://www.blogjava.net/gf7/comments/140613.html</wfw:comment><comments>http://www.blogjava.net/gf7/archive/2007/08/28/140613.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/gf7/comments/commentRss/140613.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/gf7/services/trackbacks/140613.html</trackback:ping><description><![CDATA[<p class=MsoNormal align=center><a name=_Toc146945204><strong><span><font color=#000000>开源</font></span></strong></a><span><strong><span lang=EN-US>BI</span></strong></span><span><strong><span>系统简述</span></strong></span><span></span><strong><span lang=EN-US><o:p></o:p></span></strong></p>
<p class=MsoNormal><span lang=EN-US><o:p>&nbsp;</o:p></span></p>
<h1><span lang=EN-US><span>1.<span Times New Roman?; font-size-adjust: none; font-stretch: normal?>&nbsp;&nbsp; </span></span></span><span>概述</span></h1>
<p class=MsoNormal><span style="FONT-FAMILY: 宋体">开源的</span><span lang=EN-US>BI</span><span>项目在在</span><span lang=EN-US>2005</span><span>年之前并没有太大的发展，到了</span><span lang=EN-US>2005</span><span>年才开始呈现繁荣之势，并在</span><span lang=EN-US>2006</span><span>年蓬勃发展。这些众多的</span><span lang=EN-US>BI</span><span>项目从规模和对</span><span lang=EN-US>BI</span><span>系统支撑的完善程度上来说，大体可以分为</span><span lang=EN-US>Framework</span><span>、</span><span lang=EN-US>Stand-alone Tools</span><span>和</span><span lang=EN-US>BI Suit</span><span>三种类型。</span></p>
<p class=MsoNormal><span lang=EN-US style="FONT-FAMILY: wingdings"><span>l<span Times New Roman?; font-size-adjust: none; font-stretch: normal?>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span></span><span lang=EN-US>Framework</span></p>
<p class=MsoNormal><span style="FONT-FAMILY: 宋体">开源框架，这是在商业</span><span lang=EN-US>BI</span><span>系统中所没有的。我们可以使用它们来构建自己的</span><span lang=EN-US>BI</span><span>工具，或者增强和扩展我们的</span><span lang=EN-US>BI</span><span>解决方案。</span></p>
<p class=MsoNormal><span lang=EN-US style="FONT-FAMILY: wingdings"><span>l<span Times New Roman?; font-size-adjust: none; font-stretch: normal?>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span></span><span lang=EN-US>Stand-alone Tools</span></p>
<p class=MsoNormal><span style="FONT-FAMILY: 宋体">独立的</span><span lang=EN-US>BI</span><span>工具，这是开源项目中数量最多的一类。很多工具只侧重</span><span lang=EN-US>BI</span><span>系统中的某个环节和方面，如</span><span lang=EN-US>ETL</span><span>、</span><span lang=EN-US>Report</span><span>、</span><span lang=EN-US>OLAP</span><span>和</span><span lang=EN-US>Database</span><span>等等。</span></p>
<p class=MsoNormal><span lang=EN-US style="FONT-FAMILY: wingdings"><span>l<span Times New Roman?; font-size-adjust: none; font-stretch: normal?>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span></span><span lang=EN-US>BI Suit</span></p>
<p class=MsoNormal><span style="FONT-FAMILY: 宋体">在统一的架构下提供了多种</span><span lang=EN-US>BI</span><span>系统的特性的工具集合。就目前的情况看，不管是商业软件还是开源软件，还没有任何一个套件提供了完整的端到端的</span><span lang=EN-US>BI</span><span>解决方案。这些开源的</span><span lang=EN-US>BI Suit</span><span>是通过连接多个其他的组件和工具的方式形成套件的，由于</span><span lang=EN-US>BI</span><span>系统涉及到的工具是非常多的，所以整合一套完整的</span><span lang=EN-US>BI</span><span>解决方案是很困难的。</span></p>
<p class=MsoNormal><span lang=EN-US><o:p>&nbsp;</o:p></span></p>
<h1><a name=_Toc146945205><font color=#000000><span lang=EN-US><span>2.<span Times New Roman?; font-size-adjust: none; font-stretch: normal?>&nbsp;&nbsp; </span></span></span><span lang=EN-US>BI</span></font></a><span><span>解决方案中的工具</span></span></h1>
<p class=MsoNormal><span style="FONT-FAMILY: 宋体">一个完整的</span><span lang=EN-US>BI</span><span>解决方案中有多种工具来完成</span><span lang=EN-US>BI</span><span>系统中各个阶段的工作。</span></p>
<h2><a name=_Toc146945206><font color=#000000><span lang=EN-US><span><font face=Arial>2.1.</font><span Times New Roman?; font-size-adjust: none; font-stretch: normal?> </span></span></span><span lang=EN-US><font face=Arial>ETL</font></span></font></a><span><span>工具</span></span></h2>
<p class=MsoNormal><span style="FONT-FAMILY: 宋体">数据抽取、转换和加载工具。优秀的</span><span lang=EN-US>ETL</span><span>工具应该具有以下特性：</span></p>
<p class=MsoNormal><span lang=EN-US><span>1、<span Times New Roman?; font-size-adjust: none; font-stretch: normal?>&nbsp; </span></span></span><span lang=EN-US>Workflow Management, Job Execution and Scheduling Manager</span><span>。能方便地定义流程并自动化执行</span><span lang=EN-US>ETL</span><span>任务。</span></p>
<p class=MsoNormal><span lang=EN-US><span>2、<span Times New Roman?; font-size-adjust: none; font-stretch: normal?>&nbsp; </span></span></span><span lang=EN-US>Centralized Metadata Repository and Management</span><span>。集中存储和管理符合业界标准的元数据。</span></p>
<p class=MsoNormal><span lang=EN-US><span>3、<span Times New Roman?; font-size-adjust: none; font-stretch: normal?>&nbsp; </span></span></span><span lang=EN-US>Data Profile and Validation</span><span>。可以检验数据的质量。</span></p>
<p class=MsoNormal><span lang=EN-US><span>4、<span Times New Roman?; font-size-adjust: none; font-stretch: normal?>&nbsp; </span></span></span><span lang=EN-US>High Performance</span><span>。在大负荷的任务执行中仍然有良好的性能。</span></p>
<p class=MsoNormal><span lang=EN-US><span>5、<span Times New Roman?; font-size-adjust: none; font-stretch: normal?>&nbsp; </span></span></span><span lang=EN-US>Scalable, Platform Independent</span><span>。具有良好的弹性，支持多种操作系统和数据库系统，能操作多种异构的数据源。</span></p>
<p class=MsoNormal><span lang=EN-US><span>6、<span Times New Roman?; font-size-adjust: none; font-stretch: normal?>&nbsp; </span></span></span><span lang=EN-US>Open Architecture and API</span><span>。具有开放的架构和易于使用的二次开发接口。</span></p>
<p class=MsoNormal><span lang=EN-US><o:p>&nbsp;</o:p></span></p>
<p class=MsoNormal><span style="FONT-FAMILY: 宋体">目前较为知名的开源</span><span lang=EN-US>ETL</span><span>工具有：</span></p>
<p class=MsoNormal><span lang=EN-US><span>1、<span Times New Roman?; font-size-adjust: none; font-stretch: normal?>&nbsp; </span></span></span><span lang=EN-US><a href="http://www.kineticnetworks.com/"><font color=#0066aa><u>KETL</u></font></a></span><span>，由具有</span><span lang=EN-US>IBM</span><span>和</span><span lang=EN-US>KPMG</span><span>背景的</span><span lang=EN-US>Kinetic Networks</span><span>公司开发，现在已经有三年多的产品应用历史，成功应用于一些产品中，在点击流（</span><span lang=EN-US>ClickStream</span><span>）分析应用中表现出色。</span><span lang=EN-US>KETL</span><span>采用</span><span lang=EN-US>Plug-in</span><span>的架构，使用</span><span lang=EN-US>Java</span><span>开发。</span></p>
<p class=MsoNormal><span lang=EN-US><span>2、<span Times New Roman?; font-size-adjust: none; font-stretch: normal?>&nbsp; </span></span></span><span lang=EN-US><a href="http://www.kettle.be/"><font color=#0066aa><u>KETTLE</u></font></a></span><span>，为一个元数据驱动的</span><span lang=EN-US>ETL</span><span>工具。已经加入</span><span lang=EN-US>Pentaho</span><span>。</span></p>
<p class=MsoNormal><span lang=EN-US><span>3、<span Times New Roman?; font-size-adjust: none; font-stretch: normal?>&nbsp; </span></span></span><span lang=EN-US><a href="http://cloveretl.berlios.de/"><font color=#0066aa><u>Clover ETL</u></font></a></span><span>，为一个基于</span><span lang=EN-US>Java</span><span>的</span><span lang=EN-US>ETL Framework</span><span>，可以用来开发自己的</span><span lang=EN-US>ETL</span><span>应用。</span></p>
<p class=MsoNormal><span lang=EN-US><span>4、<span Times New Roman?; font-size-adjust: none; font-stretch: normal?>&nbsp; </span></span></span><span lang=EN-US><a href="http://www.enhydra.org/tech/octopus/index.html"><font color=#0066aa><u>Enhydra Octopus</u></font></a></span><span>，为一个基于</span><span lang=EN-US>Java</span><span>的</span><span lang=EN-US>ETL</span><span>工具，使用</span><span lang=EN-US>JDBC</span><span>来连接各种数据源，易于使用和部署。曾有人应用于电信网络资源分析系统中。</span></p>
<h2><a name=_Toc146945207><font color=#000000><span lang=EN-US><span><font face=Arial>2.2.</font><span Times New Roman?; font-size-adjust: none; font-stretch: normal?> </span></span></span><span>报表工具</span></font></a></h2>
<p class=MsoNormal><span style="FONT-FAMILY: 宋体">优秀的报表工具通常具有以下特性：</span></p>
<p class=MsoNormal><span lang=EN-US><span>1、<span Times New Roman?; font-size-adjust: none; font-stretch: normal?>&nbsp; </span></span></span><span>支持多种数据源。</span></p>
<p class=MsoNormal><span lang=EN-US><span>2、<span Times New Roman?; font-size-adjust: none; font-stretch: normal?>&nbsp; </span></span></span><span>直观的可视化设计器，简单易用的报表定制功能。</span></p>
<p class=MsoNormal><span lang=EN-US><span>3、<span Times New Roman?; font-size-adjust: none; font-stretch: normal?>&nbsp; </span></span></span><span>方便的数据访问和格式化，丰富的数据呈现方式。</span></p>
<p class=MsoNormal><span lang=EN-US><span>4、<span Times New Roman?; font-size-adjust: none; font-stretch: normal?>&nbsp; </span></span></span><span>符合数据呈现的通用标准，能和应用程序很好地进行结合。</span></p>
<p class=MsoNormal><span lang=EN-US><span>5、<span Times New Roman?; font-size-adjust: none; font-stretch: normal?>&nbsp; </span></span></span><span>易于扩展和部署。</span></p>
<p class=MsoNormal><span lang=EN-US><o:p>&nbsp;</o:p></span></p>
<p class=MsoNormal><span style="FONT-FAMILY: 宋体">目前较为知名的开源报表工具有：</span></p>
<p class=MsoNormal><span lang=EN-US><span>1、<span Times New Roman?; font-size-adjust: none; font-stretch: normal?>&nbsp; </span></span></span><span lang=EN-US><a href="http://jasperreports.sourceforge.net/" target=_new><font color=#0066aa><u>JasperReports</u></font></a></span><span>，一个优秀的</span><span lang=EN-US>Java</span><span>报表工具，始于</span><span lang=EN-US>2001</span><span>，现在</span><span lang=EN-US>JasperSoft</span><span>公司持续开发和支持该工具。该工具类似于商业软件</span><span lang=EN-US>Crystal Report</span><span>，支持</span><span lang=EN-US>PDF</span><span>、</span><span lang=EN-US>HTML</span><span>、</span><span lang=EN-US>XLS</span><span>、</span><span lang=EN-US>CSV</span><span>和</span><span lang=EN-US>XML</span><span>文件输出格式，现在是</span><span lang=EN-US>Java</span><span>开发者最常用的报表工具。</span></p>
<p class=MsoNormal><span lang=EN-US><span>2、<span Times New Roman?; font-size-adjust: none; font-stretch: normal?>&nbsp; </span></span></span><span lang=EN-US><a href="http://www.oreports.com/" target=_new><font color=#0066aa><u>OpenReports</u></font></a></span><span>，提供基于</span><span lang=EN-US>web</span><span>的灵活报表解决方案，通过浏览器自动生成动态</span><span lang=EN-US>PDF,XLS,HTMLCSV </span><span>和</span><span lang=EN-US>Chart</span><span>报表，它是用</span><span lang=EN-US>Java</span><span>开发的，使用</span><span lang=EN-US>JasperReports </span><span>作为报表引擎，利用到的开源技术有</span><span lang=EN-US>Hibernate,Veloctiy,Webwork</span><span>。</span></p>
<p class=MsoNormal><span lang=EN-US><span>3、<span Times New Roman?; font-size-adjust: none; font-stretch: normal?>&nbsp; </span></span></span><span lang=EN-US><a href="http://www.jfree.org/jfreereport" target=_new><font color=#0066aa><u>JFreeReport</u></font></a></span><span>，现在是</span><span lang=EN-US>Pentaho</span><span>的一部分，它是一个优秀的用来生成报表的</span><span lang=EN-US>Java</span><span>类库。它为</span><span lang=EN-US>Java</span><span>应用程序提供一个灵活的打印</span> <span>功能并支持输出到打印机和</span><span lang=EN-US>PDF, Excel, HTML</span><span>和</span><span lang=EN-US>XHTML, PlainText, XML</span><span>和</span><span lang=EN-US>CSV</span><span>文件中。</span></p>
<p class=MsoNormal><span lang=EN-US><span>4、<span Times New Roman?; font-size-adjust: none; font-stretch: normal?>&nbsp; </span></span></span><span lang=EN-US><a href="http://www.eclipse.org/birt/" target=_new><font color=#0066aa><u>Eclipse BIRT</u></font></a></span><span>，是</span><span lang=EN-US>Eclipse</span><span>下面的一个企业智能和报表</span> <span>工具，能为</span><span lang=EN-US>J2EE</span><span>的</span><span lang=EN-US>WEB</span><span>应用程序创建漂亮醒目的</span><span lang=EN-US>PDF</span><span>或者</span><span lang=EN-US>HTML</span><span>格式的报表，它提供了核心的报表功能。</span></p>
<h2><a name=_Toc146945208><font color=#000000><span lang=EN-US><span><font face=Arial>2.3.</font><span Times New Roman?; font-size-adjust: none; font-stretch: normal?> </span></span></span><span lang=EN-US><font face=Arial>OLAP</font></span></font></a><span><span>工具</span></span></h2>
<p class=MsoNormal><span style="FONT-FAMILY: 宋体">联机分析处理工具。目前开源的</span><span lang=EN-US>OLAP</span><span>工具也分为</span><span lang=EN-US>MOLAP</span><span>、</span><span lang=EN-US>ROLAP</span><span>和</span><span lang=EN-US>HOLAP</span><span>，优秀的</span><span lang=EN-US>OLAP</span><span>工具通常有以下特性：</span></p>
<p class=MsoNormal><span lang=EN-US><span>1、<span Times New Roman?; font-size-adjust: none; font-stretch: normal?>&nbsp; </span></span></span><span>良好的执行性能，能快速地进行分析处理工作。</span></p>
<p class=MsoNormal><span lang=EN-US><span>2、<span Times New Roman?; font-size-adjust: none; font-stretch: normal?>&nbsp; </span></span></span><span>良好的适用性和可伸缩性。</span></p>
<p class=MsoNormal><span lang=EN-US><span>3、<span Times New Roman?; font-size-adjust: none; font-stretch: normal?>&nbsp; </span></span></span><span>开放式接口和丰富的</span><span lang=EN-US>API</span><span>。</span></p>
<p class=MsoNormal><span lang=EN-US><o:p>&nbsp;</o:p></span></p>
<p class=MsoNormal><span style="FONT-FAMILY: 宋体">目前较为知名的开源</span><span lang=EN-US>OLAP</span><span>工具有：</span></p>
<p class=MsoNormal><span class=style7><span lang=EN-US><span>1、<span Times New Roman?; font-size-adjust: none; font-stretch: normal?>&nbsp; </span></span></span></span><span lang=EN-US><a href="http://mondrian.sourceforge.net/" target=_new><font color=#0066aa><u>Mondrian</u></font></a></span><span>，是</span><span lang=EN-US>Pentaho</span><span>的一部分，为一个用</span><span lang=EN-US>Java</span><span>开发的</span><span lang=EN-US>OLAP</span><span>服务器，<span class=style7>实现了</span></span><span class=style7><span lang=EN-US>MDX</span></span><span class=style7><span>语言、</span><span lang=EN-US>XML</span></span><span class=style7><span>解析和</span><span lang=EN-US>JOLAP</span></span><span class=style7><span>规范，可以不写</span><span lang=EN-US>SQL</span></span><span class=style7><span>就能分析存储于</span><span lang=EN-US>SQL </span></span><span class=style7><span>数据库的庞大数据集，可以封装</span><span lang=EN-US>JDBC</span></span><span class=style7><span>数据源并把数据以多维的方式展现出来。</span><span lang=EN-US><o:p></o:p></span></span></p>
<p class=MsoNormal><span lang=EN-US><span>2、<span Times New Roman?; font-size-adjust: none; font-stretch: normal?>&nbsp; </span></span></span><span lang=EN-US><a href="http://jpivot.sourceforge.net/" target=_new><font color=#0066aa><u>JPivot</u></font></a></span><span>，<span class=style7>是一个</span></span><span class=style7><span lang=EN-US>JSP </span></span><span class=style7><span>自定制的标签库，可以绘制一个</span><span lang=EN-US>OLAP</span></span><span class=style7><span>表格和图表。用户可以执行</span> </span><span class=style7><span>典型的</span><span lang=EN-US>OLAP</span></span><span class=style7><span>导航，如下钻，切片和方块。它使用</span><span lang=EN-US>Mondrian </span></span><span class=style7><span>作为其</span><span lang=EN-US>OLAP</span></span><span class=style7><span>服务器。它使用</span><span lang=EN-US>WCF (Web Component Framework) </span></span><span class=style7><span>，基于</span><span lang=EN-US>XML/XSLT</span></span><span class=style7><span>来渲染</span><span lang=EN-US>Web UI</span></span><span class=style7><span>组件。</span><span lang=EN-US>JPivot</span></span><span class=style7><span>在元数据缓存方面的过于简化的整体性初始化装载的做法将限制它只能处理很小的立方体（</span><span lang=EN-US>Cube</span></span><span class=style7><span>）。</span></span></p>
<h2><a name=_Toc146945209><font color=#000000><span lang=EN-US><span><font face=Arial>2.4.</font><span Times New Roman?; font-size-adjust: none; font-stretch: normal?> </span></span></span><span>数据库</span></font></a></h2>
<p class=MsoNormal><span style="FONT-FAMILY: 宋体">开源的数据库也有很多，大多数为关系型数据库，少数为应用于数据仓库环境做了专门的优化工作。</span><span lang=EN-US>Bizgres</span><span>以</span><span lang=EN-US>PostgreSQL</span><span>为基础进行了数据仓库环境下的优化，提高了分析查询性能。</span></p>
<h1><a name=_Toc146945210><font color=#000000><span lang=EN-US><span>3.<span Times New Roman?; font-size-adjust: none; font-stretch: normal?>&nbsp;&nbsp; </span></span></span><span>开源</span><span lang=EN-US>BI</span></font></a><span><span>套件</span></span></h1>
<p class=MsoNormal><span style="FONT-FAMILY: 宋体">下面列出相对成熟和完整，并且有借鉴意义的开源</span><span lang=EN-US>BI</span><span>套件。</span></p>
<h2><a name=_Toc146945211><font color=#000000><span lang=EN-US><span><font face=Arial>3.1.</font><span Times New Roman?; font-size-adjust: none; font-stretch: normal?> </span></span></span><span lang=EN-US><font face=Arial>Bizgres</font></span></font></a></h2>
<p class=MsoNormal><span style="FONT-FAMILY: 宋体">为</span><span lang=EN-US>GreenPlum</span><span>公司主导的开源项目，和</span><span lang=EN-US>Sun</span><span>公司达成合作关系。</span><span lang=EN-US>Bizgres</span><span>为</span><span lang=EN-US>BI</span><span>应用而对</span><span lang=EN-US>PostgreSQL</span><span>做了优化，提高了大负荷的并行计算能力，在</span><span lang=EN-US>BI</span><span>环境中，相对于普通的关系型数据库具有卓越的数据处理性能。</span><span lang=EN-US>Bizgres</span><span>的数据库平台可以和</span><span lang=EN-US>KETL</span><span>和</span><span lang=EN-US>JasperReports</span><span>进行整合，从而形成一个</span><span lang=EN-US>BI</span><span>套件：</span></p>
<p class=MsoNormal><span lang=EN-US><span>1、<span Times New Roman?; font-size-adjust: none; font-stretch: normal?>&nbsp; </span></span></span><span>数据库：</span><span lang=EN-US>BI</span><span>专业数据库</span><span lang=EN-US>Bizgres</span><span>，或者大型应用中的高性能服务器</span><span lang=EN-US>Bizgres MPP</span><span>，能比普通关系数据库快</span><span lang=EN-US>20</span><span>倍</span></p>
<p class=MsoNormal><span lang=EN-US><span>2、<span Times New Roman?; font-size-adjust: none; font-stretch: normal?>&nbsp; </span></span></span><span lang=EN-US>ETL</span><span>工具：</span><span lang=EN-US>KETL</span></p>
<p class=MsoNormal><span lang=EN-US><span>3、<span Times New Roman?; font-size-adjust: none; font-stretch: normal?>&nbsp; </span></span></span><span>报表工具：</span><span lang=EN-US>JasperReports</span></p>
<h2><a name=_Toc146945212><font color=#000000><span lang=EN-US><span><font face=Arial>3.2.</font><span Times New Roman?; font-size-adjust: none; font-stretch: normal?> </span></span></span><span lang=EN-US><font face=Arial>Openi</font></span></font></a></h2>
<p class=MsoNormal><span style="FONT-FAMILY: 宋体">是一个</span><span lang=EN-US>Java</span><span>开发的</span><span lang=EN-US>Web</span><span>应用，能对</span><span lang=EN-US>OLAP</span><span>服务器、关系数据库和数据挖掘服务器进行分析和报表展示，非常易于使用和部署，界面美观友好，后续还将支持数据挖掘和</span><span lang=EN-US>ETL</span><span>等。</span><span lang=EN-US>Open<em>i</em></span><span>主要包括：</span></p>
<p class=MsoNormal><span lang=EN-US><span>1、<span Times New Roman?; font-size-adjust: none; font-stretch: normal?>&nbsp; </span></span></span><span lang=EN-US>OLAP</span><span>展示：</span><span lang=EN-US>JPivot</span></p>
<p class=MsoNormal><span lang=EN-US><span>2、<span Times New Roman?; font-size-adjust: none; font-stretch: normal?>&nbsp; </span></span></span><span>报表工具：</span><span lang=EN-US>JFreeChart</span></p>
<p class=MsoNormal><span lang=EN-US><span>3、<span Times New Roman?; font-size-adjust: none; font-stretch: normal?>&nbsp; </span></span></span><span>分析数据源连接器</span></p>
<h2><a name=_Toc146945213><font color=#000000><span lang=EN-US><span><font face=Arial>3.3.</font><span Times New Roman?; font-size-adjust: none; font-stretch: normal?> </span></span></span><span lang=EN-US><font face=Arial>Pentaho</font></span></font></a></h2>
<p class=MsoNormal><span style="FONT-FAMILY: 宋体">是一个以工作流为核心的、强调面向解决方案而非工具组件的</span><span lang=EN-US>BI</span><span>套件，整合了多个开源项目，目标是和商业</span><span lang=EN-US>BI</span><span>相抗衡。它包括：</span></p>
<p class=MsoNormal><span lang=EN-US><span>1、<span Times New Roman?; font-size-adjust: none; font-stretch: normal?>&nbsp; </span></span></span><span>工作流引擎：</span><span lang=EN-US>Shark and JaWE</span></p>
<p class=MsoNormal><span lang=EN-US><span>2、<span Times New Roman?; font-size-adjust: none; font-stretch: normal?>&nbsp; </span></span></span><span>数据库：</span><span lang=EN-US>Firebird RDBMS</span></p>
<p class=MsoNormal><span lang=EN-US><span>3、<span Times New Roman?; font-size-adjust: none; font-stretch: normal?>&nbsp; </span></span></span><span>集成管理和开发环境：</span><span lang=EN-US>Eclipse</span></p>
<p class=MsoNormal><span lang=EN-US><span>4、<span Times New Roman?; font-size-adjust: none; font-stretch: normal?>&nbsp; </span></span></span><span>报表工具：</span><span lang=EN-US>Eclipse BIRT</span></p>
<p class=MsoNormal><span lang=EN-US><span>5、<span Times New Roman?; font-size-adjust: none; font-stretch: normal?>&nbsp; </span></span></span><span lang=EN-US>ETL</span><span>工具：</span><span lang=EN-US>Enhydra/Kettle</span></p>
<p class=MsoNormal><span lang=EN-US><span>6、<span Times New Roman?; font-size-adjust: none; font-stretch: normal?>&nbsp; </span></span></span><span lang=EN-US>OLAP Server</span><span>：</span><span lang=EN-US>Mondrian</span></p>
<p class=MsoNormal><span lang=EN-US><span>7、<span Times New Roman?; font-size-adjust: none; font-stretch: normal?>&nbsp; </span></span></span><span lang=EN-US>OLAP</span><span>展示：</span><span lang=EN-US>JPivot</span></p>
<p class=MsoNormal><span lang=EN-US><span>8、<span Times New Roman?; font-size-adjust: none; font-stretch: normal?>&nbsp; </span></span></span><span>数据挖掘组件：</span><span lang=EN-US>Weka</span></p>
<p class=MsoNormal><span lang=EN-US><span>9、<span Times New Roman?; font-size-adjust: none; font-stretch: normal?>&nbsp; </span></span></span><span>应用服务器和</span><span lang=EN-US>Portal</span><span>服务器：</span><span lang=EN-US>JBoss</span></p>
<p class=MsoNormal><span lang=EN-US><span>10、<span Times New Roman?; font-size-adjust: none; font-stretch: normal?>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span></span><span>单点登陆服务及</span><span lang=EN-US>LDap</span><span>认证：</span><span lang=EN-US>JOSSO</span></p>
<p class=MsoNormal><span lang=EN-US><span>11、<span Times New Roman?; font-size-adjust: none; font-stretch: normal?>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span></span><span>自定义脚本支持：</span><span lang=EN-US>Mozilla Rhino Javascript</span><span>脚本处理器</span></p>
<p class=MsoNormal><span style="FONT-FAMILY: 宋体">由上可见</span><span lang=EN-US>Pentaho</span><span>是一个很完善的</span><span lang=EN-US>BI</span><span>解决方案。</span><span lang=EN-US>Pentaho</span><span>偏向于与业务流程相结合的</span><span lang=EN-US>BI</span><span>解决方案，侧重于大中型企业应用。</span></p>
<h2><a name=_Toc146945214><font color=#000000><span lang=EN-US><span><font face=Arial>3.4.</font><span Times New Roman?; font-size-adjust: none; font-stretch: normal?> </span></span></span><span lang=EN-US><font face=Arial>SpagoBI</font></span></font></a></h2>
<p class=MsoNormal><span lang=EN-US>SpagoBI </span><span>集成了</span><span lang=EN-US>Mondrain</span><span>和</span><span lang=EN-US>JProvit</span><span>，能够通过</span><span lang=EN-US>OpenLaszlo</span><span>产生实时报表。</span><span lang=EN-US>SpagoBI</span><span>使用</span><span lang=EN-US>java</span><span>开发，不依赖于具体的操作系统，有很强的扩展能力。它主要包括：</span></p>
<p class=MsoNormal><span lang=EN-US><span>1、<span Times New Roman?; font-size-adjust: none; font-stretch: normal?>&nbsp; </span></span></span><span>报表工具：</span><span lang=EN-US>JasperReports /Eclipse BIRT/ iReport</span></p>
<p class=MsoNormal><span lang=EN-US><span>2、<span Times New Roman?; font-size-adjust: none; font-stretch: normal?>&nbsp; </span></span></span><span lang=EN-US>OLAP Server</span><span>：</span><span lang=EN-US>Mondrian</span></p>
<p class=MsoNormal><span lang=EN-US><span>3、<span Times New Roman?; font-size-adjust: none; font-stretch: normal?>&nbsp; </span></span></span><span lang=EN-US>OLAP</span><span>展示：</span><span lang=EN-US>JPivot</span></p>
<p class=MsoNormal><span lang=EN-US><span>4、<span Times New Roman?; font-size-adjust: none; font-stretch: normal?>&nbsp; </span></span></span><span>数据挖掘组件：</span><span lang=EN-US>Weka</span></p>
<p class=MsoNormal><span lang=EN-US><span>5、<span Times New Roman?; font-size-adjust: none; font-stretch: normal?>&nbsp; </span></span></span><span lang=EN-US>Map</span><span>引擎：</span><span lang=EN-US>Geo</span></p>
<p class=MsoNormal><span lang=EN-US><span>6、<span Times New Roman?; font-size-adjust: none; font-stretch: normal?>&nbsp; </span></span></span><span lang=EN-US>ETL</span><span>：</span><span lang=EN-US>BIE</span></p>
<p class=MsoNormal><span lang=EN-US><span>7、<span Times New Roman?; font-size-adjust: none; font-stretch: normal?>&nbsp; </span></span></span><span>搜索引擎：</span><span lang=EN-US>Lucene</span></p>
<p class=MsoNormal><span lang=EN-US><span>8、<span Times New Roman?; font-size-adjust: none; font-stretch: normal?>&nbsp; </span></span></span><span lang=EN-US>Dashboard</span><span>：</span><span lang=EN-US>OpenLaszlo</span></p>
<p class=MsoNormal><span lang=EN-US><span>9、<span Times New Roman?; font-size-adjust: none; font-stretch: normal?>&nbsp; </span></span></span><span lang=EN-US>Portal Server</span><span>：</span><span lang=EN-US>JBoss/ Tomcat/ JOnAS</span></p>
<p class=MsoNormal><span style="FONT-FAMILY: 宋体">根据其</span><span lang=EN-US>Roadmap</span><span>可以看出，</span><span lang=EN-US>SpagoBI</span><span>将融入更多的</span><span lang=EN-US>BI</span><span>功能，甚至</span><span lang=EN-US>BI</span><span>之外的功能。</span></p>
<img src ="http://www.blogjava.net/gf7/aggbug/140613.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/gf7/" target="_blank">风</a> 2007-08-28 18:09 <a href="http://www.blogjava.net/gf7/archive/2007/08/28/140613.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>ORACLE中的物化视图</title><link>http://www.blogjava.net/gf7/archive/2006/07/09/57321.html</link><dc:creator>风</dc:creator><author>风</author><pubDate>Sun, 09 Jul 2006 02:56:00 GMT</pubDate><guid>http://www.blogjava.net/gf7/archive/2006/07/09/57321.html</guid><wfw:comment>http://www.blogjava.net/gf7/comments/57321.html</wfw:comment><comments>http://www.blogjava.net/gf7/archive/2006/07/09/57321.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/gf7/comments/commentRss/57321.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/gf7/services/trackbacks/57321.html</trackback:ping><description><![CDATA[
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left" align="left">
				<span lang="EN-US" style="FONT-SIZE: 14pt; mso-bidi-font-size: 12.0pt">
						<span style="mso-tab-count: 1">
								<font face="Times New Roman">      </font>
						</span>
				</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">物化视图是包括一个查询结果的数据库对像，它是远程数据的的本地副本，或者用来生成基于数据表求和的汇总表。物化视图存储基于远程表的数据，也可以称为快照。</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
				<span lang="EN-US">
						<span style="mso-tab-count: 1">
								<font face="Times New Roman">       </font>
						</span>
				</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">物化视图可以查询表，视图和其它的物化视图。</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
				<span lang="EN-US">
						<span style="mso-tab-count: 1">
								<font face="Times New Roman">       </font>
						</span>
				</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">通常情况下，物化视图被称为主表（在复制期间）或明细表（在数据仓库中）。</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
				<span lang="EN-US">
						<span style="mso-tab-count: 1">
								<font face="Times New Roman">       </font>
						</span>
				</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">对于复制，物化视图允许你在本地维护远程数据的副本</span>
				<span lang="EN-US">
						<font face="Times New Roman">,</font>
				</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">这些副本是只读的。如果你想修改本地副本，必须用高级复制的功能。当你想从一个表或视图中抽取数据时，你可以用从物化视图中抽取。</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
				<span lang="EN-US">
						<span style="mso-tab-count: 1">
								<font face="Times New Roman">       </font>
						</span>
				</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">对于数据仓库，创建的物化视图通常情况下是聚合视图，单一表聚合视图和连接视图。</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt">
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">本文我们将会看到怎样创建物化视图并且讨论它的刷新选项。</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
				<span lang="EN-US">
						<span style="mso-tab-count: 1">
								<font face="Times New Roman">       </font>
						</span>
				</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">在复制环境下，创建的物化视图通常情况下主键，</span>
				<span lang="EN-US">
						<font face="Times New Roman">rowid,</font>
				</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">和子查询视图。</span>
				<span lang="EN-US" style="FONT-SIZE: 7.5pt; mso-bidi-font-size: 12.0pt">
						<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /?>
						<o:p>
						</o:p>
				</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 42pt; TEXT-INDENT: -21pt; mso-list: l0 level1 lfo1; tab-stops: list 42.0pt">
				<span lang="EN-US" style="FONT-SIZE: 12pt">
						<font face="Times New Roman">1.</font>
				</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">主键物化视图：</span>
				<span lang="EN-US" style="FONT-SIZE: 12pt">
						<o:p>
						</o:p>
				</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
				<span lang="EN-US">
						<font face="Times New Roman">
								<span style="mso-tab-count: 1">       </span>
								<span style="mso-tab-count: 1">       </span>
						</font>
				</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">下面的语法在远程数据库表</span>
				<span lang="EN-US">
						<font face="Times New Roman">emp</font>
				</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">上创建主键物化视图</span>
		</p>
		<pre>
				<font color="#000055">
						<font face="Courier New">
								<span lang="EN-US">
										<font size="1">SQL&gt; CREATE MATERIALIZED VIEW mv_emp_pk</font>
								</span>
						</font>
				</font>
				<span lang="EN-US">
						<font size="1">
								<font color="#000055">
										<font face="Courier New">REFRESH FAST START WITH SYSDATE </font>
								</font>
						</font>
				</span>
				<span lang="EN-US">
						<font size="1">
								<font color="#000055">
										<font face="Courier New">
												<span style="mso-tab-count: 1">    </span>NEXT<span style="mso-spacerun: yes">  </span>SYSDATE + 1/48</font>
								</font>
						</font>
				</span>
				<span lang="EN-US">
						<font size="1">
								<font color="#000055">
										<font face="Courier New">WITH PRIMARY KEY </font>
								</font>
						</font>
				</span>
				<span lang="EN-US">
						<font size="1">
								<font color="#000055">
										<font face="Courier New">
												<span style="mso-tab-count: 1">    </span>AS SELECT * FROM <a href="mailto:emp@remote_db;">emp@remote_db;</a></font>
								</font>
						</font>
				</span>
				<span lang="EN-US">
						<font face="Courier New">
								<font color="#000055">
										<font size="1">Materialized view created.</font>
										<br />   </font>
						</font>
				</span>
				<span lang="EN-US">
						<font face="Times New Roman">
								<span style="mso-tab-count: 1">
								</span>
						</font>
				</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">注意：当用</span>
				<span lang="EN-US">
						<font face="Times New Roman">FAST</font>
				</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">选项创建物化视图，必须创建基于主表的视图日志</span>
				<span lang="EN-US">
						<font face="Times New Roman">,</font>
				</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">如下</span>
				<span lang="EN-US">
						<font face="Times New Roman">:</font>
				</span>
		</pre>
		<pre style="tab-stops: 45.75pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt">      <span lang="EN-US"><font size="1"><font color="#000055"><font face="Courier New"><span style="mso-tab-count: 1"></span>SQL&gt; CREATE MATERIALIZED VIEW LOG ON emp;</font></font></font></span><font size="1"><font color="#000055"><font face="Courier New"><span lang="EN-US">Materialized view log created.</span></font></font></font></pre>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 42pt; TEXT-INDENT: -21pt; mso-list: l0 level1 lfo1; tab-stops: list 42.0pt">
				<font face="Times New Roman">
						<span lang="EN-US" style="FONT-SIZE: 12pt">2.</span>
						<span lang="EN-US">Rowid</span>
				</font>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">物化视图</span>
				<span lang="EN-US" style="FONT-SIZE: 12pt">
						<o:p>
						</o:p>
				</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
				<span lang="EN-US">
						<font face="Times New Roman">
								<span style="mso-tab-count: 1">       </span>
								<span style="mso-tab-count: 1">       </span>
						</font>
				</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">下面的语法在远程数据库表</span>
				<span lang="EN-US">
						<font face="Times New Roman">emp</font>
				</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">上创建</span>
				<span lang="EN-US">
						<font face="Times New Roman">Rowid</font>
				</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">物化视图</span>
		</p>
		<pre style="tab-stops: 45.8pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt">
				<font color="#000055">
						<font face="Courier New">
								<span lang="EN-US">
										<font size="1">SQL&gt; CREATE MATERIALIZED VIEW mv_emp_rowid </font>
								</span>
						</font>
				</font>
				<span lang="EN-US">
						<font size="1">
								<font color="#000055">
										<font face="Courier New">REFRESH WITH ROWID </font>
								</font>
						</font>
				</span>
				<span lang="EN-US">
						<font size="1">
								<font color="#000055">
										<font face="Courier New">
												<span style="mso-tab-count: 1">     </span>AS SELECT * FROM emp@remote_db; </font>
								</font>
						</font>
				</span>
				<span lang="EN-US">
						<font size="1">
								<font color="#000055">
										<font face="Courier New">Materialized view log created.</font>
								</font>
						</font>
				</span>
		</pre>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 42pt; TEXT-INDENT: -21pt; mso-list: l0 level1 lfo1; tab-stops: list 42.0pt">
				<span lang="EN-US" style="FONT-SIZE: 12pt">
						<font face="Times New Roman">3.</font>
				</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">子查询物化视图</span>
				<span lang="EN-US" style="FONT-SIZE: 12pt">
						<o:p>
						</o:p>
				</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
				<span lang="EN-US">
						<font face="Times New Roman">
								<span style="mso-tab-count: 1">       </span>
								<span style="mso-tab-count: 1">       </span>
						</font>
				</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">下面的语法在远程数据库表</span>
				<span lang="EN-US">
						<font face="Times New Roman">emp</font>
				</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">上创建基于</span>
				<span lang="EN-US">
						<font face="Times New Roman">emp</font>
				</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">和</span>
				<span lang="EN-US">
						<font face="Times New Roman">dept</font>
				</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">表的子查询物化视图</span>
		</p>
		<pre>
				<span lang="EN-US">
						<font size="1">
								<font color="#000055">
										<font face="Courier New">
												<span style="mso-tab-count: 1">
												</span>SQL&gt; CREATE MATERIALIZED VIEW<span style="mso-spacerun: yes">  </span>mv_empdept</font>
								</font>
						</font>
				</span>
				<span lang="EN-US">
						<font size="1">
								<font color="#000055">
										<font face="Courier New">AS SELECT * FROM emp@remote_db e</font>
								</font>
						</font>
				</span>
				<span lang="EN-US">
						<font size="1">
								<font color="#000055">
										<font face="Courier New">
												<span style="mso-tab-count: 1">     </span>WHERE EXISTS</font>
								</font>
						</font>
				</span>
				<span lang="EN-US">
						<font size="1">
								<font color="#000055">
										<font face="Courier New">
												<span style="mso-tab-count: 1">   </span>(SELECT * FROM dept@remote_db d</font>
								</font>
						</font>
				</span>
				<span lang="EN-US">
						<font face="Courier New" color="#000055" size="1">
								<span style="mso-tab-count: 1">        </span>WHERE e.dept_no = d.dept_no)</font>
				</span>
				<font color="#000055">
						<font face="Courier New">
								<font size="1">
										<span lang="EN-US">Materialized view log created.</span>
										<span lang="EN-US" style="FONT-SIZE: 12pt; mso-bidi-font-size: 7.0pt">
										</span>
								</font>
						</font>
				</font>
				<b>
						<span lang="EN-US">
								<span style="mso-tab-count: 1">
										<font face="Times New Roman">       </font>
								</span>
						</span>
				</b>
				<b>
						<span lang="EN-US" style="FONT-FAMILY: Arial">REFRESH </span>
				</b>
				<b>
						<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial">子句</span>
				</b>
				<b>
						<span lang="EN-US" style="FONT-FAMILY: Arial">
								<o:p>
								</o:p>
						</span>
				</b>
		</pre>
		<pre>
				<font size="1">
						<font color="#000055">
								<span lang="EN-US">
										<font face="Courier New">[refresh [fast|complete|force]</font>
								</span>
						</font>
				</font>
				<span lang="EN-US">
						<font size="1">
								<font face="Courier New">
										<font color="#000055">
												<span style="mso-tab-count: 1">         </span>[on demand | commit]</font>
								</font>
						</font>
				</span>
				<span lang="EN-US">
						<font size="1">
								<font face="Courier New">
										<font color="#000055">
												<span style="mso-tab-count: 1">         </span>[start with date] [next date]</font>
								</font>
						</font>
				</span>
				<span lang="EN-US">
						<font size="1">
								<font face="Courier New">
										<font color="#000055">
												<span style="mso-tab-count: 1">         </span>[with {primary key|rowid}]]</font>
								</font>
						</font>
				</span>
		</pre>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
				<b>
						<span lang="EN-US" style="FONT-FAMILY: Arial">
								<span style="mso-tab-count: 1">       </span>
						</span>
				</b>
				<span lang="EN-US" style="FONT-FAMILY: Arial">Refresh</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial">选项说明</span>
				<span lang="EN-US" style="FONT-FAMILY: Arial">:</span>
				<span lang="EN-US" style="FONT-SIZE: 12pt; FONT-FAMILY: Arial">
						<o:p>
						</o:p>
				</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 60pt; TEXT-INDENT: -18pt; tab-stops: list 60.0pt">
				<span lang="EN-US" style="FONT-FAMILY: Arial">a.</span>
				<span lang="EN-US" style="FONT-SIZE: 7pt">
						<font face="Times New Roman">      </font>
				</span>
				<span lang="EN-US" style="FONT-FAMILY: Arial">oracle</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial">用刷新方法在物化视图中刷新数据</span>
				<span lang="EN-US" style="FONT-FAMILY: Arial">.</span>
				<span lang="EN-US" style="FONT-SIZE: 12pt; FONT-FAMILY: Arial">
						<o:p>
						</o:p>
				</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 60pt; TEXT-INDENT: -18pt; tab-stops: list 60.0pt">
				<span lang="EN-US" style="FONT-FAMILY: Arial">b.</span>
				<span lang="EN-US" style="FONT-SIZE: 7pt">
						<font face="Times New Roman">      </font>
				</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial">是基于主键还是基于</span>
				<span lang="EN-US" style="FONT-FAMILY: Arial">rowid</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial">的物化视图</span>
				<span lang="EN-US" style="FONT-SIZE: 12pt; FONT-FAMILY: Arial">
						<o:p>
						</o:p>
				</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 60pt; TEXT-INDENT: -18pt; tab-stops: list 60.0pt">
				<span lang="EN-US" style="FONT-FAMILY: Arial">c.</span>
				<span lang="EN-US" style="FONT-SIZE: 7pt">
						<font face="Times New Roman">       </font>
				</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial">物化视图的刷新时间和间隔刷新时间</span>
				<span lang="EN-US" style="FONT-FAMILY: Arial">
						<o:p>
						</o:p>
				</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 60pt; TEXT-INDENT: -18pt; tab-stops: list 60.0pt">
				<span lang="EN-US" style="FONT-SIZE: 12pt; FONT-FAMILY: Arial"> <o:p></o:p></span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 21pt">
				<span lang="EN-US" style="FONT-FAMILY: Arial">Refresh</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial">方法</span>
				<span lang="EN-US" style="FONT-FAMILY: Arial">-FAST</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial">子句</span>
				<span lang="EN-US" style="FONT-SIZE: 12pt; FONT-FAMILY: Arial">
						<o:p>
						</o:p>
				</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 21pt">
				<span lang="EN-US" style="FONT-FAMILY: Arial">
						<span style="mso-tab-count: 1">       </span>
				</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial">增量刷新用物化视图日志（参照上面所述）来发送主表已经修改的数据行到物化视图中</span>
				<span lang="EN-US" style="FONT-FAMILY: Arial">.</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial">如果指定</span>
				<span lang="EN-US" style="FONT-FAMILY: Arial">REFRESH FAST</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial">子句，那么应该对主表创建物化视图日志</span>
				<span lang="EN-US" style="FONT-FAMILY: Arial">
						<o:p>
						</o:p>
				</span>
		</p>
		<pre>
				<font size="1">
						<font color="#000055">
								<span lang="EN-US">
										<font face="Courier New">SQL&gt; CREATE MATERIALIZED VIEW LOG ON emp;</font>
								</span>
						</font>
				</font>
				<span lang="EN-US" style="FONT-SIZE: 7pt; COLOR: #000055; FONT-FAMILY: 'Courier New'; mso-font-kerning: 0pt; mso-fareast-font-family: 黑体">
						<font size="2">Materialized view log created.</font>
				</span>
		</pre>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 21pt">
				<span lang="EN-US" style="FONT-FAMILY: Arial">
						<span style="mso-tab-count: 1">       </span>
				</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial">对于增量刷新选项，如果在子查询中存在分析函数，则物化视图不起作用。</span>
				<span lang="EN-US" style="FONT-FAMILY: Arial">
						<o:p>
						</o:p>
				</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 21pt">
				<span lang="EN-US" style="FONT-SIZE: 12pt; FONT-FAMILY: Arial"> <o:p></o:p></span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 21pt">
				<span lang="EN-US" style="FONT-FAMILY: Arial">Refresh</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial">方法</span>
				<span lang="EN-US" style="FONT-FAMILY: Arial">-<em></em>COMPLETE</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial">子句</span>
				<span lang="EN-US" style="FONT-SIZE: 12pt; FONT-FAMILY: Arial">
						<o:p>
						</o:p>
				</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 21pt">
				<span lang="EN-US" style="FONT-FAMILY: Arial">
						<span style="mso-tab-count: 1">       </span>
				</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial">完全刷新重新生成整个视图，如果请求完全刷新，</span>
				<span lang="EN-US" style="FONT-FAMILY: Arial">oracle</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial">会完成</span>
				<span lang="EN-US" style="FONT-FAMILY: Arial">
						<span style="mso-tab-count: 1">       </span>
				</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial">完全刷新即使增量刷新可用。</span>
				<span lang="EN-US" style="FONT-FAMILY: Arial">
						<o:p>
						</o:p>
				</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 21pt">
				<span lang="EN-US" style="FONT-SIZE: 12pt; FONT-FAMILY: Arial"> <o:p></o:p></span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 21pt">
				<span lang="EN-US" style="FONT-FAMILY: Arial">Refresh Method – FORCE </span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial">子句</span>
				<span lang="EN-US" style="FONT-SIZE: 12pt; FONT-FAMILY: Arial">
						<o:p>
						</o:p>
				</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 21pt">
				<span lang="EN-US" style="FONT-FAMILY: Arial">
						<span style="mso-tab-count: 1">       </span>
				</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial">当指定</span>
				<span lang="EN-US" style="FONT-FAMILY: Arial">FORCE</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial">子句，如果增量刷新可用</span>
				<span lang="EN-US" style="FONT-FAMILY: Arial">Oracle</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial">将完成增量刷新，否则将完成完全刷新</span>
				<span lang="EN-US" style="FONT-FAMILY: Arial">,</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial">如果不指定刷新方法</span>
				<span lang="EN-US" style="FONT-FAMILY: Arial">(FAST, COMPLETE, or FORCE),Force</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial">选项是默认选项</span>
				<span lang="EN-US" style="FONT-FAMILY: Arial">
						<o:p>
						</o:p>
				</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 21pt">
				<span lang="EN-US" style="FONT-SIZE: 12pt; FONT-FAMILY: Arial"> <o:p></o:p></span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 21pt">
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial">主键和</span>
				<span lang="EN-US" style="FONT-FAMILY: Arial">ROWD</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial">子句</span>
				<span lang="EN-US" style="FONT-SIZE: 12pt; FONT-FAMILY: Arial">
						<o:p>
						</o:p>
				</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 21pt">
				<span lang="EN-US" style="FONT-FAMILY: Arial">
						<span style="mso-tab-count: 1">       </span>WITH PRIMARY KEY</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial">选项生成主键物化视图</span>
				<span lang="EN-US" style="FONT-FAMILY: Arial">,</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial">也就是说物化视图是基于主表的主键，而不是</span>
				<span lang="EN-US" style="FONT-FAMILY: Arial">ROWID(</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial">对应于</span>
				<span lang="EN-US" style="FONT-FAMILY: Arial">ROWID</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial">子句</span>
				<span lang="EN-US" style="FONT-FAMILY: Arial">). PRIMARY KEY</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial">是默认选项</span>
				<span lang="EN-US" style="FONT-FAMILY: Arial">,</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial">为了生成</span>
				<span lang="EN-US" style="FONT-FAMILY: Arial">PRIMARY KEY</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial">子句，应该在主表上定义主键，否则应该用基于</span>
				<span lang="EN-US" style="FONT-FAMILY: Arial">ROWID</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial">的物化视图</span>
				<span lang="EN-US" style="FONT-FAMILY: Arial">.</span>
				<span lang="EN-US" style="FONT-SIZE: 12pt; FONT-FAMILY: Arial">
						<o:p>
						</o:p>
				</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 21pt">
				<span lang="EN-US" style="FONT-FAMILY: Arial">
						<span style="mso-tab-count: 1">       </span>
				</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial">主键物化视图允许识别物化视图主表而不影响物化视图增量刷新的可用性。</span>
				<span lang="EN-US" style="FONT-SIZE: 12pt; FONT-FAMILY: Arial">
						<o:p>
						</o:p>
				</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 21pt">
				<span lang="EN-US" style="COLOR: red; FONT-FAMILY: Arial">
						<span style="mso-tab-count: 1">       </span>
				</span>
				<span lang="EN-US" style="FONT-FAMILY: Arial">Rowid</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial">物化视图只有一个单一的主表，不能包括下面任何一项</span>
				<span lang="EN-US" style="FONT-FAMILY: Arial">:</span>
				<span lang="EN-US" style="FONT-SIZE: 12pt; FONT-FAMILY: Arial">
						<o:p>
						</o:p>
				</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 63pt; TEXT-INDENT: -21pt; tab-stops: list 63.0pt">
				<span lang="EN-US" style="FONT-FAMILY: Wingdings; mso-bidi-font-family: Arial">n</span>
				<span lang="EN-US" style="FONT-SIZE: 7pt">
						<font face="Times New Roman">         </font>
				</span>
				<span lang="EN-US" style="FONT-FAMILY: Arial">Distinct </span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial">或者聚合函数</span>
				<span lang="EN-US" style="FONT-FAMILY: Arial">.</span>
				<span lang="EN-US" style="FONT-SIZE: 12pt; FONT-FAMILY: Arial">
						<o:p>
						</o:p>
				</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 63pt; TEXT-INDENT: -21pt; tab-stops: list 63.0pt">
				<span lang="EN-US" style="FONT-FAMILY: Wingdings; mso-bidi-font-family: Arial">n</span>
				<span lang="EN-US" style="FONT-SIZE: 7pt">
						<font face="Times New Roman">         </font>
				</span>
				<span lang="EN-US" style="FONT-FAMILY: Arial">Group by</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial">，子查询，连接和</span>
				<span lang="EN-US" style="FONT-FAMILY: Arial">SET</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial">操作</span>
				<span lang="EN-US" style="FONT-SIZE: 12pt; FONT-FAMILY: Arial">
						<o:p>
						</o:p>
				</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 21pt">
				<span lang="EN-US" style="COLOR: red; FONT-FAMILY: Arial"> </span>
				<span lang="EN-US" style="FONT-SIZE: 12pt; COLOR: red; FONT-FAMILY: Arial">
						<o:p>
						</o:p>
				</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 21pt">
				<b>
						<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial">刷新时间</span>
				</b>
				<b>
						<span lang="EN-US" style="FONT-FAMILY: Arial">
								<span style="mso-tab-count: 1">       </span>
						</span>
				</b>
				<b>
						<span lang="EN-US" style="FONT-SIZE: 12pt; FONT-FAMILY: Arial">
								<o:p>
								</o:p>
						</span>
				</b>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 21pt">
				<em>
						<span lang="EN-US" style="FONT-FAMILY: Arial">
								<span style="mso-tab-count: 1">       </span>
						</span>
				</em>
				<span lang="EN-US" style="FONT-FAMILY: Arial">START WITH</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial">子句通知数据库完成从主表到本地表第一次复制的时间</span>
				<span lang="EN-US" style="FONT-FAMILY: Arial">,</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial">应该及时估计下一次运行的时间点</span>
				<span lang="EN-US" style="FONT-FAMILY: Arial">, NEXT </span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial">子句说明了刷新的间隔时间</span>
				<span lang="EN-US" style="FONT-FAMILY: Arial">.<o:p></o:p></span>
		</p>
		<pre style="tab-stops: 45.8pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt">
				<span lang="EN-US">
						<font size="1">
								<font color="#000055">
										<font face="Courier New">SQL&gt; CREATE MATERIALIZED VIEW mv_emp_pk</font>
								</font>
						</font>
				</span>
				<span lang="EN-US">
						<font size="1">
								<font color="#000055">
										<font face="Courier New">
												<span style="mso-tab-count: 1">            </span>REFRESH FAST </font>
								</font>
						</font>
				</span>
				<span lang="EN-US">
						<font size="1">
								<font color="#000055">
										<font face="Courier New">
												<span style="mso-tab-count: 1">            </span>START WITH SYSDATE </font>
								</font>
						</font>
				</span>
				<span lang="EN-US">
						<font size="1">
								<font color="#000055">
										<font face="Courier New">
												<span style="mso-tab-count: 1">            </span>NEXT<span style="mso-spacerun: yes">  </span>SYSDATE + 2</font>
								</font>
						</font>
				</span>
				<span lang="EN-US">
						<font size="1">
								<font color="#000055">
										<font face="Courier New">
												<span style="mso-tab-count: 1">            </span>WITH PRIMARY KEY </font>
								</font>
						</font>
				</span>
				<span lang="EN-US">
						<font size="1">
								<font color="#000055">
										<font face="Courier New">
												<span style="mso-tab-count: 1">              </span>AS SELECT * FROM emp@remote_db;<br /></font>
								</font>
						</font>
				</span>
				<span lang="EN-US">
						<font size="1">
								<font color="#000055">
										<font face="Courier New">
												<span style="mso-tab-count: 1">                 </span>Materialized view created.</font>
								</font>
						</font>
				</span>
		</pre>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 21pt; TEXT-INDENT: 21pt">
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial">在上面的例子中，物化视图数据的第一个副本在创建时生成，以后每两天刷新一次</span>
				<span lang="EN-US" style="FONT-FAMILY: Arial">.</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 21pt; TEXT-INDENT: 21pt">
				<span lang="EN-US" style="FONT-FAMILY: Arial">
				</span>
				<span lang="EN-US" style="FONT-SIZE: 12pt; FONT-FAMILY: Arial">
						<o:p>
						</o:p>
				</span> </p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 21pt">
				<b>
						<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial">总结</span>
				</b>
				<b>
						<span lang="EN-US" style="FONT-SIZE: 12pt; FONT-FAMILY: Arial">
								<o:p>
								</o:p>
						</span>
				</b>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 21pt; TEXT-INDENT: 21pt">
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial">物化视图提供了可伸缩的基于主键或</span>
				<span lang="EN-US" style="FONT-FAMILY: Arial">ROWID</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial">的视图</span>
				<span lang="EN-US" style="FONT-FAMILY: Arial">,</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial">指定了刷新方法和自动刷新的时间。</span>
				<br />
				<span lang="EN-US" style="FONT-SIZE: 12pt; FONT-FAMILY: Arial">
						<o:p>
						</o:p>
				</span>
		</p>
		<span id="CommnetList1_CommnetList1_rpCommentList__ctl0_lblContent">查询本数据库用户模式下有多少物化视图<br />select * from user_mviews<br /><br />查询增量复制是否成功<br />select* from user_jobs，查看其中的failure列<br /><br />物化视图立即刷新<br />exec dbms_snapshot.refresh('"CUSTCARE"."MV_Name"','C')；<br /><br />使用复制还需要注意：<br />     相应主表的log大小，如log占有的空间太大，会影响性能<br /></span>
<img src ="http://www.blogjava.net/gf7/aggbug/57321.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/gf7/" target="_blank">风</a> 2006-07-09 10:56 <a href="http://www.blogjava.net/gf7/archive/2006/07/09/57321.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>