摘要: 浅析一致性维度的交付步骤Explain the three basic delivery steps for conformed dimensions.简述对一致性维度的三种基本的交付步骤。答:数据整合的关键就是生成一致性维度,再通过一致性维度将来自不同数据源的事实数据合并到一起,供分析使用。通常来说,生成一致性维度有如下三个步骤:1.标准化(Standardizing)标准化的目的是使不同数据源的数据编码方式,数据格式等相同,为下一步数据匹配打下基础。2.匹配(Matching and Deduplication)数据匹配的工作有两种,一种是将不同数据源的标识同一事物的不同属性匹配到一起,是 阅读全文
posted @ 2012-03-15 11:58 野三坡 阅读(269) 评论(0) 推荐(0) 编辑
摘要: Why do dates require special treatment during the ETL process?为什么在ETL的过程中需要对日期进行特殊处理?答:在数据仓库的项目中,分析是主导需求,而基于日期和时间的分析更是占了很大的比重。而在操作型源系统中,日期通常都是SQL的DATETIME型的。如果在分析时,使用SQL对这种类型的字段临时处理会出现一些问题,如效率很差,不同的用户会采用不同的格式化方法导致报表不统一。所以,在数据仓库的建模时都会建立日期维度表和时间维度表,将用到的和日期相关的描述都冗余到该表中。但是,并不是所有的日期都被转化为日期维度表的外键。日期维度表中的记 阅读全文
posted @ 2012-03-15 11:54 野三坡 阅读(354) 评论(0) 推荐(0) 编辑
摘要: What are surrogate keys? Explain how the surrogate key pipeline works.什么是代理键?简述代理键替换管道如何工作。答:在维度表的迁移过程中,有一种处理方式是使用无意义的整型值分配给维度记录并作为维度记录的主键,这些作为主键的整型值称为代理键(Surrogate Key)。使用代理键有很多好处,如隔离数据仓库与操作环境,历史记录的保存,查询速度快等。同时,在事实表的迁移过程中,为了保证参照完整性也需要进行代理键的替换工作。为了代理键替换的效率高一些,我们通常在数据准备区中建立代理键查找表(Surrogate Mapping Ta 阅读全文
posted @ 2012-03-15 11:52 野三坡 阅读(175) 评论(0) 推荐(0) 编辑
摘要: How can data quality be quantified in the data warehouse?如何来量化数据仓库中的数据质量?答:在数据仓库项目中,通常通过不规则数据的检测工作(Anomaly Detection)来量化源系统的数据质量。除非成立专门的数据质量调查项目组,否则这个工作应该由ETL项目组完成。通常可以采用分组SQL来检查数据是否符合域的定义规则。对于数据量小的表,可以直接使用类似下面的SQL完成。select state, count(*) from order_detail group by state对于数据量大的表,一般通过采样技术来减少数据量,然后进行 阅读全文
posted @ 2012-03-14 20:47 野三坡 阅读(229) 评论(0) 推荐(0) 编辑
摘要: What are the essential deliverables of the data quality portion of ETL?ETL项目中的数据质量部分核心的交付物有那些?答:ETL项目中数据质量部分的核心的交付物主要有下面三个:1.数据概况分析结果数据概况分析结果是对源系统的数据状况的分析产物,包括如源系统中有多少个表,每个表有多少字段,其中多少为空,表间的外键关系是否存在等反映源系统数据质量的内容。这些内容用来决定数据迁移的设计和实现,并提供给错误事件事实表和审计维度表需要的相关数据。2.错误事件事实表错误事件事实表及相关的一系列维度表是数据质量检查部分的一个主要交付物。粒 阅读全文
posted @ 2012-03-14 18:00 野三坡 阅读(229) 评论(0) 推荐(0) 编辑
摘要: At which stage of the ETL should data be profiled?简述应该在ETL的哪个步骤来实现概况分析?答:数据概况分析是对源数据内容的概况进行分析,应该在项目的开始后尽早完成,它会对设计和实现有很大的影响。在完成需求收集后就应该立即开始数据概况分析。数据概况分析不光是对源系统的数据概况的定量描述,而且为ETL系统中需要建立的错误事件事实表(Error Event Table)和审计维度表(Audit Dimension)打下基础,为其提供数据。 阅读全文
posted @ 2012-03-14 17:58 野三坡 阅读(140) 评论(0) 推荐(0) 编辑
摘要: What are the four broad categories of data quality checks? Provide an implementation technique for each.数据质量检查的四大类是什么?为每类提供一种实现技术。答:数据质量检查是ETL工作中非常重要的一步,主要关注一下四个方面。1.正确性检查(Corret)检查数据值及其描述是否真实的反映了客观事务。例如地址的描述是否完全。2.明确性检查(Unambiguous)检查数据值及其描述是否只有一个意思或者只有一个解释。例如地名相同的两个县需要加区分方法。3.一致性检查(Consistent)检查数据 阅读全文
posted @ 2012-03-14 17:51 野三坡 阅读(2217) 评论(0) 推荐(0) 编辑
摘要: Describe three change data capture (CDC) practices and the pros and cons of each.简述出三种变化数据捕获技术及其优缺点。答:变化数据捕获(CDC)技术是ETL工作中的重点和难点,通常需要在增量抽取时完成。实现变化数据捕获时最理想的是找到源系统的DBA。如果不能找到,就需要ETL项目组自己进行检测数据的变化。下面是一些常用的技术。1.采用审计列审计列指表中如“添加日期”、“修改日期”、“修改人”等信息的字段。应用程序在对该表的数据进行操作时,同时更新这些字段,或者建立触发器来更新这些字段。采用这种方式进行变化数据捕获 阅读全文
posted @ 2012-03-14 17:49 野三坡 阅读(398) 评论(0) 推荐(0) 编辑
摘要: Explain the pros and cons of communicating with databases natively versus ODBC.简述直接连接数据库和使用ODBC连接数据库进行通讯的优缺点。答:通常连接数据库的方式分为两类,一类是直接连接,另一类是通过ODBC连接。直接连接的方式主要是通过COBOL、PL/SQL、Transact-SQL等方式连接数据库。这种方式的优点是运行性能高,可以使用DBMS提供的一些特殊功能。缺点是通用性差。ODBC是为windows应用程序访问数据库提供的一组接口。ODBC的优点是灵活性,通过改变驱动和连接方式可以使用不同的数据库。ODB 阅读全文
posted @ 2012-03-14 17:47 野三坡 阅读(246) 评论(0) 推荐(0) 编辑
摘要: What is the best approach for handling ERP source data?从ERP源系统中抽取数据最好的方法是什么?答:ERP系统的产生是为了解决企业内异构数据的整合。这个问题也是数据仓库系统面临的主要问题。ERP的解决方案是将企业内的各个应用(包括销售、会计、人力资源、库存和产品等)建立在相同的平台和相同的应用框架下,即在应用操作层将企业内的数据进行了一致性处理。而数据仓库是在应用操作层之上建立一致性的规则并进行一致性处理。目前比较流行的ERP系统有SAP、PeopleSoft、Oracle、Baan和J.D.EDwards(大部分没接触过)。如果企业内只 阅读全文
posted @ 2012-03-14 17:46 野三坡 阅读(427) 评论(0) 推荐(0) 编辑
摘要: Describe techniques for extracting from heterogeneous data sources.简述异构数据源中的数据抽取技术。答:在数据仓库项目中,需要抽取的数据经常来自不同的数据源,它们的逻辑结构和物理结构都可能不同,即称之为异构数据源。在对异构数据源进行整合抽取时,我们需要做的事情依次是标识出所有的源系统,对源系统进行概况分析,定义数据匹配逻辑,建立筛选规则,生成一致性维度。对于源数据的操作系统平台和数据平台各不相同的情况,我们需要根据实际情况来确定如何进行数据抽取,通常的方法有建立ODBC连接、定义接口文件、建立DBLINK等方法。 阅读全文
posted @ 2012-03-14 17:41 野三坡 阅读(250) 评论(0) 推荐(0) 编辑
摘要: When should data be set to disk for safekeeping during the ETL?简述ETL过程中哪个步骤应该出于安全的考虑将数据写到磁盘上?答:Staging的意思就是将数据写到磁盘上。出于安全及ETL能方便重新开始,在数据准备区(Staging Area)中的每个步骤中都应该将数据写到磁盘上,即生成文本文件或者将建立关系表保存数据,而不应该以数据不落地方式直接进行ETL。例如,在数据抽取阶段,我们需要连接到源系统,为了对源系统的影响尽量小,我们需要将抽取的数据保存成文本文件或者放入数据准备区的表中,这样,当ETL过程出现错误而失败时,我们就可以从 阅读全文
posted @ 2012-03-14 17:40 野三坡 阅读(269) 评论(0) 推荐(0) 编辑
摘要: What are the permissible data structures for the data staging area? Briefly describe the prosand cons of each.在数据准备区中允许使用的数据结构有哪些?各有什么优缺点?答:1.固定格式的文本文件。(Flat File)Flat File指的是一种保存在系统上的一种文本文件格式,它以类似数据库的表的方式用行和列来保存数据。这种文件格式经常用来进行数据交换。用于保存数据不太合适。2.XML数据集。多用于数据交换,用户保存数据不太合适。3.关系数据库的表。保存数据的较理想选择。4.独立的数据库 阅读全文
posted @ 2012-03-14 17:38 野三坡 阅读(145) 评论(0) 推荐(0) 编辑
摘要: <?php /** * Get Alexa Rank * * @param Domain Name $Domain * @return Alexa Rank * @copyright SanyWork http://www.sanywork.cn/ */ function getAlexaRank ($Domain){ $line = ""; $data = ""; $URL = "http://data.alexa.com/data/?cli=10&dat=snba&ver=7.0&url=". $Do 阅读全文
posted @ 2012-02-03 08:25 野三坡 阅读(122) 评论(0) 推荐(0) 编辑
摘要: ASCII(str)返回字符串str的第一个字符的ASCII值(str是空串时返回0)mysql> select ASCII(’2′);-> 50mysql> select ASCII(2);-> 50mysql> select ASCII(’dete’);-> 100ORD(str)如果字符串str句首是单字节返回与ASCII()函数返回的相同值。如果是一个多字节字符,以格式返回((first byte ASCII code)*256+(second byte ASCII code))[*256+third byte ASCII code...]mysql 阅读全文
posted @ 2012-01-10 15:50 野三坡 阅读(201) 评论(0) 推荐(0) 编辑
摘要: http://msdn.microsoft.com/zh-cn/library/ms191179.aspx关系数据库中的操作会对整个行集起作用。由 SELECT 语句返回的行集包括满足该语句的 WHERE 子句中条件的所有行。这种由语句返回的完整行集称为结果集。应用程序,特别是交互式联机应用程序,并不总能将整个结果集作为一个单元来有效地处理。这些应用程序需要一种机制以便每次处理一行或一部分行。游标就是提供这种机制的对结果集的一种扩展。游标通过以下方式来扩展结果处理: 允许定位在结果集的特定行。从结果集的当前位置检索一行或一部分行。支持对结果集中当前位置的行进行数据修改。为由其他用户对显示在结果 阅读全文
posted @ 2012-01-09 09:52 野三坡 阅读(177) 评论(0) 推荐(0) 编辑
摘要: 万恶的null啊和null进行数据计算会导致结果也是null例如 select null+3 return的结果是null但是对一个列求和 select sum(a) 即使a中有null ,也无关紧要,对于菜鸟的我来说,还是少用null为妙啊 阅读全文
posted @ 2012-01-06 16:30 野三坡 阅读(107) 评论(0) 推荐(0) 编辑
摘要: 转至:http://www.cnblogs.com/WizardWu/archive/2010/08/13/1798645.html向原作者致敬本帖提供两种做法,可避免在 SQL Server 事务锁定时产生的不正常或长时间阻塞,让用户和程序也无限期等待,甚至引起 connection pooling 连接数超过容量。所谓的「阻塞」,是指当一个数据库会话中的事务,正在锁定其他会话事务想要读取或修改的资源,造成这些会话发出的请求进入等待的状态。SQL Server 默认会让被阻塞的请求无限期地一直等待,直到原来的事务释放相关的锁,或直到它超时 (根据 SET LOCK_TIMEOUT,本文后续会 阅读全文
posted @ 2011-12-20 15:02 野三坡 阅读(176) 评论(0) 推荐(0) 编辑
摘要: MicrosoftSQL ServerIntegration Services 包括日志记录功能。这些功能公开了用于日志记录的运行时事件,支持各种日志记录提供程序,并且提供有关日志记录的常见请求信息。信息可以记录到文本文件、SQL Server Profiler、SQL Server 数据库的sysssislog 表、Windows 事件日志以及 XML 文件中。有关详细信息,请参阅Integration Services 日志提供程序。可以通过使用 SSIS 设计器(该设计器是 Integration Services 提供的用于创建包的图形工具)将包配置为使用日志记录,或以编程方式进行配置 阅读全文
posted @ 2011-12-06 14:06 野三坡 阅读(391) 评论(0) 推荐(0) 编辑
摘要: select b.[value] from sys.columns a left join sys.extended_properties b on a.object_id=b.major_idand a.column_id=b.minor_id inner join sysobjects c on a.column_id=c.idand a.[name]='列名' and c.[name]='表名'SELECT表名=case when a.colorder=1 then d.name else '' end,表说明=case when a.co 阅读全文
posted @ 2011-11-30 13:39 野三坡 阅读(142) 评论(0) 推荐(0) 编辑