<?xml version="1.0" encoding="UTF-8"?><!-- generator="wordpress.com" -->
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	>

<channel>
	<title>olap &amp;laquo; WordPress.com Tag Feed</title>
	<link>http://en.wordpress.com/tag/olap/</link>
	<description>Feed of posts on WordPress.com tagged "olap"</description>
	<pubDate>Wed, 25 Nov 2009 23:34:42 +0000</pubDate>

	<generator>http://en.wordpress.com/tags/</generator>
	<language>en</language>

<item>
<title><![CDATA[Apakah OLAP, MOLAP, ROLAP dan HOLAP itu?]]></title>
<link>http://yoyonb.wordpress.com/2009/11/25/apakah-olap-molap-rolap-dan-holap-itu/</link>
<pubDate>Wed, 25 Nov 2009 03:59:25 +0000</pubDate>
<dc:creator>Ardijan Abu Hanifah</dc:creator>
<guid>http://yoyonb.wordpress.com/2009/11/25/apakah-olap-molap-rolap-dan-holap-itu/</guid>
<description><![CDATA[OLAP (On-Line Analytical Processing) adalah Database Multidimensional pada sistem analisa data tingk]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p><strong>OLAP <em>(On-Line Analytical Processing)</em> </strong>adalah Database Multidimensional pada sistem analisa data tingkat lanjut yang mendukung pengambilan keputusan, bisnis model, dan aktifitas riset.</p>
<p>OLAP menyediakan cara untuk menampilkan data Multi Dimensional yang ada dalam Data Mart atau Data Warehouse, dengan OLAP dapat dibuat Cube yang mengorganisasikan data dan membuat summary data untuk query yang effisien.</p>
<p><strong>Karakteristik OLAP</strong><br />
- Menggunakan teknik analisa data Multidimensional<br />
- Menyediakan dukungan database tingkat lanjut<br />
- Menyediakan cara pakai yang mudah dan User Interface yang<br />
   mudah difahami.<br />
- Mendukung arsitektur Client/Server</p>
<div id="attachment_72" class="wp-caption aligncenter" style="width: 510px"><a href="http://yoyonb.wordpress.com/files/2009/11/olap-features1.gif"><img src="http://yoyonb.wordpress.com/files/2009/11/olap-features1.gif" alt="" title="OLAP Features" width="500" height="328" class="size-full wp-image-72" /></a><p class="wp-caption-text">OLAP Features</p></div>
<p>Beberapa produk OLAP secara logika adalah sama, kesamaan tersebut antara lain dalam hal-hal berikut:<br />
	- Berdasarkan Dimensional<br />
	- Pre-Aggregate untuk meningkatkan performance dan<br />
	- Mendukung bahasa analisa data tingkat lanjut</p>
<p>Sebenarnya secara fisik ada perbedaan pada cara menyimpan Cube dalam Data Warehouse, dan dipasaran dikelompokkan menjadi seperti berikut:</p>
<p><strong>MOLAP</strong><br />
Multidimensional OLAP, Data disimpan dalam bentuk Multidimensional Database.</p>
<p>Pros:<br />
     &#8211; Performance hebat, karena MOLAP memang dibangun<br />
        untuk pengambilan data yang cepat, dan optimal untuk<br />
        operasi  Slicing dan Dicing.<br />
     &#8211; Dapat membentuk kalkulasi yang komplek dan cepat.<br />
       Semua kalkulasi telah dihitung saat Cube dibentuk.</p>
<p>Cons:<br />
     &#8211; Jumlah volume data yang dapat ditangani terbatas. Karena<br />
        semua kalkulasi telah dihitung saat Cube dibentuk maka<br />
        untuk menyimpan hasil kalkulasi tersebut diperlukan<br />
        volume data yang besar dalam Cube nya sendiri.<br />
     &#8211; Diperlukan investasi tambahan karena teknologi MOLAP<br />
       Cube seringkali belum dimiliki oleh organisasi, dengan<br />
       kata lain untuk mengadopsi teknologi MOLAP ada peluang<br />
       untuk menambah investasi tenaga dan biaya.</p>
<p><strong>ROLAP</strong><br />
Relational OLAP, menggunakan Relational Database baik untuk menyimpan Detail data maupun untuk menyimpan Aggregate nya. Memanage pembuatan dan perawatan Aggregate.</p>
<p>Pros:<br />
     &#8211; Dapat menangani jumbalh volume data yang sangat besar,<br />
       batasan ukuran volume data yang ditangani pada<br />
       teknologi ROLAP adalah batas dari volume dari Relational<br />
       Database yang dipakai. Dengan kata lain pada ROLAP<br />
       sendiri tidak ada batasan volume data.<br />
     &#8211; Dapat memanfaatkan fungsi-fungsi yang ada pada<br />
       Relational Database yang dipakai.</p>
<p>Cons:<br />
     &#8211; Performance dapat lambat, karena setiap ROLAP report<br />
       pada dasarnya adalah SQL Query pada Relational Database,<br />
       waktu Query dapat lebih lama jika volume data semakin<br />
       besar.<br />
     &#8211; Fungsi SQL yang terbatas, karena teknologi ROLAP<br />
       terutama tergantung pada pembentukan statement Query<br />
       pada Relational Database, dan tidak semua kebutuhan<br />
       dapat terpenuhi dengan SQL Statement. ROLAP vendor<br />
       telah mengantisipasi resiko ini dengan cara membuat Tool<br />
       out-of-the-box untuk fungsi-fungsi yang kompleks bahkan<br />
       memungkinkan user untuk mendefinisikan fungsi-fungsi<br />
       yang dibutuhkannya sendiri.</p>
<p><strong>HOLAP</strong><br />
Hybrid OLAP, Menggabungkan kedua teknologi diatas. HOLAP menggunakan Relational Database untuk menyimpan Detail data dan menggunakan Multidimensional Database untuk menyimpan Aggregate nya.</p>
<p>HOLAP menggabungkan kelebihan-kelebihan yang ada pada MOLAP dan ROLAP.<br />
HOLAP juga memanfaatkan teknologi MOLAP cube untuk mendapatkan performance yang lebih cepat.<br />
Jika dibutuhkan informasi di level detail, HOLAP dapat <em>&#8216;Drill-through&#8221;</em> dari Cube masuk kedalam Relational Database yang mendasarinya.</p>
<div id="attachment_74" class="wp-caption aligncenter" style="width: 502px"><a href="http://yoyonb.wordpress.com/files/2009/11/olap-comparizon1.gif"><img src="http://yoyonb.wordpress.com/files/2009/11/olap-comparizon1.gif" alt="" title="OLAP Comparizon" width="492" height="363" class="size-full wp-image-74" /></a><p class="wp-caption-text">OLAP Comparizon</p></div>
<p>Reff:<br />
-Ponniah, Paulraj, <strong><em>Data Warehousing Fundamental</em></strong>,New<br />
 York-USA,2001.<br />
 Jhon Wiley &#38; Sons, Inc.<br />
-Thomsen, Erik, 1999. <strong><em>Microsoft OLAP Solution</em></strong>, New York-USA,<br />
 Jhon Wiley &#38; Sons, Inc.<br />
-Peterson, Timothy, <strong><em>Microsoft OLAP</em></strong>, Sams Publishing, USA, 2000</p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[VIBlend announces new Pivot Grid for Silverlight]]></title>
<link>http://viblend.wordpress.com/2009/11/25/viblend-olap-pivot-grid-silverlight/</link>
<pubDate>Wed, 25 Nov 2009 03:43:58 +0000</pubDate>
<dc:creator>viblend</dc:creator>
<guid>http://viblend.wordpress.com/2009/11/25/viblend-olap-pivot-grid-silverlight/</guid>
<description><![CDATA[VIBlend is proud to announce the release of a new OLAP Data Grid Control for Silverlight VIBlend Dat]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p>VIBlend is proud to announce the release of a new <a title="Silverlight OLAP Grid" href="http://viblend.com/products/net/silverlight/controls/datagrid.aspx">OLAP Data Grid Control for Silverlight</a></p>
<p>VIBlend DataGrid for Silverlight is the first grid control that brings together the functionality of traditional data grids, hierarchical grids and pivot tables. This feature complete control includes a built-in OLAP engine which can easily process data in tabular format and aggregate it based on user defined criteria.</p>
<p>Getting started with VIBlend DataGrid for Silverlight is easy and it takes very little code to implement complex scenarios from end to end.</p>
<p>VIBlend DataGrid for Silverlight is one of the fastest Silverlight grid controls and can easily work with large number of rows.</p>
<p>VIBlend Silverlight Controls are written entirely in C# with the latest .NET technologies.</p>
<p>To learn more and download your free trial copy of VIBlend Silverlight Controls, visit <a href="http://www.viblend.com/" target="_blank">http://www.viblend.com</a></p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Apakah Data Warehouse itu?]]></title>
<link>http://yoyonb.wordpress.com/2009/11/20/apakah-data-warehouse-itu/</link>
<pubDate>Fri, 20 Nov 2009 09:30:15 +0000</pubDate>
<dc:creator>Ardijan Abu Hanifah</dc:creator>
<guid>http://yoyonb.wordpress.com/2009/11/20/apakah-data-warehouse-itu/</guid>
<description><![CDATA[Data Warehouse adalah relasional database dengan desain tertentu yang memudahkan Query dan Analisis.]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p>Data Warehouse adalah relasional database dengan desain tertentu yang memudahkan Query dan Analisis. </p>
<p> Pada umumnya Data Warehouse berisi data sejarah yang diturunkan dari data transaksi dan beberapa data dari sumber data yang lain.</p>
<p>Dengan Data Warehouse maka Organisasi bisa mendapatkan data yang sudah terkonsolidasi dari berbagai sumber data.</p>
<p><strong>William Harvey Inmon</strong> atau biasa dipanggil <strong>Bill Inmon</strong> pada tahun 1991 dalam bukunya <strong><em>&#8220;Building the Data Warehouse&#8221;</em></strong><br />
mendefinisikan Data Warehouse sbb.:</p>
<p><strong><em>	 “A data warehouse is a subject-oriented, integrated,<br />
	  timevariant, and nonvolatile collection of data<br />
	  in support of management’s decision-making<br />
          process.”</em></strong></p>
<p><strong>Subject-oriented:</strong><br />
	- Data di kumpulkan berdasarkan subjek utama, misalnya<br />
          Customer, Product atau Sales.<br />
	- Data Model dan analisa diutamakan untuk pengambil<br />
          keputusan bukan untuk proses transaksi sehari-hari.<br />
	- Menyediakan cara yang sederhana dan ringkas untuk<br />
          menampilkan data sekitar subjek tertentu dengan cara<br />
          mengeluarkan data yang tidak berguna dalam proses<br />
          pengambilan keputusan.</p>
<p><strong>Integrated:</strong><br />
	- Dibangun dari integrasi berbagai macam sumber data<br />
          misalnya Relational Database, Flat Files, Online<br />
          Tansaction record, dsb.<br />
	- Menggunakan teknologi Data Cleansing dan Data<br />
          Integration. Tujuannya:<br />
	  	- Memastikan konsistensi Naming Convention,<br />
                  Encoding Structure, Ukuran attributes. dsb.<br />
                  diantara sumber data yang berbeda-beda.<br />
		- Ketika data dimasukkan ke Data<br />
                  Warehouse, data tesebut telah dikonversikan.</p>
<p><strong>Time Variant:</strong><br />
	- Rentang waktu data untuk Data Warehouse pasti lebih<br />
          panjang jika dibandingkan dengan sistem operasional<br />
		- Data Sistim Operasional : Data saat ini<br />
		- Data Data Warehouse   : Menyediakan informasi<br />
          dari perspektif sejarah misal 5 s/d 10 tahun<br />
	- Setiap struktur Key dalam Data Warehouse selalu<br />
          mengandung elemen Time secara implisit atau explisit<br />
	- Namun pada Key data operasional mungkin tidak<br />
          mengandung elemen Time.</p>
<p><strong>Non Volatile:</strong><br />
	- Artinya begitu data masuk ke Data Warehouse<br />
          seharusnya Data tidak boleh berubah lagi.<br />
	- Secara fisik data pada Data Warehouse disimpan<br />
          terpisah dari operasional sistem.<br />
	- Operasi Update tidak pernah terjadi pada lingkungan<br />
          data Warehouse, karena<br />
		- Tidak perlu melakukan proses transaksi, Recovery,<br />
                  dan mekanisme kontrol proses simultan.<br />
		- Hanya memerlukan dua operasi proses Data yaitu<br />
                  Data Loading dan Data Retrieving.</p>
<p><strong>Elemen-elemen dasar Data Warehouse</strong></p>
<p><a href="http://yoyonb.wordpress.com/files/2009/11/basic-elements-of-dw3.gif"><img src="http://yoyonb.wordpress.com/files/2009/11/basic-elements-of-dw3.gif?w=300" alt="" title="Basic Elements of DW" class="aligncenter size-medium wp-image-42" height="200" width="300"></a></p>
<p><strong>Source System</strong><br />
	Operasional sistem yang berfungsi mencatat transaksi dari<br />
        suatu bisnis. Source System biasa disebut juga sebagai<br />
	Legacy System.</p>
<p><strong>Data Staging Area</strong><br />
	Tempat penyimpanan data sementara, untuk melakukan<br />
        proses Clean, Transform, Combine, Deduplicate,<br />
        Household, archive, dan menyiapkan sumber data untuk<br />
        digunakan Data Warehouse.</p>
<p>	Staging Area tidak diperuntukkan sebagai sumber data<br />
        untuk reporting karena datanya masih kotor dan bersifat<br />
	sementara.</p>
<p><strong>Presentation Server</strong><br />
	Target mesin yang secara fisik adalah mesin dimana data<br />
        dari Data Warehouse di organisasikan dan disimpan untuk<br />
        dilakukan query oleh End User, Reporting dan aplikasi yang<br />
        lain. Disini data disimpan dengan framework Dimmensional.</p>
<p>        Jika menggunakan Relational Database maka tabel akan<br />
        diorganisasikan dalam bentuk Star-Schema, namun<br />
	jika tidak menggunakan Relational Database maka akan<br />
       disimpan dalam bentuk OLAP.<br />
       (mengenai OLAP akan dibahas pada sesi tersendiri)</p>
<p><strong>Dimensional Model</strong><br />
	Data Modeling yang khusus dipakai pada Data Warehouse,<br />
        sebagai alternatif lain dari E/R Modeling yang biasanya<br />
        dipakai pada sistem transaksional.<br />
	(mengenai Dimensional Modeling, akan dibahas pada sesi<br />
        tersendiri)</p>
<p><strong>Business Process</strong><br />
	Dalam terminologi disini bukanlah Business Process seperti<br />
        pada transaksional sistem, tetapi lebih tepat maksudnya<br />
	adalah mengelompokkan sumber data menurut kesamaan<br />
        temanya. Misalnya Finance, Marketing, Production. etc.</p>
<p>        Nantinya setiap Business Process akan diimplementasikan<br />
        sebagai Data Marts.</p>
<p><strong>Data Mart</strong><br />
	Potongan secara logika dari Data Warehouse secara<br />
        keseluruhan.</p>
<p>	Data Mart bisa juga dilihat sebagai potongan secara logika<br />
        dari data Warehouse terhadap suatu Business Process<br />
        tertentu.<br />
	(mengenai Data Mart, akan dibahas pada sesi tersendiri)</p>
<p><strong>Data Warehouse</strong><br />
	Adalah sumber data yang bisa di Query dalam suatu<br />
        perusahaan. Sebenarnya Data Warehouse adalah<br />
        gabungan dari beberapa Data Marts. </p>
<p><strong>Operational Data Store</strong><br />
	Pada awalnya ODS adalah titik integrasi dari berbagai<br />
        operasional sistem. Karena ODS juga mendukung access<br />
	operasional dan bisa di update maka ODS seharusnya<br />
        ditempatkan diluar Data Warehouse. </p>
<p>        Pada akhirnya fungsi ODS juga berkembang menjadi<br />
        semacam Desicision Support karena ODS mengandung<br />
        detail data yang telah terintegrasi dari berbagai sumber<br />
        Data.<br />
	(mengenai ODS, akan dibahas pada sesi tersendiri)</p>
<p><strong>OLAP</strong><br />
	Disebut juga sebagai Multidimensional Database (MDDB).<br />
        OLAP sengaja dirancang untuk memudahkan dan<br />
	mempercepat query yang dilakukan pada MDDB. </p>
<p>        Karakteristik dan sifat OLAP sangat berbeda dengan OLTP<br />
	karena memang mempunyai tugas dan fungsi yang<br />
        berbeda.</p>
<p><strong>ROLAP</strong><br />
	Relational OLAP.</p>
<p><strong>MOLAP</strong><br />
	Multidimensional OLAP<br />
	(mengenai OLAP, ROLAP dan MOLAP, akan dibahas pada<br />
        sesi tersendiri)</p>
<p><strong>End User Application</strong><br />
	Sekumpulan Tool yang bisa melakukan Query, Analisa<br />
        Data, dan menampilkan informasi untuk mendukung<br />
	kepentingan Bisnis. </p>
<p>        Paling tidak Tool ini juga dilengkapi dengan kemampuan<br />
        untuk akses Data, fungsi Spreatsheet, fungsi grafik, dan<br />
        ada fasilitas untuk menampilkan prompt dan<br />
        menyederhanakan tampilan screen pada End User.</p>
<p><strong>End User Data Access Tool</strong><br />
	Sebagai Client dari Data Warehouse. Pada Relational Data<br />
        Warehouse, Client dapat mengirimkan SQL Request<br />
	ke Server. </p>
<p>        Secepatnya End User Data Access Tool akan selesai pada<br />
        SQL Session dan kembali untuk menampilkan pada screen<br />
        Data dari suatu Report, Grafik, atau yang lebih tinggi<br />
        seperti form suatu analisa pada User. </p>
<p>	End User Data Access Tool dapat saja sederhana seperti<br />
        Ad-Hoc Query Tool atau bisa juga bisa komplex<br />
	seperti Data Mining yang canggih atau aplikasi modeling.</p>
<p><strong>Ad-Hoc Query Tool</strong><br />
	End User Data Access Tool yang dibuat khusus sehingga<br />
        memungkinkan User untuk membuat Query sendiri secara<br />
        langsung dengan cara memanipulasi Relational Tables dan<br />
        Join-join nya. </p>
<p>        Dipasaran biasanya Ad-Hoc Query Tool dipaket menjadi<br />
        satu dengan Reporting Tool.</p>
<p><strong>Modeling Application</strong><br />
	Data Warehouse Client yang canggih dengan kemampuan<br />
        analytic yang dapat merubah bentuk atau menjadikan<br />
	intisari dari output Data Warehouse. </p>
<p>        Modeling ini termasuk didalamnya adalah:<br />
	- Forecasting Model, yang berusaha memperkirakan masa<br />
          depan<br />
	- Behaviour Scoring Model, yang dapat mengklasifikasikan<br />
          perilaku belanja Customer<br />
	- Allocation Model, yang mengambil data Cost dari Data<br />
          Warehouse lalu membagikan Cost tersebut ke semua<br />
	  poduct Group atau Customer Group.<br />
	- Terutama Data Mining Tools.</p>
<p><strong>Meta Data</strong><br />
	Semua informasi dalam lingkungan Data Warehouse namun<br />
        bukan data itu sendiri, Misalnya informasi mengenai<br />
	asal data source dari aplikasi apa, tabel apa, field apa,<br />
        formula bisnis bagaimana, dsb. Meta Data perlu dibuatkan<br />
        Catalog, diberi Version Stamp, di dokumentasikan dan di<br />
        backup.</p>
<p>	Beberapa ETL Tool dipasaran ada yang sudah dilengkapi<br />
        Meta Data management.</p>
<p>Demikian elemen dasar dari Data Warehouse, masih banyak komponen yang nanti akan di jelaskan pada sesi berikutnya.</p>
<p>Reff:<br />
Kimball, Ralph, 1998, <strong><em>The Data Warehouse Lifecycle Toolkit</em></strong>,  Jhon Wiley &#38; Sons, Inc.</p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[OLAP Course Class 1]]></title>
<link>http://themarlin.wordpress.com/2009/11/17/olap-course-class-1-2/</link>
<pubDate>Tue, 17 Nov 2009 18:36:49 +0000</pubDate>
<dc:creator>themarlin</dc:creator>
<guid>http://themarlin.wordpress.com/2009/11/17/olap-course-class-1-2/</guid>
<description><![CDATA[November 12, 2009 · Leave a Comment · Edit This OLAP Course Intro Dimensions and facts: measures Mea]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p>November 12, 2009 · Leave a Comment · Edit This<br />
OLAP Course Intro<br />
Dimensions and facts: measures<br />
Measure groups<br />
ETL : fuzzy lookup transformation, logging execution results, placing checkpoints.<br />
Define cube storage options.<br />
KPI: orange,yellow,red.<br />
Process and deploy a cube.<br />
Why send a mailer selling a van to single people?<br />
Most important: data-mining, prediction, if i follow this trend where i will be? SQL Server comes with 7 algorythms.<br />
Use report manager to deply reports.</p>
<p>VVVVVVVVVVVVVVVVVVVVVVVVVVVV<br />
Follow-up:<br />
MDX to pull data from cube? Using SSRS? A:Yes. Only MDX pulls from cube.<br />
Can storage be changed from MOLAP to HOLAP to ROLAP? (So some OLAP cube data is left in RDMS?) A: Dont have to rebuild, but may need to restart or redeploy.<br />
Cubes are “read-only”, but sometimes users can writeback to update the cube? A: 99% of time read-only. Must spec in in build of cube you want writeback and all writebacks go to one table.<br />
Datamart = cube, or a type of data in a group of cubes?<br />
“Deploy” a cube?<br />
“Deadlocks”? Long locks hold up the database, but deadlocks don’t let the table go free for other writes. Possibly due to two tables referencing each other. SQL Profiler helps show deadlocked processes….bugs in sql code.<br />
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^</p>
<p>Cubes are denormalized to speed up processing – as decision re what to include has already narrowed the bulk down.</p>
<p>Download SQL2008:<br />
http://www.mhprofessional.com/downloads/products/0071549447/0071549447_Code.zip<br />
Download databases:<br />
See sqldownloadinstructions.txt in S: drive.<br />
http://bellevuecollege.edu/lmc/media_reserve.html</p>
<p>What is BI? Method of storing and presenting key enterprise data to make decisions and forecast future results. Should we add more machines, or more sales people? Are we getting more requests or more customers? Less in some areas or for some products?</p>
<p>All the data must be converted into a cube periodically, so data in reports is not stale. Must collect data, and run ETL from one source into the cube. RDMS, Staging server, BI Cube (unified location of read-only data warehouse full of datamarts/cubes), Deploy reports to application server (LAN users) or a web server (WAN users). In some cases users can writeback to the BI server cube. IIS and web technologies should be separate from SQL server technologies.</p>
<p>XMLA: copying, backups, viewing metadata of your cube. Useful for giving admins metadata instructions to deploy cubes.</p>
<p>No locks needed on OLAP tables.</p>
<p>Snapshots, realtime, or cached queries.</p>
<p>Rapidly changing data (dollar amounts) vs slowly changing data.</p>
<p>OLAP Modelling<br />
Schema: definition of data content and structure of tables.</p>
<p>Dimensions are the ways to slice your data, each possibly having multiple attributes. Do not look at relational tables to build dimension tables in your cube, look at the needs of user reports. Not all attributes need to be included.</p>
<p>FACT TABLE: aggregations of the facts/measures: units made, sales figures, and keys to dimension tables.</p>
<p>Star schema: one fact table, multiple dimension tables. Note that some cubes have two or more fact tables: resellersales and internetsales. (a not-so-strict-star schema) Tables are “flat”: no subcategories.</p>
<p>&#62;&#62;&#62;&#62;&#62;&#62;&#62;&#62;&#62;&#62;&#62;non-relational cube tables duplicate data?</p>
<p>&#62;&#62;&#62;&#62;&#62;&#62;&#62;&#62;&#62;&#62;&#62; none of the aggregations in a fact table are hierarchical groupings?</p>
<p>Snowflake schema: if goal is multiple drill down levels, hierarchical layers, then a snowflake schema is needed.</p>
<p>1. Grain statements: To being designing a cube, work from end to beginning, customer executive back to data needed. Start with “grain statements” : 1) What are key metrics, top interests, measures? 2) by what factors are key interests evaluated? by store, by area, by date? 3) by what level does each factor need to be evaluated? by store or city or region? by day or month?</p>
<p>With UDM, cubes can be built straight from the source, without a staging database.</p>
<p>&#62;&#62;&#62;&#62;&#62;&#62;&#62;&#62;&#62;&#62;&#62;&#62;&#62;What determines the dimensions loaded by the client? “Significantly different from SSAS 2000″</p>
<p>2. How to maintain data, handle the changes, tweeking storage options: Update options are applicable to SCD and RCD’s. Must decide which dimensions are which, to determine how updates to cube are made.<br />
&#62;&#62;&#62;&#62;&#62;&#62;&#62;&#62;&#62;&#62;&#62;processing = ETL, aggregation, calculated measures?</p>
<p>Just the measures from a fact table (no keys) = the measure group, making report access easier as it will be in memory. multiple measure groups can be designed for a cube. eg,just the measures for 2005.</p>
<p>Action Modelling: Designing a trigger based on condition when building a cube that gives users the ability to drill-down on a cell.<br />
Perspectives: Like views.<br />
Translations: Gives the ability to pickup browser locale and give manually translated text for field names. Or set the format.</p>
<p>Categories: OLAP · Skills<br />
Tagged: BI, CBI, OLAP, Skills</p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[OLAP Course Class 1]]></title>
<link>http://themarlin.wordpress.com/2009/11/12/olap-course-class-1/</link>
<pubDate>Thu, 12 Nov 2009 16:37:44 +0000</pubDate>
<dc:creator>themarlin</dc:creator>
<guid>http://themarlin.wordpress.com/2009/11/12/olap-course-class-1/</guid>
<description><![CDATA[OLAP Course Intro Dimensions and facts: measures Measure groups ETL : fuzzy lookup transformation, l]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p><strong>OLAP Course Intro</strong><br />
Dimensions and facts: measures<br />
Measure groups<br />
ETL : fuzzy lookup transformation, logging execution results, placing checkpoints.<br />
Define cube storage options.<br />
KPI: orange,yellow,red.<br />
Process and deploy a cube.<br />
Why send a mailer selling a van to single people?<br />
Most important: data-mining, prediction, if i follow this trend where i will be? SQL Server comes with 7 algorythms.<br />
Use report manager to deply reports.</p>
<p>VVVVVVVVVVVVVVVVVVVVVVVVVVVV<br />
Follow-up:<br />
MDX to pull data from cube? Using SSRS? A:Yes. Only MDX pulls from cube.<br />
Can storage be changed from MOLAP to HOLAP to ROLAP? (So some OLAP cube data is left in RDMS?) A: Dont have to rebuild, but may need to restart or redeploy.<br />
Cubes are “read-only”, but sometimes users can writeback to update the cube? A: 99% of time read-only. Must spec in in build of cube you want writeback and all writebacks go to one table.<br />
Datamart = cube, or a type of data in a group of cubes?<br />
“Deploy” a cube?<br />
“Deadlocks”? Long locks hold up the database, but deadlocks don’t let the table go free for other writes. Possibly due to two tables referencing each other. SQL Profiler helps show deadlocked processes….bugs in sql code.<br />
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^</p>
<p>Cubes are denormalized to speed up processing – as decision re what to include has already narrowed the bulk down.</p>
<p>Download SQL2008:<br />
http://www.mhprofessional.com/downloads/products/0071549447/0071549447_Code.zip<br />
Download databases:<br />
See sqldownloadinstructions.txt in S: drive.<br />
http://bellevuecollege.edu/lmc/media_reserve.html</p>
<p>What is BI? Method of storing and presenting key enterprise data to make decisions and forecast future results. Should we add more machines, or more sales people? Are we getting more requests or more customers? Less in some areas or for some products?</p>
<p>All the data must be converted into a cube periodically, so data in reports is not stale. Must collect data, and run ETL from one source into the cube. RDMS, Staging server, BI Cube (unified location of read-only data warehouse full of datamarts/cubes), Deploy reports to application server (LAN users) or a web server (WAN users). In some cases users can writeback to the BI server cube. IIS and web technologies should be separate from SQL server technologies.</p>
<p>XMLA: copying, backups, viewing metadata of your cube. Useful for giving admins metadata instructions to deploy cubes.</p>
<p>No locks needed on OLAP tables.</p>
<p>Snapshots, realtime, or cached queries.</p>
<p>Rapidly changing data (dollar amounts) vs slowly changing data.</p>
<p>OLAP Modelling<br />
Schema: definition of data content and structure of tables.</p>
<p>Dimensions are the ways to slice your data, each possibly having multiple attributes. Do not look at relational tables to build dimension tables in your cube, look at the needs of user reports. Not all attributes need to be included.</p>
<p>FACT TABLE: aggregations of the facts/measures: units made, sales figures, and keys to dimension tables.</p>
<p>Star schema: one fact table, multiple dimension tables. Note that some cubes have two or more fact tables: resellersales and internetsales. (a not-so-strict-star schema) Tables are “flat”: no subcategories.</p>
<p>&#62;&#62;&#62;&#62;&#62;&#62;&#62;&#62;&#62;&#62;&#62;non-relational cube tables duplicate data?</p>
<p>&#62;&#62;&#62;&#62;&#62;&#62;&#62;&#62;&#62;&#62;&#62; none of the aggregations in a fact table are hierarchical groupings?</p>
<p>Snowflake schema: if goal is multiple drill down levels, hierarchical layers, then a snowflake schema is needed.</p>
<p>1. Grain statements: To being designing a cube, work from end to beginning, customer executive back to data needed. Start with “grain statements” : 1) What are key metrics, top interests, measures? 2) by what factors are key interests evaluated? by store, by area, by date? 3) by what level does each factor need to be evaluated? by store or city or region? by day or month?</p>
<p>With UDM, cubes can be built straight from the source, without a staging database.</p>
<p>&#62;&#62;&#62;&#62;&#62;&#62;&#62;&#62;&#62;&#62;&#62;&#62;&#62;What determines the dimensions loaded by the client? “Significantly different from SSAS 2000″</p>
<p>2. How to maintain data, handle the changes, tweeking storage options: Update options are applicable to SCD and RCD’s. Must decide which dimensions are which, to determine how updates to cube are made.<br />
&#62;&#62;&#62;&#62;&#62;&#62;&#62;&#62;&#62;&#62;&#62;processing = ETL, aggregation, calculated measures?</p>
<p>Just the measures from a fact table (no keys) = the measure group, making report access easier as it will be in memory. multiple measure groups can be designed for a cube. eg,just the measures for 2005.</p>
<p>Action Modelling: Designing a trigger based on condition when building a cube that gives users the ability to drill-down on a cell.<br />
Perspectives: Like views.<br />
Translations: Gives the ability to pickup browser locale and give manually translated text for field names. Or set the format.</p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[OLAP Course Class 2]]></title>
<link>http://themarlin.wordpress.com/2009/11/11/olap-course-class-2/</link>
<pubDate>Thu, 12 Nov 2009 05:47:29 +0000</pubDate>
<dc:creator>themarlin</dc:creator>
<guid>http://themarlin.wordpress.com/2009/11/11/olap-course-class-2/</guid>
<description><![CDATA[Create a new vs ssas project, and a db, both named &#8220;MaxMinSalesDM&#8221;. Use the Simple db re]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p>Create a new vs ssas project, and a db, both named &#8220;MaxMinSalesDM&#8221;. Use the Simple db recovery option.</p>
<p>Sometimes the Time dimension doesn&#8217;t need to be created on its own because other tables may already have time-related data in them.</p>
<p>Create a cube, choose &#8216;Generate a schema for every row&#8217;. Starts the wizard to help you define attributes for the dimension tables.<br />
4 Items that create a cxn: Server,Database,Authentication,Provider (Oracle,SQLExpress,SQLServer,etc.)</p>
<p>Windows authentication will take the currently logged on person. Impersonation will always use the set user account and pwd instead of the logged on user. 4 Impersonation options: &#8216;SQLServer authentication&#8217; needs to be allowed on the sql server, and an account needs to be created.<br />
&#8220;Use the Service account&#8221; is NTAuthoritySystem which has higher privileges than a guest. VVVVV Need sql admin to allow this, or creating cube configures this? &#8220;Use the credentials of the current user&#8221; will work when the Ops or SQL Admins have given you access. &#8220;Inherit&#8221; permissions of &#8220;caller&#8221; VVVV</p>
<p>&#160;</p>
<p>&#62;&#62;&#62;&#62;A view is a saved Select statement?<br />
Design and Build a Cube:<br />
1.Create Dim and Fact tables. 2.ETL fill tables 3. Design the cube: Calcs,KPI&#8217;s,Actions: Write the statements defining the code 4.Process (compile and do calculations) and deploy the cube to a SSAS cube.</p>
<p>Snowflake schema has hierarchies. </p>
<p>SSIS:<br />
Control Flow is made of &#8216;buckets of tasks&#8217;, prebuilt or custom built, some having data flow actions and others run a script, and others ftp some files or email someone.<br />
Connection Managers define the interfacing of the package.</p>
<p>&#8220;External Column&#8221; is fieldname in source, &#8220;Output Column&#8221; is the &#8230; as, what you might want to name it.</p>
<p>Red output arrow is &#8216;what to do if this task throws an error&#8217;.<br />
Employee$ is what? vs Employee ?</p>
<p>&#62;&#62;&#62;&#62;&#62;&#62;A &#8220;named query&#8221;?<br />
&#62;&#62;&#62;&#62;&#62;&#62;create and consume flat files into/from where</p>
<p>A split transform: Default output is all data outside conditions, the leftovers that you go to a different destination.<br />
Make a habit of rendering the Mappings before filling a Preview.</p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Degenerate Dimensions.]]></title>
<link>http://nirupampratap.wordpress.com/2009/10/19/degenerate-dimensions/</link>
<pubDate>Mon, 19 Oct 2009 06:55:53 +0000</pubDate>
<dc:creator>nirupampratap</dc:creator>
<guid>http://nirupampratap.wordpress.com/2009/10/19/degenerate-dimensions/</guid>
<description><![CDATA[I was going through the design of one of our OLAP databases and in that database I found certain fac]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p style="text-align:justify;">I was going through the design of one of our OLAP databases and in that database I found certain fact tables with columns which seemed to be fitting the description of a dimension rather than that of a fact/measure. I had long arguments with the designer who designed this database and still couldn&#8217;t get a convincing answer. He seemed to have started designing the database assuming this to be a fact whereas now he was confused between terming that field as a fact or a dimension. So, I did some reading on this aspect and found <a title="Degenerate Dimension - Explanation" href="http://www.kimballgroup.com/html/designtipsPDF/DesignTips2003/KimballDT46AnotherLook.pdf" target="_blank">this article</a> describing something called as &#8216;Degenerate Dimensions&#8217;. It explained in detail why some columns are more like dimensions and how they need to be modeled.</p>
<p style="text-align:justify;">As such this discussion happened between us some months ago&#8230; but I started loosing track of the URL&#8230; hence I thought it might be a good idea to track it as part of a blog post <img src='http://s.wordpress.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> . Also, it might be of some use to people who are designing OLAP applications.</p>
<p style="text-align:justify;">Pratap.</p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[dbta.com: New Additions to the DBA Bookshelf]]></title>
<link>http://enggtech.wordpress.com/2009/10/16/dbta-com-new-additions-to-the-dba-bookshelf/</link>
<pubDate>Fri, 16 Oct 2009 02:49:48 +0000</pubDate>
<dc:creator>Visitor Blogs</dc:creator>
<guid>http://enggtech.wordpress.com/2009/10/16/dbta-com-new-additions-to-the-dba-bookshelf/</guid>
<description><![CDATA[SQL Injection Attacks and Defense by Justin Clarke. Microsoft SQL Server 2008 Reporting Services Unl]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p><em>SQL Injection Attacks and Defense</em> by Justin Clarke.</p>
<p><em>Microsoft SQL Server 2008 Reporting Services Unleashed</em> (SAMS Publishing).</p>
<p><em>Oracle Essbase 9 Implementation Guide</em> (Packt).</p>
<p>Kevvie Fowler&#8217;s comprehensive tome, <em>SQL Server Forensic Analysis</em> (Addison Wesley). <a href="http://www.applicationforensics.com/">www.applicationforensics.com</a>.</p>
<p>Fowler’s other Web site is Ring Zero (<a href="http://www.ringzero.ca/">www.ringzero.ca</a>)</p>
<table border="0" cellspacing="0" cellpadding="0">
<tbody>
<tr valign="top">
<td style="padding-left:0;">
<div><a title="Download &#34;Chapter 1. Introduction to Databases&#34;" href="http://my.safaribooksonline.com/9780321533203?tocview=true#"><img style="margin-right:3px;" title="Download &#34;Chapter 1. Introduction to Databases&#34;" src="http://my.safaribooksonline.com/static/200910-2127-my/images/acrosm.gif" alt="Download &#34;Chapter 1. Introduction to Databases&#34;" /></a><a title="Chapter 1. Introduction to Databases" href="http://my.safaribooksonline.com/9780321533203/ch01">Chapter 1. Introduction to Databases</a></div>
</td>
</tr>
<tr valign="top">
<td style="padding-left:30px;">
<div><a title="Running Chapter 1 Sample Scripts" href="http://my.safaribooksonline.com/9780321533203/ch01lev1sec1">Running Chapter 1 Sample Scripts</a></div>
</td>
</tr>
<tr valign="top">
<td style="padding-left:30px;">
<div><a title="Databases Explained" href="http://my.safaribooksonline.com/9780321533203/ch01lev1sec2">Databases Explained</a></div>
</td>
</tr>
<tr valign="top">
<td style="padding-left:30px;">
<div><a title="How Databases Are Used" href="http://my.safaribooksonline.com/9780321533203/ch01lev1sec3">How Databases Are Used</a></div>
</td>
</tr>
<tr valign="top">
<td style="padding-left:30px;">
<div><a title="Databases and COTS Applications" href="http://my.safaribooksonline.com/9780321533203/ch01lev1sec4">Databases and COTS Applications</a></div>
</td>
</tr>
<tr valign="top">
<td style="padding-left:30px;">
<div><a title="Database Structure" href="http://my.safaribooksonline.com/9780321533203/ch01lev1sec5">Database Structure</a></div>
</td>
</tr>
<tr valign="top">
<td style="padding-left:30px;">
<div><a title="Structured Query Language (SQL)" href="http://my.safaribooksonline.com/9780321533203/ch01lev1sec6">Structured Query Language (SQL)</a></div>
</td>
</tr>
<tr valign="top">
<td style="padding-left:30px;">
<div><a title="Database Transactions" href="http://my.safaribooksonline.com/9780321533203/ch01lev1sec7">Database Transactions</a></div>
</td>
</tr>
<tr valign="top">
<td style="padding-left:30px;">
<div><a title="The ACID Model" href="http://my.safaribooksonline.com/9780321533203/ch01lev1sec8">The ACID Model</a></div>
</td>
</tr>
<tr valign="top">
<td style="padding-left:30px;">
<div><a title="Referential Integrity" href="http://my.safaribooksonline.com/9780321533203/ch01lev1sec9">Referential Integrity</a></div>
</td>
</tr>
<tr valign="top">
<td style="padding-left:30px;">
<div><a title="Summary" href="http://my.safaribooksonline.com/9780321533203/ch01lev1sec10">Summary</a></div>
</td>
</tr>
<tr valign="top">
<td style="padding-left:0;">
<div><a title="Download &#34;Chapter 2. SQL Server Fundamentals&#34;" href="http://my.safaribooksonline.com/9780321533203?tocview=true#"><img style="margin-right:3px;" title="Download &#34;Chapter 2. SQL Server Fundamentals&#34;" src="http://my.safaribooksonline.com/static/200910-2127-my/images/acrosm.gif" alt="Download &#34;Chapter 2. SQL Server Fundamentals&#34;" /></a><a title="Chapter 2. SQL Server Fundamentals" href="http://my.safaribooksonline.com/9780321533203/ch02">Chapter 2. SQL Server Fundamentals</a></div>
</td>
</tr>
<tr valign="top">
<td style="padding-left:30px;">
<div><a title="History of SQL Server" href="http://my.safaribooksonline.com/9780321533203/ch02lev1sec1">History of SQL Server</a></div>
</td>
</tr>
<tr valign="top">
<td style="padding-left:30px;">
<div><a title="SQL Server Versions and Editions" href="http://my.safaribooksonline.com/9780321533203/ch02lev1sec2">SQL Server Versions and Editions</a></div>
</td>
</tr>
<tr valign="top">
<td style="padding-left:30px;">
<div><a title="Architecture" href="http://my.safaribooksonline.com/9780321533203/ch02lev1sec3">Architecture</a></div>
</td>
</tr>
<tr valign="top">
<td style="padding-left:30px;">
<div><a title="SQL Server Connections" href="http://my.safaribooksonline.com/9780321533203/ch02lev1sec4">SQL Server Connections</a></div>
</td>
</tr>
<tr valign="top">
<td style="padding-left:30px;">
<div><a title="Context Switching" href="http://my.safaribooksonline.com/9780321533203/ch02lev1sec5">Context Switching</a></div>
</td>
</tr>
<tr valign="top">
<td style="padding-left:30px;">
<div><a title="SQL Server Databases" href="http://my.safaribooksonline.com/9780321533203/ch02lev1sec6">SQL Server Databases</a></div>
</td>
</tr>
<tr valign="top">
<td style="padding-left:30px;">
<div><a title="Data Storage" href="http://my.safaribooksonline.com/9780321533203/ch02lev1sec7">Data Storage</a></div>
</td>
</tr>
<tr valign="top">
<td style="padding-left:30px;">
<div><a title="Memory Management" href="http://my.safaribooksonline.com/9780321533203/ch02lev1sec8">Memory Management</a></div>
</td>
</tr>
<tr valign="top">
<td style="padding-left:30px;">
<div><a title="Security" href="http://my.safaribooksonline.com/9780321533203/ch02lev1sec9">Security</a></div>
</td>
</tr>
<tr valign="top">
<td style="padding-left:30px;">
<div><a title="Permissions" href="http://my.safaribooksonline.com/9780321533203/ch02lev1sec10">Permissions</a></div>
</td>
</tr>
<tr valign="top">
<td style="padding-left:30px;">
<div><a title="Encryption" href="http://my.safaribooksonline.com/9780321533203/ch02lev1sec11">Encryption</a></div>
</td>
</tr>
<tr valign="top">
<td style="padding-left:30px;">
<div><a title="Dynamic Management and Database Console Commands" href="http://my.safaribooksonline.com/9780321533203/ch02lev1sec12">Dynamic Management and Database Console Commands</a></div>
</td>
</tr>
<tr valign="top">
<td style="padding-left:30px;">
<div><a title="Logging" href="http://my.safaribooksonline.com/9780321533203/ch02lev1sec13">Logging</a></div>
</td>
</tr>
<tr valign="top">
<td style="padding-left:30px;">
<div><a title="SQL Server Agent" href="http://my.safaribooksonline.com/9780321533203/ch02lev1sec14">SQL Server Agent</a></div>
</td>
</tr>
<tr valign="top">
<td style="padding-left:30px;">
<div><a title="Summary" href="http://my.safaribooksonline.com/9780321533203/ch02lev1sec15">Summary</a></div>
</td>
</tr>
<tr valign="top">
<td style="padding-left:0;">
<div><a title="Download &#34;Chapter 3. SQL Server Forensics&#34;" href="http://my.safaribooksonline.com/9780321533203?tocview=true#"><img style="margin-right:3px;" title="Download &#34;Chapter 3. SQL Server Forensics&#34;" src="http://my.safaribooksonline.com/static/200910-2127-my/images/acrosm.gif" alt="Download &#34;Chapter 3. SQL Server Forensics&#34;" /></a><a title="Chapter 3. SQL Server Forensics" href="http://my.safaribooksonline.com/9780321533203/ch03">Chapter 3. SQL Server Forensics</a></div>
</td>
</tr>
<tr valign="top">
<td style="padding-left:30px;">
<div><a title="The Road to SQL Server Forensics" href="http://my.safaribooksonline.com/9780321533203/ch03lev1sec1">The Road to SQL Server Forensics</a></div>
</td>
</tr>
<tr valign="top">
<td style="padding-left:30px;">
<div><a title="SQL Server Forensics" href="http://my.safaribooksonline.com/9780321533203/ch03lev1sec2">SQL Server Forensics</a></div>
</td>
</tr>
<tr valign="top">
<td style="padding-left:30px;">
<div><a title="SQL Server Forensic Methodology" href="http://my.safaribooksonline.com/9780321533203/ch03lev1sec3">SQL Server Forensic Methodology</a></div>
</td>
</tr>
<tr valign="top">
<td style="padding-left:30px;">
<div><a title="Summary" href="http://my.safaribooksonline.com/9780321533203/ch03lev1sec4">Summary</a></div>
</td>
</tr>
<tr valign="top">
<td style="padding-left:0;">
<div><a title="Download &#34;Chapter 4. SQL Server Artifacts&#34;" href="http://my.safaribooksonline.com/9780321533203?tocview=true#"><img style="margin-right:3px;" title="Download &#34;Chapter 4. SQL Server Artifacts&#34;" src="http://my.safaribooksonline.com/static/200910-2127-my/images/acrosm.gif" alt="Download &#34;Chapter 4. SQL Server Artifacts&#34;" /></a><a title="Chapter 4. SQL Server Artifacts" href="http://my.safaribooksonline.com/9780321533203/ch04">Chapter 4. SQL Server Artifacts</a></div>
</td>
</tr>
<tr valign="top">
<td style="padding-left:30px;">
<div><a title="SQL Server Artifacts" href="http://my.safaribooksonline.com/9780321533203/ch04lev1sec1">SQL Server Artifacts</a></div>
</td>
</tr>
<tr valign="top">
<td style="padding-left:30px;">
<div><a title="Resident SQL Server Artifacts" href="http://my.safaribooksonline.com/9780321533203/ch04lev1sec2">Resident SQL Server Artifacts</a></div>
</td>
</tr>
<tr valign="top">
<td style="padding-left:30px;">
<div><a title="Nonresident SQL Server Artifacts" href="http://my.safaribooksonline.com/9780321533203/ch04lev1sec3">Nonresident SQL Server Artifacts</a></div>
</td>
</tr>
<tr valign="top">
<td style="padding-left:30px;">
<div><a title="Artifact Summary" href="http://my.safaribooksonline.com/9780321533203/ch04lev1sec4">Artifact Summary</a></div>
</td>
</tr>
<tr valign="top">
<td style="padding-left:30px;">
<div><a title="Summary" href="http://my.safaribooksonline.com/9780321533203/ch04lev1sec5">Summary</a></div>
</td>
</tr>
<tr valign="top">
<td style="padding-left:0;">
<div><a title="Download &#34;Chapter 5. SQL Server Investigation Preparedness&#34;" href="http://my.safaribooksonline.com/9780321533203?tocview=true#"><img style="margin-right:3px;" title="Download &#34;Chapter 5. SQL Server Investigation Preparedness&#34;" src="http://my.safaribooksonline.com/static/200910-2127-my/images/acrosm.gif" alt="Download &#34;Chapter 5. SQL Server Investigation Preparedness&#34;" /></a><a title="Chapter 5. SQL Server Investigation Preparedness" href="http://my.safaribooksonline.com/9780321533203/ch05">Chapter 5. SQL Server Investigation Preparedness</a></div>
</td>
</tr>
<tr valign="top">
<td style="padding-left:30px;">
<div><a title="SQL Server Investigation Preparedness Overview" href="http://my.safaribooksonline.com/9780321533203/ch05lev1sec1">SQL Server Investigation Preparedness Overview</a></div>
</td>
</tr>
<tr valign="top">
<td style="padding-left:30px;">
<div><a title="Configuring Your Forensics Workstation for a SQL Server Investigation" href="http://my.safaribooksonline.com/9780321533203/ch05lev1sec2">Configuring Your Forensics Workstation for a SQL Server Investigation</a></div>
</td>
</tr>
<tr valign="top">
<td style="padding-left:30px;">
<div><a title="Creating a SQL Server Forensics Incident Response Toolkit" href="http://my.safaribooksonline.com/9780321533203/ch05lev1sec3">Creating a SQL Server Forensics Incident Response Toolkit</a></div>
</td>
</tr>
<tr valign="top">
<td style="padding-left:30px;">
<div><a title="Summary" href="http://my.safaribooksonline.com/9780321533203/ch05lev1sec4">Summary</a></div>
</td>
</tr>
<tr valign="top">
<td style="padding-left:0;">
<div><a title="Download &#34;Chapter 6. Incident Verification&#34;" href="http://my.safaribooksonline.com/9780321533203?tocview=true#"><img style="margin-right:3px;" title="Download &#34;Chapter 6. Incident Verification&#34;" src="http://my.safaribooksonline.com/static/200910-2127-my/images/acrosm.gif" alt="Download &#34;Chapter 6. Incident Verification&#34;" /></a><a title="Chapter 6. Incident Verification" href="http://my.safaribooksonline.com/9780321533203/ch06">Chapter 6. Incident Verification</a></div>
</td>
</tr>
<tr valign="top">
<td style="padding-left:30px;">
<div><a title="Running Chapter 6 Sample Scripts" href="http://my.safaribooksonline.com/9780321533203/ch06lev1sec1">Running Chapter 6 Sample Scripts</a></div>
</td>
</tr>
<tr valign="top">
<td style="padding-left:30px;">
<div><a title="Incident Verification Explained" href="http://my.safaribooksonline.com/9780321533203/ch06lev1sec2">Incident Verification Explained</a></div>
</td>
</tr>
<tr valign="top">
<td style="padding-left:30px;">
<div><a title="What Not to Do When Investigating a Live SQL Server" href="http://my.safaribooksonline.com/9780321533203/ch06lev1sec3">What Not to Do When Investigating a Live SQL Server</a></div>
</td>
</tr>
<tr valign="top">
<td style="padding-left:30px;">
<div><a title="Responding to an Incident" href="http://my.safaribooksonline.com/9780321533203/ch06lev1sec4">Responding to an Incident</a></div>
</td>
</tr>
<tr valign="top">
<td style="padding-left:30px;">
<div><a title="Identifying the SQL Server Instance Name" href="http://my.safaribooksonline.com/9780321533203/ch06lev1sec5">Identifying the SQL Server Instance Name</a></div>
</td>
</tr>
<tr valign="top">
<td style="padding-left:30px;">
<div><a title="Connecting to a Victim System" href="http://my.safaribooksonline.com/9780321533203/ch06lev1sec6">Connecting to a Victim System</a></div>
</td>
</tr>
<tr valign="top">
<td style="padding-left:30px;">
<div><a title="Disconnecting from the Victim System" href="http://my.safaribooksonline.com/9780321533203/ch06lev1sec7">Disconnecting from the Victim System</a></div>
</td>
</tr>
<tr valign="top">
<td style="padding-left:30px;">
<div><a title="Identifying Signs of an Intrusion" href="http://my.safaribooksonline.com/9780321533203/ch06lev1sec8">Identifying Signs of an Intrusion</a></div>
</td>
</tr>
<tr valign="top">
<td style="padding-left:30px;">
<div><a title="Submitting Preliminary Findings" href="http://my.safaribooksonline.com/9780321533203/ch06lev1sec9">Submitting Preliminary Findings</a></div>
</td>
</tr>
<tr valign="top">
<td style="padding-left:30px;">
<div><a title="Summary" href="http://my.safaribooksonline.com/9780321533203/ch06lev1sec10">Summary</a></div>
</td>
</tr>
<tr valign="top">
<td style="padding-left:0;">
<div><a title="Download &#34;Chapter 7. Artifact Collection&#34;" href="http://my.safaribooksonline.com/9780321533203?tocview=true#"><img style="margin-right:3px;" title="Download &#34;Chapter 7. Artifact Collection&#34;" src="http://my.safaribooksonline.com/static/200910-2127-my/images/acrosm.gif" alt="Download &#34;Chapter 7. Artifact Collection&#34;" /></a><a title="Chapter 7. Artifact Collection" href="http://my.safaribooksonline.com/9780321533203/ch07">Chapter 7. Artifact Collection</a></div>
</td>
</tr>
<tr valign="top">
<td style="padding-left:30px;">
<div><a title="Focus on Ad Hoc Collection" href="http://my.safaribooksonline.com/9780321533203/ch07lev1sec1">Focus on Ad Hoc Collection</a></div>
</td>
</tr>
<tr valign="top">
<td style="padding-left:30px;">
<div><a title="Running the Sample Scripts" href="http://my.safaribooksonline.com/9780321533203/ch07lev1sec2">Running the Sample Scripts</a></div>
</td>
</tr>
<tr valign="top">
<td style="padding-left:30px;">
<div><a title="Maintaining the Integrity of Collected Data" href="http://my.safaribooksonline.com/9780321533203/ch07lev1sec3">Maintaining the Integrity of Collected Data</a></div>
</td>
</tr>
<tr valign="top">
<td style="padding-left:30px;">
<div><a title="Automated Artifact Collection via Windows Forensic Toolchest" href="http://my.safaribooksonline.com/9780321533203/ch07lev1sec4">Automated Artifact Collection via Windows Forensic Toolchest</a></div>
</td>
</tr>
<tr valign="top">
<td style="padding-left:30px;">
<div><a title="Identifying the Victim’s SQL Server Version" href="http://my.safaribooksonline.com/9780321533203/ch07lev1sec5">Identifying the Victim&#8217;s SQL Server Version</a></div>
</td>
</tr>
<tr valign="top">
<td style="padding-left:30px;">
<div><a title="Ad Hoc Artifact Collection" href="http://my.safaribooksonline.com/9780321533203/ch07lev1sec6">Ad Hoc Artifact Collection</a></div>
</td>
</tr>
<tr valign="top">
<td style="padding-left:30px;">
<div><a title="Collecting Volatile SQL Server Artifacts" href="http://my.safaribooksonline.com/9780321533203/ch07lev1sec7">Collecting Volatile SQL Server Artifacts</a></div>
</td>
</tr>
<tr valign="top">
<td style="padding-left:30px;">
<div><a title="Collecting Nonvolatile SQL Server Artifacts" href="http://my.safaribooksonline.com/9780321533203/ch07lev1sec8">Collecting Nonvolatile SQL Server Artifacts</a></div>
</td>
</tr>
<tr valign="top">
<td style="padding-left:30px;">
<div><a title="Summary" href="http://my.safaribooksonline.com/9780321533203/ch07lev1sec9">Summary</a></div>
</td>
</tr>
<tr valign="top">
<td style="padding-left:0;">
<div><a title="Download &#34;Chapter 8. Artifact Analysis I&#34;" href="http://my.safaribooksonline.com/9780321533203?tocview=true#"><img style="margin-right:3px;" title="Download &#34;Chapter 8. Artifact Analysis I&#34;" src="http://my.safaribooksonline.com/static/200910-2127-my/images/acrosm.gif" alt="Download &#34;Chapter 8. Artifact Analysis I&#34;" /></a><a title="Chapter 8. Artifact Analysis I" href="http://my.safaribooksonline.com/9780321533203/ch08">Chapter 8. Artifact Analysis I</a></div>
</td>
</tr>
<tr valign="top">
<td style="padding-left:30px;">
<div><a title="Working Along with Chapter 8 Examples" href="http://my.safaribooksonline.com/9780321533203/ch08lev1sec1">Working Along with Chapter 8 Examples</a></div>
</td>
</tr>
<tr valign="top">
<td style="padding-left:30px;">
<div><a title="Pre-analysis Activities" href="http://my.safaribooksonline.com/9780321533203/ch08lev1sec2">Pre-analysis Activities</a></div>
</td>
</tr>
<tr valign="top">
<td style="padding-left:30px;">
<div><a title="Authentication and Authorization" href="http://my.safaribooksonline.com/9780321533203/ch08lev1sec3">Authentication and Authorization</a></div>
</td>
</tr>
<tr valign="top">
<td style="padding-left:30px;">
<div><a title="Configuration and Versioning" href="http://my.safaribooksonline.com/9780321533203/ch08lev1sec4">Configuration and Versioning</a></div>
</td>
</tr>
<tr valign="top">
<td style="padding-left:30px;">
<div><a title="Summary" href="http://my.safaribooksonline.com/9780321533203/ch08lev1sec5">Summary</a></div>
</td>
</tr>
<tr valign="top">
<td style="padding-left:0;">
<div><a title="Download &#34;Chapter 9. Artifact Analysis II&#34;" href="http://my.safaribooksonline.com/9780321533203?tocview=true#"><img style="margin-right:3px;" title="Download &#34;Chapter 9. Artifact Analysis II&#34;" src="http://my.safaribooksonline.com/static/200910-2127-my/images/acrosm.gif" alt="Download &#34;Chapter 9. Artifact Analysis II&#34;" /></a><a title="Chapter 9. Artifact Analysis II" href="http://my.safaribooksonline.com/9780321533203/ch09">Chapter 9. Artifact Analysis II</a></div>
</td>
</tr>
<tr valign="top">
<td style="padding-left:30px;">
<div><a title="Working Along with Chapter 9 Examples" href="http://my.safaribooksonline.com/9780321533203/ch09lev1sec1">Working Along with Chapter 9 Examples</a></div>
</td>
</tr>
<tr valign="top">
<td style="padding-left:30px;">
<div><a title="Pre-analysis Activities" href="http://my.safaribooksonline.com/9780321533203/ch09lev1sec2">Pre-analysis Activities</a></div>
</td>
</tr>
<tr valign="top">
<td style="padding-left:30px;">
<div><a title="Activity Reconstruction" href="http://my.safaribooksonline.com/9780321533203/ch09lev1sec3">Activity Reconstruction</a></div>
</td>
</tr>
<tr valign="top">
<td style="padding-left:30px;">
<div><a title="Data Recovery" href="http://my.safaribooksonline.com/9780321533203/ch09lev1sec4">Data Recovery</a></div>
</td>
</tr>
<tr valign="top">
<td style="padding-left:30px;">
<div><a title="Summary" href="http://my.safaribooksonline.com/9780321533203/ch09lev1sec5">Summary</a></div>
</td>
</tr>
<tr valign="top">
<td style="padding-left:0;">
<div><a title="Download &#34;Chapter 10. SQL Server Rootkits&#34;" href="http://my.safaribooksonline.com/9780321533203?tocview=true#"><img style="margin-right:3px;" title="Download &#34;Chapter 10. SQL Server Rootkits&#34;" src="http://my.safaribooksonline.com/static/200910-2127-my/images/acrosm.gif" alt="Download &#34;Chapter 10. SQL Server Rootkits&#34;" /></a><a title="Chapter 10. SQL Server Rootkits" href="http://my.safaribooksonline.com/9780321533203/ch10">Chapter 10. SQL Server Rootkits</a></div>
</td>
</tr>
<tr valign="top">
<td style="padding-left:30px;">
<div><a title="Traditional Rootkits" href="http://my.safaribooksonline.com/9780321533203/ch10lev1sec1">Traditional Rootkits</a></div>
</td>
</tr>
<tr valign="top">
<td style="padding-left:30px;">
<div><a title="SQL Server Rootkits: The New Threat" href="http://my.safaribooksonline.com/9780321533203/ch10lev1sec2">SQL Server Rootkits: The New Threat</a></div>
</td>
</tr>
<tr valign="top">
<td style="padding-left:30px;">
<div><a title="Generations of SQL Server Rootkits" href="http://my.safaribooksonline.com/9780321533203/ch10lev1sec3">Generations of SQL Server Rootkits</a></div>
</td>
</tr>
<tr valign="top">
<td style="padding-left:30px;">
<div><a title="First-Generation SQL Server Rootkits" href="http://my.safaribooksonline.com/9780321533203/ch10lev1sec4">First-Generation SQL Server Rootkits</a></div>
</td>
</tr>
<tr valign="top">
<td style="padding-left:30px;">
<div><a title="How Rootkits Can Affect a SQL Server Investigation" href="http://my.safaribooksonline.com/9780321533203/ch10lev1sec5">How Rootkits Can Affect a SQL Server Investigation</a></div>
</td>
</tr>
<tr valign="top">
<td style="padding-left:30px;">
<div><a title="Detecting Database Rootkits" href="http://my.safaribooksonline.com/9780321533203/ch10lev1sec6">Detecting Database Rootkits</a></div>
</td>
</tr>
<tr valign="top">
<td style="padding-left:30px;">
<div><a title="When to Check for Database Rootkits" href="http://my.safaribooksonline.com/9780321533203/ch10lev1sec7">When to Check for Database Rootkits</a></div>
</td>
</tr>
<tr valign="top">
<td style="padding-left:30px;">
<div><a title="What to Do if You Find a Rootkit" href="http://my.safaribooksonline.com/9780321533203/ch10lev1sec8">What to Do if You Find a Rootkit</a></div>
</td>
</tr>
<tr valign="top">
<td style="padding-left:30px;">
<div><a title="Summary" href="http://my.safaribooksonline.com/9780321533203/ch10lev1sec9">Summary</a></div>
</td>
</tr>
<tr valign="top">
<td style="padding-left:0;">
<div><a title="Download &#34;Chapter 11. SQL Server Forensic Investigation Scenario&#34;" href="http://my.safaribooksonline.com/9780321533203?tocview=true#"><img style="margin-right:3px;" title="Download &#34;Chapter 11. SQL Server Forensic Investigation Scenario&#34;" src="http://my.safaribooksonline.com/static/200910-2127-my/images/acrosm.gif" alt="Download &#34;Chapter 11. SQL Server Forensic Investigation Scenario&#34;" /></a><a title="Chapter 11. SQL Server Forensic Investigation Scenario" href="http://my.safaribooksonline.com/9780321533203/ch11">Chapter 11. SQL Server Forensic Investigation Scenario</a></div>
</td>
</tr>
<tr valign="top">
<td style="padding-left:30px;">
<div><a title="Scenario Overview" href="http://my.safaribooksonline.com/9780321533203/ch11lev1sec1">Scenario Overview</a></div>
</td>
</tr>
<tr valign="top">
<td style="padding-left:30px;">
<div><a title="Importing Sample Artifacts" href="http://my.safaribooksonline.com/9780321533203/ch11lev1sec2">Importing Sample Artifacts</a></div>
</td>
</tr>
<tr valign="top">
<td style="padding-left:30px;">
<div><a title="Investigation Synopsis" href="http://my.safaribooksonline.com/9780321533203/ch11lev1sec3">Investigation Synopsis</a></div>
</td>
</tr>
<tr valign="top">
<td style="padding-left:30px;">
<div><a title="Incident Verification" href="http://my.safaribooksonline.com/9780321533203/ch11lev1sec4">Incident Verification</a></div>
</td>
</tr>
<tr valign="top">
<td style="padding-left:30px;">
<div><a title="Artifact Collection" href="http://my.safaribooksonline.com/9780321533203/ch11lev1sec5">Artifact Collection</a></div>
</td>
</tr>
<tr valign="top">
<td style="padding-left:30px;">
<div><a title="Artifact Analysis" href="http://my.safaribooksonline.com/9780321533203/ch11lev1sec6">Artifact Analysis</a></div>
</td>
</tr>
<tr valign="top">
<td style="padding-left:30px;">
<div><a title="Activity Reconstruction" href="http://my.safaribooksonline.com/9780321533203/ch11lev1sec7">Activity Reconstruction</a></div>
</td>
</tr>
<tr valign="top">
<td style="padding-left:30px;">
<div><a title="Investigation Summary" href="http://my.safaribooksonline.com/9780321533203/ch11lev1sec8">Investigation Summary</a></div>
</td>
</tr>
<tr valign="top">
<td style="padding-left:0;">
<div><a title="Download &#34;Appendix A. Installing SQL Server 2005 Express Edition with Advanced Services on Windows&#34;" href="http://my.safaribooksonline.com/9780321533203?tocview=true#"><img style="margin-right:3px;" title="Download &#34;Appendix A. Installing SQL Server 2005 Express Edition with Advanced Services on Windows&#34;" src="http://my.safaribooksonline.com/static/200910-2127-my/images/acrosm.gif" alt="Download &#34;Appendix A. Installing SQL Server 2005 Express Edition with Advanced Services on Windows&#34;" /></a><a title="Appendix A. Installing SQL Server 2005 Express Edition with Advanced Services on Windows" href="http://my.safaribooksonline.com/9780321533203/app01">Appendix A. Installing SQL Server 2005 Express Edition with Advanced Services on Windows</a></div>
</td>
</tr>
<tr valign="top">
<td style="padding-left:0;">
<div><a title="Download &#34;Appendix B. SQL Server Incident Response Scripts&#34;" href="http://my.safaribooksonline.com/9780321533203?tocview=true#"><img style="margin-right:3px;" title="Download &#34;Appendix B. SQL Server Incident Response Scripts&#34;" src="http://my.safaribooksonline.com/static/200910-2127-my/images/acrosm.gif" alt="Download &#34;Appendix B. SQL Server Incident Response Scripts&#34;" /></a><a title="Appendix B. SQL Server Incident Response Scripts" href="http://my.safaribooksonline.com/9780321533203/app02">Appendix B. SQL Server Incident Response Scripts</a></div>
</td>
</tr>
<tr valign="top">
<td style="padding-left:30px;">
<div><a title="SSFA_DataCache.sql" href="http://my.safaribooksonline.com/9780321533203/app02lev1sec1">SSFA_DataCache.sql</a></div>
</td>
</tr>
<tr valign="top">
<td style="padding-left:30px;">
<div><a title="SSFA_ClockHands.sql" href="http://my.safaribooksonline.com/9780321533203/app02lev1sec2">SSFA_ClockHands.sql</a></div>
</td>
</tr>
<tr valign="top">
<td style="padding-left:30px;">
<div><a title="SSFA_PlanCache.sql" href="http://my.safaribooksonline.com/9780321533203/app02lev1sec3">SSFA_PlanCache.sql</a></div>
</td>
</tr>
<tr valign="top">
<td style="padding-left:30px;">
<div><a title="SSFA_RecentStatements.sql" href="http://my.safaribooksonline.com/9780321533203/app02lev1sec4">SSFA_RecentStatements.sql</a></div>
</td>
</tr>
<tr valign="top">
<td style="padding-left:30px;">
<div><a title="SSFA_Connections.sql" href="http://my.safaribooksonline.com/9780321533203/app02lev1sec5">SSFA_Connections.sql</a></div>
</td>
</tr>
<tr valign="top">
<td style="padding-left:30px;">
<div><a title="SSFA_Sessions.sql" href="http://my.safaribooksonline.com/9780321533203/app02lev1sec6">SSFA_Sessions.sql</a></div>
</td>
</tr>
<tr valign="top">
<td style="padding-left:30px;">
<div><a title="SSFA_TLOG.sql" href="http://my.safaribooksonline.com/9780321533203/app02lev1sec7">SSFA_TLOG.sql</a></div>
</td>
</tr>
<tr valign="top">
<td style="padding-left:30px;">
<div><a title="SSFA_DBObjects.sql" href="http://my.safaribooksonline.com/9780321533203/app02lev1sec8">SSFA_DBObjects.sql</a></div>
</td>
</tr>
<tr valign="top">
<td style="padding-left:30px;">
<div><a title="SSFA_Logins.sql" href="http://my.safaribooksonline.com/9780321533203/app02lev1sec9">SSFA_Logins.sql</a></div>
</td>
</tr>
<tr valign="top">
<td style="padding-left:30px;">
<div><a title="SSFA_Databases.sql" href="http://my.safaribooksonline.com/9780321533203/app02lev1sec10">SSFA_Databases.sql</a></div>
</td>
</tr>
<tr valign="top">
<td style="padding-left:30px;">
<div><a title="SSFA_DbUsers.sql" href="http://my.safaribooksonline.com/9780321533203/app02lev1sec11">SSFA_DbUsers.sql</a></div>
</td>
</tr>
<tr valign="top">
<td style="padding-left:30px;">
<div><a title="SSFA_Triggers.sql" href="http://my.safaribooksonline.com/9780321533203/app02lev1sec12">SSFA_Triggers.sql</a></div>
</td>
</tr>
<tr valign="top">
<td style="padding-left:30px;">
<div><a title="SSFA_Jobs.sql" href="http://my.safaribooksonline.com/9780321533203/app02lev1sec13">SSFA_Jobs.sql</a></div>
</td>
</tr>
<tr valign="top">
<td style="padding-left:30px;">
<div><a title="SSFA_JobHistory.sql" href="http://my.safaribooksonline.com/9780321533203/app02lev1sec14">SSFA_JobHistory.sql</a></div>
</td>
</tr>
<tr valign="top">
<td style="padding-left:30px;">
<div><a title="SSFA_Configurations.sql" href="http://my.safaribooksonline.com/9780321533203/app02lev1sec15">SSFA_Configurations.sql</a></div>
</td>
</tr>
<tr valign="top">
<td style="padding-left:30px;">
<div><a title="SSFA_CLR.sql" href="http://my.safaribooksonline.com/9780321533203/app02lev1sec16">SSFA_CLR.sql</a></div>
</td>
</tr>
<tr valign="top">
<td style="padding-left:30px;">
<div><a title="SSFA_Schemas.sql" href="http://my.safaribooksonline.com/9780321533203/app02lev1sec17">SSFA_Schemas.sql</a></div>
</td>
</tr>
<tr valign="top">
<td style="padding-left:30px;">
<div><a title="SSFA_EndPoints.sql" href="http://my.safaribooksonline.com/9780321533203/app02lev1sec18">SSFA_EndPoints.sql</a></div>
</td>
</tr>
<tr valign="top">
<td style="padding-left:30px;">
<div><a title="SSFA_DbSrvInfo.sql" href="http://my.safaribooksonline.com/9780321533203/app02lev1sec19">SSFA_DbSrvInfo.sql</a></div>
</td>
</tr>
<tr valign="top">
<td style="padding-left:30px;">
<div><a title="SSFA_AutoEXEC.sql" href="http://my.safaribooksonline.com/9780321533203/app02lev1sec20">SSFA_AutoEXEC.sql</a></div>
</td>
</tr>
<tr valign="top">
<td style="padding-left:30px;">
<div><a title="SSFA_TimeConfig.sql" href="http://my.safaribooksonline.com/9780321533203/app02lev1sec21">SSFA_TimeConfig.sql</a></div>
</td>
</tr>
</tbody>
</table>
<p><a href="http://www.dbta.com/Articles/Columns/DBA-Corner/New-Additions-to-the-DBA-Bookshelf-56613.aspx">dbta.com: New Additions to the DBA Bookshelf</a>.</p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Nigel Pendse Sharply Criticises Traditional BI Providers at the 2009 Palo Open]]></title>
<link>http://enterpriseinformationmanagement.wordpress.com/2009/10/15/nigel-pendse-sharply-criticises-traditional-bi-providers-at-the-2009-palo-open/</link>
<pubDate>Thu, 15 Oct 2009 08:59:43 +0000</pubDate>
<dc:creator>Andy Painter</dc:creator>
<guid>http://enterpriseinformationmanagement.wordpress.com/2009/10/15/nigel-pendse-sharply-criticises-traditional-bi-providers-at-the-2009-palo-open/</guid>
<description><![CDATA[OLAP Guru Nigel Pendse Recommends Smaller Software Providers In his speech, keynote speaker Nigel Pe]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p>OLAP Guru Nigel Pendse Recommends Smaller Software Providers</p>
<p>In his speech, keynote speaker Nigel Pendse, software analyst and publisher of BI Survey, sharply criticised large producers of Business Intelligence software. The annual meeting of users and partners of the open source software <a title="Open-Source BI solution for Corporate Performance Management and OLAP-based planning, analysis and reporting" href="http://www.jedox.com/en/home/overview.html" target="_blank">Palo</a> was held last Tuesday in Frankfurt, where applications and solutions that use Palo were introduced, and the 2009 Palo Award was conferred.</p>
<p>Based on the feedback from Business Intelligence users, Pendse demonstrated that BI products and services of large providers performed well below average. Pendse explained that Business Intelligence is simply not the core service of large software companies. Large providers&#8217; ongoing acquisition politics reflects the poor quality of their product portfolio. According to Pendse, nothing positive can currently be expected from the large providers in terms of BI, since they are overly concerned with integrating their many new acquisitions. Pendse advised corporate BI users to choose the best products on the market, which generally are offered by smaller providers such as <a title="Jedox" href="http://www.jedox.com/en/home/overview.html" target="_blank">Jedox</a>.</p>
<p>Finance applications were the focus of the presented Palo applications. The auditing and consulting firm PriceWaterhouseCoopers AG introduced its new Palo-based applications in this area under the slogan &#8216;Treasury Intelligence&#8217;. These include solutions for monitoring the currency risks, credit risks and counterparty risks, liquidity planning and creation of IFRS 7-conformant appendix information. Thomas Hampel, a senior consultant at PriceWaterhouseCoopers, identified speed and user-friendliness as the advantages of the Jedox technology, qualities that also make it possible to easily adapt the product to the needs of individual clients. The main advantage identified by Hampel was that Palo &#8216;brings Excel applications to the Web at the push of a button, so to speak.&#8217;</p>
<p>The software company <a href="http://www.elkomsolutions.de/" target="_blank">elkomSolutions</a> introduced a Palo application for consolidated financial reporting that provides consolidated financial statements in accordance with HGB, IFRS or US GAAP standards. Insurer Standard Life presented its in-house budget planning and reporting system, which is based on the Palo suite. Ingo Weishaupt, Head of Management Information at Standard Life Group Germany had this to say about the Jedox solution: &#8220;A successful software project, implemented on time, it paid for itself in the first year and has been running reliably for three years.&#8221;</p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Oracle Database 11g vs. Microsoft SQL Server 2008]]></title>
<link>http://enggtech.wordpress.com/2009/10/10/oracle-database-11g-vs-microsoft-sql-server-2008/</link>
<pubDate>Sat, 10 Oct 2009 03:12:16 +0000</pubDate>
<dc:creator>Visitor Blogs</dc:creator>
<guid>http://enggtech.wordpress.com/2009/10/10/oracle-database-11g-vs-microsoft-sql-server-2008/</guid>
<description><![CDATA[This report is the latest in a series of Comparative Management Cost Studies (CMCS) comparing Oracle]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p>This report is the latest in a series of Comparative Management Cost Studies (CMCS) comparing Oracle Database with database management systems offered by other leading enterprise software vendors. This edition of the study compares Microsoft SQL Server 2008 with Oracle Database 11g.</p>
<p>Following the same approach taken in the earlier studies, Edison Group set up a laboratory environment to analyze a suite of standard RDBMS administrative tasks, and measured their respective management efficiency (time taken to complete tasks) and their complexity based on a proprietary manageability metric. Using the management efficiency results, Edison Group calculated the annual savings for businesses due to the enhanced DBA productivity that would result from using the product with superior manageability.</p>
<p>The study results show that, while both the vendor products have features to help average database administrators (DBA) perform everyday administrative tasks, Oracle Database 11g holds a substantial advantage over Microsoft SQL Server 2008. Our detailed analysis reveals that:</p>
<p> DBAs can perform typical administrative functions in 41 percent less time when using Oracle Database 11g compared to Microsoft SQL Server 2008.<br />
 Oracle Database 11g requires 43 percent fewer steps for the same set of standard RDBMS tasks than Microsoft SQL Server 2008 using Edison’s metric for complexity assessment.<br />
 Benefiting from increased DBA productivity due to lower complexity and higher efficiency cited above, businesses could save up to $33,520.47 per year per DBA by using Oracle Database 11g rather than Microsoft SQL Server 2008.<br />
The main areas of difference we discovered between the two products were:<br />
 Backup &#38; Recovery: In the case of backup and recovery tasks, Oracle Database 11g offers architectural and functional capabilities beyond those offered by SQL Server 2008. Oracle Database 11g took 53 percent less time and 60 percent fewer steps than Microsoft SQL Server in backup and recovery tasks.<br />
 Performance Diagnostics and Tuning: In this category, Oracle Database 11g demonstrated a significant 87 percent savings in time.</p>
<p>In the course of this study, Oracle Database 11g and Microsoft SQL Server 2008 were compared against a set of methodology metrics in order to determine which of the two products is easier to operate for businesses with real-world database management requirements. The Test Administration Workload Task Areas that we used to perform this study fall into the following four categories:<br />
 Database Installation and Setup<br />
 Day-to-Day Database Administration<br />
 Backup and Recovery<br />
 Performance Diagnostics and Tuning</p>
<p>Task categories were divided into individual tasks that logically map into their respective areas. To determine the overall manageability of a given task for a given product, each task was broken down into steps to assess the complexity and usability involved. Each task was then measured for time and number of steps required for successful completion.</p>
<p>Next, tasks were weighted against workload weighting constants. These weightings were used to determine the relative importance of a given task as measured against all of the tasks required to manage the entire product administration lifecycle. In other words, simple tasks that occur relatively infrequently were given a proportionately lower weighting than complex tasks that occur on a regular basis.</p>
<p>Finally, the results were tallied and the CMCS metrics for each product were substituted into manageability cost formulas to determine the projected human resources cost of operating both products, based on median DBA salary.</p>
<h2>The Methodology Defined</h2>
<p>For purposes of this study, the methodology is defined as a product manageability cost evaluation process, whereby the two products in question are compared against a set of task-oriented objective and subjective metrics in order to derive an accurate set of analytical results. The outcome of this study determines the Comparative Management Cost (CMC) incurred by managing and operating either of these products in a production environment. The methodology employed to conduct this comparison consists of the following elements.</p>
<h3>Workload Weighting</h3>
<p>The workload weighting is a set of constants that define the relative importance of a single task area in the workload, based on frequency of execution and measured against the entire set of task areas that compose this study.</p>
<h3>The Study</h3>
<p>The study is the baseline checklist of standard database administration tasks routinely performed, which are quantitatively and qualitatively compared in order to objectively determine, on a task-by-task basis, which product is superior. This is measured primarily in terms of ease of administration and secondarily (for certain tasks only) in terms of system speed of execution — the wall clock time it takes for the system in question to complete a job once it has been submitted by a DBA. The function of this study is to apply a set of quantitative metrics, developed by Edison Group, to a list of tasks typically regarded as qualitative in nature, in order to derive a meaningful set of CMCS statistics that can reveal the real difference in management costs for the two products in question.</p>
<h3>Tasks</h3>
<p>A task is defined as a complete logical activity, composed of one or more steps, all of which effect a significant alteration on the state of the database that accomplishes a specific work goal. Each task is measured for time and complexity. Time and complexity, as measured in the study, are defined as follows:</p>
<h3>Time</h3>
<p>Defined as the amount of time it takes to perform a given task. For certain (asynchronous) tasks, when a job can be run in the background so that the DBA can use the time for accomplishing other tasks, time is measured strictly in terms of the time it takes the DBA to perform the steps to configure, initiate, and submit a given task.</p>
<p>For other (synchronous) tasks in the study that demand the DBA’s full attention and prevent the accomplishment of other tasks (as in performing a hot recovery operation on a live database), time is measured to include both the time it takes for a DBA to configure/execute the task in question as well as the time it takes the system to complete the task. All time metrics are measured in wall clock time.</p>
<h3>Complexity</h3>
<p>For the purposes of this study, complexity is measured using a proprietary metric devised by Edison Group. It is defined as the number of system-affecting steps it takes to complete a given task, where a step is defined as a task component that effects a change of state to the database.</p>
<p>Because not all steps have the same inherent complexity, each step is further broken down into increments to account for the difference. An increment is a decision point that the user must make to complete a step. Increments are technically defined as a part of a step that will have a measurable effect on the state or execution path of that step in the task process, but which in and of itself does not affect a change upon the underlying database state until the step being executed is complete. For example, selecting Basic vs. Advanced Install with the installation wizard is an increment and not a step.</p>
<p>Complexity is then measured in terms of number of steps, but taking into account the following factors:<br />
 The number of increments it takes to complete each step.<br />
 Whether or not instrumentation for a given step is GUI-based or requires the use of a command line/scripting interface.<br />
 Whether or not the task requires a context switch between multiple interfaces in order to be completed. If a context switch exists, then additional steps will be added to the total step count for a given task.<br />
 The above factors affect the complexity calculation as follows:<br />
 The primary measure is steps. If a step has many increments, it is considered several steps. The metric allows each step five increments, and thereafter we add steps for each additional five increments rounded up.</p>
<p>So if a step has between 0–5 increments, it remains unchanged; if it has between 6–10 increments, it is increased by one; between 11–15 increments, it is increased by two; and so on. We decided to do this because, while increments are secondary to steps in determining complexity, they do modify the relative complexity of a given step in the course of completing a task. In other words, steps with a low number of increments are simple, and steps with a high number of increments are complex.</p>
<p> The other modifiers (instrumentation and context switching) occur very infrequently in the products under review, but they were significant enough a factor that we needed to account for them in some meaningful way in order to generate a measure of complexity that accurately reflects our experience of using the two products.</p>
<p> Regarding instrumentation, if an operation could be executed entirely within a GUI interface, then the complexity/step value for that task would remain unmodified. If, on the other hand, a step required the use of a command line interface, this would increase the step count. For a simple single-line command operation, the step count was increased by one, whereas if the operation required the user to write a script, the step value was increased by two or more, depending on how much work was required to write the script in question.</p>
<p>Lastly, we come to the matter of context switching. If a context switch was encountered during the course of completing a given task, then two or more steps were added to the step count for that task. The possible addition of more than two steps was allowed for as a judgment call on the part of the analyst performing the task under consideration. The reason tasks containing context switches were penalized is that we regard as inherently more complex to understand the dependencies of relating and performing a single operation in two different environments in order to complete a single task, as opposed to performing a similarly complex task in a well-integrated environment where all the operations can be accomplished in one place.</p>
<p>The workload for this CMCS was reduced to the basic set of atomic maintenance operations that effectively fulfill all fundamental database administration procedures. The reasoning behind this approach is that enterprise-class database configuration and administration is a non-trivial matter; we therefore set out to develop a (relatively) simple yet comprehensive evaluation process, establishing a CMCS methodology benchmark that we feel is realistic in its technical assessment, yet accessible to the large audience of non-technical decision makers who will read this document.</p>
<p>The evaluation of each task in the study workload was executed by measuring the time that a typical DBA spends in a given workload task area using the methodology metrics. We counted compute time for utility tasks only in situations where the DBA is expected to “baby sit,” such as instance recovery.</p>
<p>This was the process we used in determining whether Oracle Database 11g is less expensive to operate than Microsoft SQL Server 2008.</p>
<h2>Test Administration Workload</h2>
<p>Installation and Simple &#8220;Out-of-Box&#8221; Setup Tasks<br />
 Install db/software/out-of-box setup<br />
 Create second database server/instance<br />
 Setup proactive monitoring</p>
<h3>Day-to-Day Database Administration Tasks</h3>
<p> Create user with roles, privileges<br />
 Create tablespace/filegroup<br />
 Add space to database<br />
 Create table<br />
 Create index<br />
 Reclaim space due to fragmented data</p>
<p> Load data from text file<br />
 Adaptive thresholds and workload comparisons</p>
<h3>Backup &#38; Recovery Tasks</h3>
<p> Configure and perform full backup<br />
 Recover dropped table<br />
 Recover data file<br />
 Recover from erroneous transaction<br />
 Recover from multiple failures</p>
<h3>Performance Diagnostics &#38; Tuning Tasks</h3>
<p> Diagnose performance problem<br />
 Tune resource-intensive SQL<br />
 Tune memory</p>
<h2>Task Areas/Tasks</h2>
<p>The following glossary will be updated as required to reflect changes in the products and tasks performed.</p>
<p><strong>Database setup and configuration </strong>(workload task area): A workload task area that encompasses all of the operations that a DBA would need to perform in order to accurately install and configure either product prior to using it in a real-world application.</p>
<p><strong>Install db/software/out-of-box setup: </strong>The workload task that identifies the process of installing and configuring either of these products for the first time.</p>
<p><strong>Create new database server/instance: </strong>The workload task that allows a DBA to create a second database server/instance on a computer already running one or more instances of the RDBMS.</p>
<p><strong>Set up proactive monitoring: </strong>Proactive monitoring is a tool that allows a DBA to identify problems with the RDBMS before they become performance or operational issues. Setting up monitoring is crucial in providing a highly reliable system.</p>
<p><strong>Day-to-day database administration </strong>(workload task area): The workload task area where all of the routine DBA operations occur, such as creating database users and objects (for example, tables, indexes, triggers, procedures), as well as granting and revoking roles/privileges, plus database table/tablespace/data file sizing.</p>
<p><strong>Create index: </strong>The workload task that allows DBAs to create an index on a set of columns in a table that are heavily queried in order to speed the execution of queries run against that table.</p>
<p><strong>Create index on partitioned table: </strong>The workload task that allows DBAs to create local indexes on the partitioned table to help speed the execution of queries run against the table.</p>
<p><strong>Create Partitioned Table: </strong>The workload task that allows DBAs to create a partitioned table object to store information inside a schema in the database.</p>
<p><strong>Create user with roles, privileges: </strong>The workload task that allows DBAs to manage user security in the database.</p>
<p><strong>Create schema: </strong>The workload task that allows DBAs to create a new schema.</p>
<p><strong>Create table: </strong>The workload task that allows DBAs to create a table object to store information inside a schema in the database.</p>
<p><strong>Reclaim wasted space from tables with fragmented data: </strong>The workload task that allows DBAs to pack/shrink the database after prolonged use in order to consolidate space and optimize performance.</p>
<p><strong>Load data from text file: </strong>The workload task that allows a DBA to load information from an external source such as a flat file or spreadsheet into one or more tables in the database.</p>
<p><strong>Create tablespace: </strong>The workload task that allows DBAs to build a new tablespace for use by a particular database instance or schema.</p>
<p><strong>Add space to tablespace: </strong>The workload task that allows a DBA to add data files to a tablespace, thus increasing the amount of space available to all of the objects contained in that database.</p>
<p><strong>Backup and recovery tasks </strong>(workload task area): The workload task area where all tasks pertaining to database backup and recovery are performed.</p>
<p><strong>Configure and perform full backup: </strong>The workload task that allows DBAs to schedule and execute regular system backups as part and parcel of standard system fault tolerance operations.</p>
<p><strong>Recover dropped table: </strong>The workload task that allows a DBA to recover a table that has been inadvertently dropped from the database by a DBA, developer, or power user in the course of working with the database.</p>
<p><strong>Recover data file: </strong>The workload task that allows the DBA to recover a data file from a backup copy in the event of a media failure.</p>
<p><strong>Recover from erroneous transaction: </strong>The workload task that allows a DBA to undo a mistakenly executed transaction in order to recover objects ill-affected by this transaction to the state they were in before the transaction was executed.</p>
<p><strong>Performance diagnostics and tuning tasks </strong>(workload task area): The workload task area where all performance-related diagnostic, tuning, and optimization tasks are performed.</p>
<p><strong>Diagnose performance problem: </strong>The workload task that allows a DBA to analyze a poorly performing system in order to assess the performance problem as a prerequisite to performing the systems optimization functions required to bring the level of system performance to an optimal state (such as creating additional indexes, tuning a query/procedure, defragmenting tablespaces, or adjusting the server’s memory configuration).</p>
<p><strong>Tune instance memory: </strong>The workload task that allows DBAs to adjust server/instance system memory configuration parameters in order to efficiently support the load placed on the system by all applications that access the database.</p>
<p><strong>Fix performance problem </strong>(tune SQL statement): The workload task that allows DBAs to optimize a poorly running query/procedure so that it executes in an efficient manner.</p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Chapter 2: What Should You Expect from Your Data Warehouse?]]></title>
<link>http://enggtech.wordpress.com/2009/10/09/chapter-2-what-should-you-expect-from-your-data-warehouse/</link>
<pubDate>Fri, 09 Oct 2009 19:12:46 +0000</pubDate>
<dc:creator>Visitor Blogs</dc:creator>
<guid>http://enggtech.wordpress.com/2009/10/09/chapter-2-what-should-you-expect-from-your-data-warehouse/</guid>
<description><![CDATA[ISBN: 978-0-470-40747-9 Copyright of Wiley Publishing, Inc. Indianapolis, Indiana In This Chapter ▶ ]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p>ISBN: 978-0-470-40747-9<br />
Copyright of Wiley Publishing, Inc.<br />
Indianapolis, Indiana</p>
<p>In This Chapter<br />
▶ Making business decisions based on facts, not intuition<br />
▶ Realizing the value of “data at your fingertips”<br />
▶ Looking at cross-organization communications and your data warehouse<br />
▶ Changing your business because of insights from data warehouse information</p>
<p>All too often, the members of a data warehouse development team<br />
proudly unveil their creation, get a few “oohs” and “aahs” from their<br />
user community, and then find out that “if you build it, they won’t necessarily<br />
come.” The data warehouse just sits there, quietly being restocked every<br />
week or every month, and supporting only a few random user information<br />
requests until plans eventually are drafted for its replacement.</p>
<p>You can avoid many, or perhaps most, of these unfortunate situations if<br />
everyone, from the executive sponsors to the technicians and developers,<br />
focuses their efforts on a single question: “What do you do with a data<br />
warehouse?”</p>
<p>The contents of the warehouse (the data) aren’t important; rather, how<br />
the data is used in everyday business life is what makes the warehouse<br />
really useful.</p>
<h2>Using the Data Warehouse to Make Better Business Decisions</h2>
<p>Suppose that John is a district manager at MegaRetroMania, Ltd., a national<br />
chain of video-rental stores that specializes in movies from the 1950s and<br />
earlier. Mary is John’s counterpart in another district. Both excitedly awaited<br />
26 Part I: The Data Warehouse: Home for Your Data Assets<br />
the rollout of MegaRetroMania’s brand-new data warehouse, an event that<br />
finally occurred a month ago. John and Mary both attended the data warehousing<br />
orientation class in which they figured out how to run reports and<br />
make information requests by using the contents of the warehouse. Each<br />
person received a handsome, ready-for-framing certificate indicating<br />
successful completion of the course.<br />
On July 20, the day after June’s results had been finalized and loaded into the<br />
data warehouse, John sits down at his PC, clicks the icon that enables him to<br />
access the data warehouse, and makes this request:<br />
Show me, for all my stores, a breakdown of second-quarter sales compared<br />
to first-quarter sales, each store’s second-quarter sales from a year<br />
earlier, and the sales of all competitors within two square miles of each<br />
store’s location.</p>
<p>While John watches the little “Working, please wait” hourglass icon twirl for a<br />
few seconds on-screen, he thinks, “It’s fascinating how they can make it seem<br />
like the sand is really sifting from top to bottom like that.” After the results of<br />
his request are displayed on-screen, he prints the report, walks over to the<br />
printer to retrieve the five printed pages, flips through them for a few<br />
moments, and then thinks, “That’s really neat!”</p>
<p>Then he slips the report into the middle drawer on the left side of his desk<br />
before leaving for lunch.</p>
<p>And he never looks at it again.</p>
<p>Mary runs the same identical report for her district; after printing the report<br />
and flipping through the pages, however, she (unlike John) has a pen in hand<br />
and circles one number, underlines another, and writes “Uh-oh!” next to the<br />
line containing information for a store that she knows is having problems.<br />
Then, Mary returns to her desk, report in hand, and picks up the telephone.</p>
<p>First, she calls her problem-child store and, after the manager comes to the<br />
phone, spends the next half hour making follow-on information requests<br />
from the data warehouse, discussing the result of each request with the store<br />
manager, and considering various options, such as sales promotions.</p>
<p>After Mary takes her regular two-mile lunchtime walk, she calls the manager of another store in Madison County, Iowa, whose second-quarter sales were relatively flat after experiencing at least 15-percent growth every quarter for the past three years (a fact she obtained from the data warehouse when she noted the lack of growth in the second quarter). While the store manager is on the phone, Mary gets a week-by-week sales breakdown from the warehouse, which shows that the first three weeks of the quarter had been fairly good, with sales during each week slightly ahead of the preceding one.</p>
<p>During the fourth week of April, however, a large dip occurred, followed by<br />
an even larger dip the following week and yet another drop the week after<br />
that (the worst week any store had ever had, it turns out, in the long,<br />
distinguished history of MegaRetroMania) before sales began picking up<br />
in mid-May.</p>
<p>Suddenly, the store manager has an idea — maybe the Olympic Games were<br />
causing the problem! The Olympics had been held in Madison County for<br />
the first time ever, and everyone had attended. Even that store’s primary<br />
customer base, the legions of photographers who usually come to Madison<br />
County to take pictures of covered bridges during a four-day period and rent<br />
movies to watch in their motel rooms at night, were preoccupied for those<br />
three weeks by the Olympics.</p>
<p>Satisfied that no burgeoning problem is waiting in the Madison County<br />
store — just a once-in-a-lifetime anomaly, most likely — Mary turns her<br />
attention to the other annotations on her printout. By the end of the day,<br />
five stores have action plans in place for special promotional campaigns<br />
to combat competition that’s opened in the past few months near those<br />
MegaRetroMania locations.</p>
<p>Here’s a quiz. True or false: Mary and John both used the data warehouse<br />
today.</p>
<p>The answer: False.</p>
<p>You might be thinking, “What? Of course John used the data warehouse<br />
today. He ran a report and looked it over.”</p>
<p>Although John accessed the data warehouse, he didn’t use it. He looked over<br />
a printout and stuffed it away forever, and then returned to business as<br />
usual. When you compare his action to Mary’s, the differences are obvious.<br />
No matter what else appears on a data warehousing project’s mission<br />
statement, and no matter what the project’s sponsors say to convey the<br />
project’s merits to the people who control funding, the primary purpose<br />
of a data warehouse is to help people make better business decisions. Data<br />
warehousing isn’t about simply accessing data and then doing nothing with<br />
it; it’s about really using data.</p>
<p>Here’s one way to make sure that data warehouse users act more like Mary<br />
than John: When you conduct training sessions before you turn users loose on<br />
the new data warehouse, explain to them not only how to access data (which<br />
types of queries and reports they can run or which types of data are available,<br />
for example), but also include real-world examples of how to use the results of<br />
their warehouse access.</p>
<p>The training session for MegaRetroMania district managers (and other warehouse<br />
users), for example, might feature end-to-end hands-on training that<br />
explains how to get sales reports and what the reports look like. To make<br />
sure that users understand the usefulness of the data warehouse, the instruction<br />
could also feature role-playing or some other type of training in what to<br />
do with those reports to improve the stores’ performances.</p>
<h2>Finding Data at Your Fingertips</h2>
<p>Everyone has heard the phrase “information (or knowledge) is power,” and<br />
the more skillfully people use information in the course of their jobs, the<br />
greater their chances for success.</p>
<p>The process of gathering data from many different sources (if you can<br />
even get the data at all) has traditionally been tedious, particularly before<br />
computers became commonplace — and it has remained that way during<br />
the information age. Some novels and movies would have you believe that<br />
after you press just a few keys, you can automatically access vast amounts<br />
of data from anywhere in the world, regardless of the platform you’re using,<br />
the structure of the data (how it’s organized), or how the data is encoded<br />
or keyed.</p>
<p>The real world isn’t quite that orderly, and anyone who has struggled to<br />
perform what should be simple tasks (merging Pacific Rim sales data from<br />
one system with North American sales data from another, for example) is<br />
probably aware of the difficulties.</p>
<p>Suppose that Steve is a district sales manager at BlackAndWhiteVideos, Inc.,<br />
MegaRetroMania’s upstart archrival. Unlike John and Mary, though, Steve has<br />
no data warehouse from which to make requests, such as “Show me the top<br />
20 BlackAndWhiteVideo stores across the district in which monthly total<br />
comedy video rentals are at least double those of action videos so that I can<br />
adjust the inventory accordingly.” Instead, Steve has to get the answer to<br />
this question the old-fashioned way, as shown in Figure 2-1, by following<br />
these steps:</p>
<p>1. He writes and distributes to all store managers in the district an e-mail<br />
stating that he wants a report sent to him no later than the fifth day of<br />
each month of rental dollars by category (such as comedy, action, and<br />
romances), based on transaction records from each store’s point-of-sale<br />
(POS) computer system.<br />
2. On the fifth day of each month, he looks through the reports received<br />
and notes each store from which he hasn’t received a report.</p>
<p>3. He spends most of the next two days calling store managers who haven’t<br />
sent reports and hearing something like, “Oh, wow, I totally forgot all<br />
about that; what do you want me to send you again?”</p>
<p>4. While waiting for each of the missing reports, he begins entering into a<br />
spreadsheet the numbers from the reports received so far.</p>
<p>Each month, it occurs to Steve that he should send a new e-mail asking<br />
managers to e-mail him a disk with each store’s data on it (already in<br />
spreadsheet format) so that he doesn’t have to reenter the information.</p>
<p>He never quite gets around to that request because he assumes that it<br />
takes several months to train someone in each store to be able to<br />
extract data from the POS application into a spreadsheet.</p>
<p>5. By the 12th of each month, he makes another round of phone calls to<br />
the stores that still haven’t submitted their reports, and this time<br />
threatens to — well, you get the idea.</p>
<p>6. Finally, by the 20th of each month, after the spreadsheet program has all<br />
the necessary information, he runs a few simple sorting routines to get<br />
the necessary reports.</p>
<p>7. And he prepares to start all over for the next month’s data.</p>
<p><strong></strong>I have four questions about Mary at MegaRetroMania and Steve at<br />
BlackAndWhiteVideos (forget about John at MegaRetroMania — he’s a loser):</p>
<p>✓ Who’s making more effective use of technology?<br />
✓ Who’s likely to be more productive in a district manager’s role?<br />
✓ Who’ll likely make more timely business decisions with (using businessschool talk) a more positive impact on short-term and long-term revenues (top line) and profit (bottom line)?<br />
✓ Who’s more likely to be frustrated and look for another job that involves much less wasted time?</p>
<p>(Answers: Mary, Mary, Mary, Steve)</p>
<p>Both Mary and Steve could have access to the same information and in the<br />
same way because both MegaRetroMania and BlackAndWhiteVideos have<br />
similar computer systems with similar data. The difference is that because<br />
MegaRetroMania has invested in data warehousing technology, Mary and her<br />
counterparts (even that loser John, if he would only get with the program)<br />
can make information-based and timely business decisions.</p>
<p>Here are two more questions to consider:</p>
<p>✓ Does your current job more closely resemble Steve’s or Mary’s in how you’re able to get access to information you need?<br />
✓ Based on how you answered the first question, would you rather have a job more like the other’s?</p>
<h2>Facilitating Communications with Data Warehousing</h2>
<p>A benefit of data warehousing that’s much less tangible than having information<br />
for better business decisions is that data warehousing often facilitates<br />
better communications across a company than what existed before the<br />
warehouse project began:<br />
✓ The information technology (IT) organization — the organization that handles infrastructure (hardware and software platforms, networking, and communications, for example) — begins working more cooperatively with its customers in the business organizations.</p>
<p>✓ Business organizations that are drawn together as part of a data warehousing project often gain more appreciation for each other’s missions and challenges.</p>
<p>Part of the better communications picture occurs (usually) between applications development and customers in the organization’s business units.<br />
Data warehousing can promote increased levels of communication across different business units.</p>
<h2>IT-to-business organization communications</h2>
<p>If you’re a veteran of an IT-organization-versus-business-organization war in<br />
your company, you might have won some battles and lost others. Make no<br />
mistake about it, though: The other side is the enemy!</p>
<p>If you’re on the IT side, you might grumble about these issues:</p>
<p>✓ Business users make unrealistic requests for new applications and enhancements to existing applications.<br />
✓ Users don’t participate during application development and testing.<br />
✓ Users are so technology-challenged that they require hand-holding for the simplest application functions.</p>
<p>On the other side, business users commonly make these types of complaints:<br />
✓ IT application developers have no idea about how the company’s business is run and usually don’t even bother to ask.<br />
✓ Developers just put whatever features they want into the applications, regardless of whether those features are applicable to the business processes.<br />
✓ IT is too slow in responding to requests for support.</p>
<p>Since the early 1980s, when the then-new personal computer and local-area network permitted business organizations to take direct responsibility for part of their information management and application capabilities, many companies have experienced an era of mistrust and lack of communications between IT and business. This level of mistrust has continued to grow with the proliferation of business productivity tools such as Microsoft Excel — enabling users to formulate their own solutions without IT. And the war within IT has also grown with the concept of Central IT, which manages the shared services within IT, and Line of Business (LOB) IT, which is closer to  the business customer and manages his or her specific applications. Often, the data warehouse is managed by Central IT, which isn’t allowed to talk with the business — people from Central IT can talk only to the LOB IT personnel.</p>
<p>Talk about dysfunctional!</p>
<p>Data warehousing projects often give organizations a chance to mend the rift<br />
between IT and business users, as well as LOB IT and Central IT. The nature<br />
of data warehousing (for example, the focus on business questions and the<br />
data necessary to answer those questions) gives people from both sides an<br />
opportunity to better understand the other group’s roles and concerns.</p>
<p>Increased IT-business organization communications often leads to more<br />
effective and efficient working relationships because everyone develops<br />
a degree of trust. A successful project or two usually can do wonders in<br />
achieving increased cooperation.</p>
<p>You don’t necessarily get better communications between IT and business<br />
organizations just because they jointly embark on a data warehousing effort.</p>
<p>For example, if you use the word “dysfunctional” to describe the relationship<br />
between IT and the business community in your company, you might want<br />
to look at some team-building workshops or other remedial training before<br />
proceeding with a data warehousing project.</p>
<h2>Communications across business organizations</h2>
<p>Data warehousing involves, in many ways, the use of technology to break<br />
down barriers that are inherent in large companies, such as different computer<br />
systems performing similar functions for different groups of users, or<br />
different databases with information that would be better kept in a single<br />
database. A sales-and-marketing organization responsible for one of its<br />
company’s products naturally wants to help integrate its data (performance<br />
results) with that of another sales-and-marketing organization, responsible<br />
for a different product, that uses a different computer system (maybe<br />
because of a corporate acquisition), right?</p>
<p>Corporate intrigue and turf wars are the hallmark of business. Business<br />
executives and their staff members usually think of information not as a<br />
corporate strategic asset, but rather as a personal one.</p>
<p>The breaking-through-barriers nature of data warehousing usually takes a<br />
top-level mandate from a chief executive officer (CEO) or chief operating<br />
officer (COO): “Thou shalt all cooperate, or thou shalt look for another job.”<br />
That type of mandate is probably a corporation’s best chance for overcoming<br />
detrimental corporate politics.</p>
<p>Suppose that you’re a senior company executive at a consumer products<br />
company, and that company has an environment that looks like the one<br />
shown in Figure 2-2. You decide that you want to dedicate a large part of your<br />
capital budget to enable your managers and analysts to get timely access to<br />
data so that they can make better business decisions. Implementing a data<br />
warehouse would move the data from the separate division’s product sales<br />
applications into one central location for the users to access.</p>
<p>Using the cooperate-or-else mandate, you can ask — and receive answers<br />
to — the barrier-busting questions that present you with a consolidated<br />
picture of your sales, regardless of how many source systems the data come<br />
from. In addition, after the first successful collaborative, cross-organization<br />
data warehousing effort, people probably feel less territorial and work more<br />
closely together for the common good of the company.</p>
<p>Or they might not. Any lack of cooperation on the part of the leaders and<br />
members of a particular business organization, however, becomes extremely<br />
apparent because their data either aren’t in the warehouse (often called a<br />
data gap) or, worse, the data warehouse project fails — and you can easily<br />
tell who’s at fault, the data gap owner.</p>
<p>I don’t mean to imply that you need to make finger-pointing and blamecasting<br />
a part of your data warehousing project; rather, you should implement,<br />
from the beginning, a clear directive for cooperating with peers that<br />
everyone has to follow.</p>
<h2>Facilitating Business Change with Data Warehousing</h2>
<p>Data warehousing involves facilitating change in business processes. In<br />
addition to being able to make better, information-driven operational and<br />
tactical decisions, you gain insight into key areas that can help you make<br />
strategic decisions about the fundamental aspects of your business.</p>
<p>Your data warehouse can act as an early-warning system to let you know<br />
that you might need to make some major business changes. Imagine that<br />
it’s 2000 and you just got into the video-rental business. You’re the part<br />
owner and purchasing manager for a regional chain of retail stores that rents<br />
digital video discs (DVDs) and video games, and sells compact discs (CDs). If<br />
you had a data warehouse that gathered information from the point-of-sale<br />
computers in all your stores and external data about your competitors’ sales<br />
activity (purchased from an external source), you probably would have<br />
noticed a couple of interesting trends when you looked at product revenues<br />
over time:<br />
✓ Sales of music in their historically popular CD format have dropped off remarkably. Because your competitors’ sales for those items are also way off, you might decide that you don’t need to devote the shelf space<br />
to stock these types of items anymore.<br />
✓ Video games for Playstation 2 (PS2) are rented much more frequently than the same games in Dreamcast format. Because the video game business is rapidly evolving (remember, it’s 2000), your rental numbers<br />
might be declaring PS2 the winner of the next-generation gaming consoles and that the Dreamcast games are another item probably not worth ordering and putting on the shelves.</p>
<p>Both these decisions are, for the most part, tactical because they involve<br />
product-stocking decisions. Neither decision fundamentally changes the way<br />
your company does business, but rather helps you decide which products<br />
you want to keep in stock.</p>
<p>But suppose that trend-line information coming back from the data warehouse<br />
shows relatively flat sales of all types of music and dramatically<br />
increasing revenues from DVD and video game rentals. The future of your<br />
chain might lie not in sales of music at all, but rather in DVD and video game<br />
rentals. Rather than have to rely on a gut feeling, you can make data-driven<br />
strategic decisions about how your business should change.</p>
<p>Imagine having to make the same type of decision in 2008 if you’re in the<br />
automotive business. Gas guzzler sales are plummeting as fast as the price of<br />
gas is increasing. While worldwide demand for oil grows, the supply and<br />
demand curve isn’t friendly to traditional car sales. The highly positive<br />
growth curve that sport utility vehicles (SUVs) had a few years ago is giving<br />
way to the hybrid and green products. Again, your data warehouse gives you<br />
the information to make data-based decisions, rather than have to rely on<br />
hunches or, at best, bits and pieces of data gathered from various computer<br />
systems.</p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Technical Session de Business Intelligence por Ismael Soares]]></title>
<link>http://bluesoft.wordpress.com/2009/10/08/technical-session-de-business-intelligence-por-ismael-soares/</link>
<pubDate>Thu, 08 Oct 2009 16:33:59 +0000</pubDate>
<dc:creator>andrefaria</dc:creator>
<guid>http://bluesoft.wordpress.com/2009/10/08/technical-session-de-business-intelligence-por-ismael-soares/</guid>
<description><![CDATA[Na Technical session desta semana Ismael Soares introduziu conceitos de Business Intelligence como D]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p>Na Technical session desta semana <a href="http://www.google.com/profiles/rkmael">Ismael Soares</a> introduziu conceitos de Business Intelligence como Data Warehouses, Data Mining, Data Marts, Cubos OLAP e muito mais.</p>
<p>Veja os <a href="http://www.slideshare.net/bluesoftbr/introduo-business-inteligence">slides no slideshare</a> e asssita a palestra na integra em nosso <a href="http://www.vimeo.com/6962558">canal do vimeo</a>:</p>
<p><!-- SlideShare error: doc is missing or has illegal characters /[^-_a-zA-Z0-9]/ --></p>
<p><span style='text-align:center; display: block;'><br />
<object type="application/x-shockwave-flash" width="440" height="300" data="http://www.vimeo.com/moogaloop.swf?clip_id=6962558&amp;server=www.vimeo.com&amp;fullscreen=1&amp;show_title=1&amp;show_byline=0&amp;show_portrait=0&amp;color=01AAEA"><param name="quality" value="best" /><param name="allowfullscreen" value="true" /><param name="scale" value="showAll" /><param name="movie" value="http://www.vimeo.com/moogaloop.swf?clip_id=6962558&amp;server=www.vimeo.com&amp;fullscreen=1&amp;show_title=1&amp;show_byline=0&amp;show_portrait=0&amp;color=01AAEA" /></object><br />
</span></p>
<p>Ismael Soares é desenvolvedor Java EE na Bluesoft, estudante de banco de dados na Faculdade Impacta de Tecnologia. Tem mais de sete anos de experiências em análise e desenvolvimento de software. Já trabalhou com diversas tecnologias entre elas: VB6, ASP, PHP, C#.NET, VB.NET, ASP.NET, PL/SQL e T-SQL. Já participou de diversos projetos de banco de dados entre eles: Oracle, MSSQL Server, MySQL e Postgree.</p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[RapidMiner -- Data Mining, ETL, OLAP, BI...]]></title>
<link>http://kurungsiku.wordpress.com/2009/10/03/rapidminer-data-mining-etl-olap-bi/</link>
<pubDate>Fri, 02 Oct 2009 23:36:13 +0000</pubDate>
<dc:creator>sumodirjo</dc:creator>
<guid>http://kurungsiku.wordpress.com/2009/10/03/rapidminer-data-mining-etl-olap-bi/</guid>
<description><![CDATA[RapidMiner &#8212; Data Mining, ETL, OLAP, BI ETL, data warehousing, data mining, OLAP, business int]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p>RapidMiner &#8212; Data Mining, ETL, OLAP, BI</p>
<p>ETL, data warehousing, data mining, OLAP, business intelligence (BI) in Java. 500+ modules: extract, transform, load (ETL), data mining, data analysis + Weka, statistical forecasting, preprocessing, validation, visualization, OLAP, business intelligence.</p>
<p><a href="http://sourceforge.net/projects/yale/files/">Download</a></p>
<p>Supported By : <a href="http://rapid-i.com">rapid-i.com</a></p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[SAP BI - part 1]]></title>
<link>http://bsoft07.wordpress.com/2009/10/02/sap-bi-part-1/</link>
<pubDate>Fri, 02 Oct 2009 16:16:24 +0000</pubDate>
<dc:creator>bsoft07</dc:creator>
<guid>http://bsoft07.wordpress.com/2009/10/02/sap-bi-part-1/</guid>
<description><![CDATA[Salam BSoft&#8230; Akhir-akhir ini saya sedang tertarik mempelajari SAP BI (Bussiness Intelligence).]]></description>
<content:encoded><![CDATA[Salam BSoft&#8230; Akhir-akhir ini saya sedang tertarik mempelajari SAP BI (Bussiness Intelligence).]]></content:encoded>
</item>
<item>
<title><![CDATA[OLAP models and OLAP cubes]]></title>
<link>http://andyblg.wordpress.com/2009/10/01/olap-models-and-olap-cubes/</link>
<pubDate>Wed, 30 Sep 2009 22:22:41 +0000</pubDate>
<dc:creator>andyblg</dc:creator>
<guid>http://andyblg.wordpress.com/2009/10/01/olap-models-and-olap-cubes/</guid>
<description><![CDATA[IBM review concepts &#8220;OLAP models&#8221; and &#8220;OLAP cubes&#8221; (to ibm&#8217;s page) ]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p>IBM review concepts &#8220;OLAP models&#8221; and &#8220;OLAP cubes&#8221; (<a href="http://www.ibm.com/developerworks/data/library/techarticle/dm-0606gong/">to ibm&#8217;s page</a>)</p>
<p>&#8230;&#8221;OLAP models and OLAP cubes are two critical concepts in DB2 DWE OLAP services. A <strong>cube model</strong> is built to represent a data structure and relationship in an OLAP data mart. A <strong>cube model</strong> contains metadata objects that describe relationships within the data that resides in the base tables and also describes where pertinent data is located. A <strong>cube model</strong> provides a new perspective for the information consumers from which to understand their data&#8221;&#8230;</p>
<p>&#8230;&#8221;An <strong>OLAP cube</strong> has a specific set of similar but more restrictive metadata objects derived from the parent <strong>cube model</strong>, including cube dimensions, cube hierarchies, cube levels, and a cube facts object. A <strong>cube</strong> can have only one cube hierarchy defined for each cube dimension, but a dimension can have many hierarchies that are defined for the <strong>cube model</strong>&#8220;&#8230;</p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[TAG Cubes - SQLite Star Query Part III]]></title>
<link>http://blog.gobansaor.com/2009/09/29/tag-cubes-sqlite-star-query-part-iii/</link>
<pubDate>Tue, 29 Sep 2009 13:36:16 +0000</pubDate>
<dc:creator>Tom Gleeson</dc:creator>
<guid>http://blog.gobansaor.com/2009/09/29/tag-cubes-sqlite-star-query-part-iii/</guid>
<description><![CDATA[It&#8217;s no secret that I&#8217;m a huge fan of SQLite and Excel, particularly when used in combin]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p>It&#8217;s no secret that <a href="http://blog.gobansaor.com/2009/03/14/sqlite-as-the-mp3-of-data/">I&#8217;m a huge fan of SQLite</a> and Excel, particularly when used in combination. I also greatly admire the open source BI engines, <a href="www.jedox.com">Palo</a> and <a href="http://sourceforge.net/projects/mondrian/">Mondrian</a>. Mondrian appeals because of its &#8220;ROLAP with a cache&#8221; architecture and its implementation of MS&#8217;s excellent<a href="http://en.wikipedia.org/wiki/Multidimensional_Expressions"> </a><a href="http://en.wikipedia.org/wiki/Multidimensional_Expressions">MDX</a> language. When I say MDX is excellent I&#8217;m talking with my professional programmer&#8217;s hat on, as an end-user tool it&#8217;s a non-runner. This is where Palo comes in, building on the <a href="http://en.wikipedia.org/wiki/Hypercube">hypercube</a> concepts pioneered by the likes of  <a href="http://en.wikipedia.org/wiki/Applix">TM1</a> and <a href="http://en.wikipedia.org/wiki/Essbase">ESSbase</a>, it presents a designview that&#8217;s approachable by a vastly greater percentage of &#8220;civilians&#8221; than is the case with<a href="http://en.wikipedia.org/wiki/ROLAP"> </a><a href="http://en.wikipedia.org/wiki/ROLAP">ROLAP-based</a> solutions.</p>
<p>The trick behind TM1, Essbase, Palo etc. is the extension of the spreadsheet metaphor from two to multiple dimensions, while still binding the interface closely to the familiar spreadsheet (which for most of the business world is still Excel).</p>
<p>So where does <a href="http://www.sqlite.org/">SQLite</a> come in all this?</p>
<p><a href="http://blog.gobansaor.com/2007/08/30/sqlite-star-query/">At first glance</a>, SQLite lacks the s<a href="http://www.sqlite.org/optoverview.html">ophisticated join functionality</a> to support star-queries, but of course, if the dataset is small then a full-table scan of a fact table, or better still, loading the fact table into memory negates any such short-comings.</p>
<p>In fact, all traditional ROLAP engines have problems with dimensional models, particularly when you reach the point of using summary tables or query re-writes, that&#8217;s why the emerging SQL-speaking <a href="http://www.information-management.com/blogs/columnar_databases_column_major_data_warehouse_startup_analytics-10015473-1.html">columnar-databases</a> are such a godsend for ROLAP data warehouses.</p>
<p>It was SQLite combined with Excel acting as a data prep platform that was originally my main interest, so for pivoting, Excel&#8217;s own pivot table would have to do.  Nevertheless, I felt the tool was incomplete without the ability to directly pivot the underlying SQLite database.</p>
<p>Why not use Palo or Mondrian as a pivot tool? Well yes, where a fixed permanent &#8220;solution&#8221; is required then the extra moving parts of either approach would be justified and indeed necessary but that is to miss the essence of what I call datasmithing.</p>
<p>Datasmithing is not data warehousing nor is it the provision of solutions (which, for example, Palo superbly enables in multi-user budgeting situations). Datasmithing, as a skill, is of course part of the process of both, but it&#8217;s on the edges, at perhaps the planning or consumption stages.</p>
<p>Datasmiths deal in the unknown, in change, in disaster recovery, in systems&#8217; commissioning, in the never-ending barely-repeatable processes thrown up by daily business life.  For that, the toolset required must be as simple as possible (but no simpler), self-contained, document-oriented, secureable (is that a word?) and easily archived and retrieved. Excel and file-based DBMSs such as MSAccess or SQLite fit the bill nicely, server-based technologies such as DBA controlled database servers or IT installed &#8220;solutions&#8221;, less so.</p>
<p>Jedox has made Palo relatively easy to install (and likewise, Canada&#8217;s SQLPower has made Mondrian setup a painless exercise via their excellent <a href="http://www.sqlpower.ca/page/wabit">Wabit reporting too</a>l), but, the zero-install, email friendly document approach that spreadsheets are famous (and infamous) for, is preferable in many situations. This is something that Microsoft have recognised in their <a href="http://blog.gobansaor.com/2009/04/01/project-gemini-xxl-excel-on-steroids/">Gemini add-in for Excel 2010</a>, but Excel 2010 is a not here yet and it&#8217;s likely to be five years or more before it&#8217;s as common as Excel 2003 is today.</p>
<p>The inclusion of <a href="http://www.sqlite.org/cvstrac/wiki?p=FullTextIndex">FTS full-text searching</a> with SQLite triggered an ah-ah moment with regards to pivot-enabling SQLite.</p>
<p>The usual method that hypercube-like excel-friendly OLAP tools use to return data is via a UDF like so&#8230;</p>
<p style="text-align:center;"><em>=DATA(&#8220;CubeName&#8221;,&#8221;value1&#8243;,value2&#8243;,&#8230;)</em></p>
<p>&#8230;where valueN represents dimensional elements, so&#8230;</p>
<p style="text-align:center;"><em>=DATA(&#8220;SalesCube&#8221;,&#8221;Beer&#8221;,&#8221;Profit&#8221;,&#8221;Jan 09&#8243;,&#8221;Actual&#8221;)</em></p>
<p>&#8230;is the Actual Profit for Beer sales in Jan 09. The dimensional elements act as &#8220;tags&#8221; to locate a particular value, there is of course much more to tools like Palo; hierarchies, intra-cube rules etc. but in essence most OLAP tools are like <a href="http://delicious.com/">www.delicious.com</a> for number crunchers. This method of retrieving data fits well with how people use Excel and not just for pivots, but for embedding OLAP aggregated cells in <em>lists</em>.  For example, a CRM scenario; a Sales Rep makes a list of her &#8216;best&#8217; (subjective) customers, but needs hard (objective) stats, to be placed alongside the list to convince the boss or to track actuals against expectation.</p>
<p>Dimensional elements as tags; FTS3 virtual tables as fact table indexes; the concept of a TAG Cube was born.</p>
<p>In the above example &#8220;Profit&#8221; would most likely be described as a <em>measure</em> (Palo, a near pure hypercube does not distinguish between Measure and other Dimensional coordinates). Dimensions, measures and attributes are in reality interchangeable (a Customer ID can act as a dimension or an attribute, but by applying a  Count Distinct to it, it&#8217;s a measure) but most OLAP solutions treat &#8220;Measure Dimensions&#8221; as different, and so do TAG Cubes.</p>
<p>By using the default fact table structure (a single-columned table) and querying using the default measure (which translates to the SUM() of that single value) a &#8216;pure&#8217; approach can be used. But, ROLAP is tightly bound to the concept of a fact table, and since SQLite is relational, TAG Cubes offer the ability to use a wide fact table approach and I think gains considerably in flexibility by so going.</p>
<p>The above example of using Count Distinct, or the simple creation of calculated measures are examples of this flexibility. Another, is a measure based on SQLite&#8217;s concat_group aggregate function to provide a drill-down facility, e.g.</p>
<p style="text-align:center;"><em>=DATA(&#8220;SalesCUBE&#8221;,&#8221;ROWIDList,&#8221;Beer&#8221;,&#8221;Jan 09&#8243;,&#8221;Actual&#8221;)</em></p>
<p>&#8230;where &#8220;ROWIDList&#8221; would be setup as <em>concat_group(rowid,&#8217;,') </em>and will return a comma separated list of the underlying fact table ROWIDs.</p>
<p>A major reason for rolling my own pivot engine was to add a concept of <a href="http://en.wikipedia.org/wiki/Namespace_(computer_science)">&#8220;namespaces&#8221; </a>and to separate the implementation of these namespaces from the actual pivot.  When a tag (or a predefined hierarchy of tags) is assigned to a cube, it&#8217;s also assigned to a namespace, in many cases namespace and cube would be synonymous, but in some cases a more sophisticated approach is required:</p>
<ul>
<li>Multiple cubes sharing the same set of conformed dimensions would be best served by such cubes sharing a common namespace, and so they can.</li>
<li>Different consumers of the pivot may require the use of a different language, be that a spoken language or a different &#8216;business language&#8217; e.g. Manufacturing Product Codes V Consumer Product Names. Again, easily done.</li>
<li>Sometimes identifying data can&#8217;t be shared with the datasmith or the numerical analyst working on a problem; in such cases being able to replace  the actual namespace with an obfuscated one can be very useful. Or, for added security, the namespace might only be issued to approved  PCs while the tag index and fact table are stored on a shared drive.  Needs some more work to make managing such scenarios secure and easy to use but the structure is there.</li>
</ul>
<p>As hinted on above, the three elements of a Tag Cube, the namespace, tag index and fact table can be assigned to different databases (i.e. files). Due to the wonders of SQLite&#8217;s <a href="http://www.sqlite.org/lang_attach.html">ATTACH statement</a> and the <a href="http://www.sqlite.org/backup.html">backup API&#8217;s</a> ability to quickly load/unload databases in/out of memory, it&#8217;s possible, for example, to load namespace and tag index (i.e. the &#8216;dimensions&#8217;) into a memory database, while a very large (i.e. too big to fit to memory) fact table remains on disk. Fast and cheap <a href="http://en.wikipedia.org/wiki/Solid-state_drive">SSDs</a> will add further configuration options.</p>
<p>Although most of the TAG Cube functionality is available only within Excel, I&#8217;ve built a C based SQLite Virtual Table (cFact) to allow the tag index to used outside xLite. This means that SQLite drivers for ODBC (for use as a Pivot Table source, for example) or JDBC (for use in  SQLPower Wabit perhaps) can efficiently access data models built using xLite.</p>
<p><em>I had to revert to using C rather than my preferred Python (did I mention that xLite now embeds Python in Excel, no, well it does, <a href="http://blog.gobansaor.com/2008/04/11/python-the-new-vba/">Python the newVBA ?</a>), having failed to get around multi-threading issues with callbacks to Python in both the </em><a href="http://www.ch-werner.de/sqliteodbc/"><em>ODBC</em></a><em> and </em><a href="http://www.zentus.com/sqlitejdbc/"><em>JDBC</em></a><em> drivers. I&#8217;d make a career promise to myself many years ago, not to having anything to do with printers or threads, and I think I&#8217;ll stick with it <img src='http://s.wordpress.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </em></p>
<p>TAG Cubes are the latest addition (still WIP actually) to be added to xLite, adding to:</p>
<ul>
<li>VBA coded SQLite SQL functions.</li>
<li>Worksheet Functions; call out to a &#8216;function&#8217; built using Excel formula, passing a parameter list and returning a value.</li>
<li>Workbook Functions; like Worksheet Functions, but loading a new Workbook, passing in parameters, passing back a value (or tables) and closing the Workbook when finished.</li>
<li>XLiteScript; xLite exposes its functionality via VBA coded UDFs, which can be called like any other formula, but data prep activities often require sequential procedural logic, xLiteScript is a <a href="http://blog.gobansaor.com/2007/03/03/tables-vs-xml-the-data-lingua-franca-debate/">table-oriented</a> scripting mechanism offering basic flow-control logic.</li>
<li>pyScript; I embedded Python into xLite to take advantage of Python&#8217;s speed in developing Virtual Tables, SQL Functions and extensions to SQLite and to tap in the wonderful world of Python code. I&#8217;ve also added the ability to use Python from scripts defined within Excel (to indent, tab to the next cell!).</li>
<li>Fast load/unload to/from CSV.</li>
<li>Load from any ADO source.</li>
<li>Remove xLite formulae and rename and save Workbook, very handy when used via Workbook Functions to mass produce Excel &#8220;reports&#8221;.</li>
<li>Other WIP items are; load from SAP, load/unload to/from Amazon S3, use Palo cubes as TAG Cube &#8220;facts&#8221;, slot in/out Palo for TAG Cubes, auto-generate Mondrian XML based on TAG Cubes, write-back and splash, Python &#38; VBA TAG Cube &#8220;rules&#8221;.</li>
</ul>
<p>And what&#8217;s more, I intend to open-source the lot &#8230;</p>
<p style="text-align:right;"><em>Why not join me on Twitter at </em><a style="text-decoration:none;color:#265e15;border-bottom-color:#996633;border-bottom-width:1px;border-bottom-style:dashed;margin:0;padding:0;" href="http://www.twitter.com/gobansaor"><em>gobansaor</em></a><em>?</em></p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Database and cube dimensions]]></title>
<link>http://andyblg.wordpress.com/2009/09/22/database-and-cube-dimensions/</link>
<pubDate>Tue, 22 Sep 2009 07:42:12 +0000</pubDate>
<dc:creator>andyblg</dc:creator>
<guid>http://andyblg.wordpress.com/2009/09/22/database-and-cube-dimensions/</guid>
<description><![CDATA[Very interesting note from Microsoft (Sql Server BOL or Designing Dimensions): &#8220;&#8230; A data]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p>Very interesting note from Microsoft (Sql Server BOL or <a href="http://msdn.microsoft.com/en-us/library/ms174537.aspx">Designing Dimensions</a>):</p>
<p>&#8220;&#8230; A <strong>database dimension</strong> is a collection of related objects, called attributes, which can be used to provide information about fact data in one or more cubes. For example, typical attributes in a product dimension might be product name, product category, product line, product size, and product price. These objects are bound to one or more columns in one or more tables in a data source view. By default, these attributes are visible as attribute hierarchies and can be used to understand the fact data in a cube. Attributes can be organized into user-defined hierarchies that provide navigational paths to assist users when browsing the data in a cube.</p>
<p>Cubes contain all the dimensions on which users base their analyses of fact data. An instance of a database dimension in a cube is called a <strong>cube dimension</strong> and relates to one or more measure groups in the cube. A database dimension can be used multiple times in a cube. For example, a fact table can have multiple time-related facts, and a separate cube dimension can be defined to assist in analyzing each time-related fact. However, only one time-related database dimension needs to exist, which also means that only one time-related relational database table needs to exist to support multiple cube dimensions based on time&#8230;&#8221;</p>
<p>Thus:<br />
- during designing DW we define database dimensions (concept of dw level)<br />
- during designing Cube we have deal with cube dimensions (concept of cube level)</p>
<p>hm&#8230;</p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Offline OLAP - Working with Disconnected Analysis Service Cube]]></title>
<link>http://bennyaustin.wordpress.com/2009/09/20/offline-olap-working-with-disconnected-analysis-service-cube/</link>
<pubDate>Sun, 20 Sep 2009 13:55:30 +0000</pubDate>
<dc:creator>Benny Austin</dc:creator>
<guid>http://bennyaustin.wordpress.com/2009/09/20/offline-olap-working-with-disconnected-analysis-service-cube/</guid>
<description><![CDATA[&nbsp; Microsoft introduced a cool feature in Excel 2007 called Offline OLAP that enables you to wor]]></description>
<content:encoded><![CDATA[&nbsp; Microsoft introduced a cool feature in Excel 2007 called Offline OLAP that enables you to wor]]></content:encoded>
</item>
<item>
<title><![CDATA[Data Warehouse vs Data Mart]]></title>
<link>http://sshailesh.wordpress.com/2009/09/14/data-warehouse-vs-data-mart/</link>
<pubDate>Mon, 14 Sep 2009 18:34:43 +0000</pubDate>
<dc:creator>sendtoshailesh</dc:creator>
<guid>http://sshailesh.wordpress.com/2009/09/14/data-warehouse-vs-data-mart/</guid>
<description><![CDATA[Data Warehouse Data Mart Scope &amp; Application Application Independent A Data Warehouse is single ]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><table style="font-size:12px;margin-left:36pt;border-collapse:collapse;border-style:none;" border="1" cellspacing="0" cellpadding="0" bgcolor="#ffffff">
<tbody>
<tr style="font-size:12px;">
<td style="border:.5pt solid windowtext;font-size:12px;width:171pt;padding:0 5.4pt;" colspan="2" width="228" valign="top">
<p style="margin-left:0;">Data Warehouse</p>
</td>
<td style="border-top:.5pt solid windowtext;border-right:.5pt solid windowtext;border-bottom:.5pt solid windowtext;font-size:12px;width:212.4pt;border-style:solid solid solid none;padding:0 5.4pt;" width="283" valign="top">
<p style="margin-left:0;">Data Mart</p>
</td>
</tr>
<tr style="font-size:12px;">
<td style="border-left:.5pt solid windowtext;border-right:.5pt solid windowtext;border-bottom:.5pt solid windowtext;font-size:12px;width:167.4pt;border-style:none solid solid;padding:0 5.4pt;" width="223" valign="top">
<p style="margin-left:0;"><strong>Scope &#38; Application</strong></p>
</td>
<td style="border-right:.5pt solid windowtext;border-bottom:.5pt solid windowtext;font-size:12px;width:216pt;border-style:none solid solid none;padding:0 5.4pt;" colspan="2" width="288" valign="top">
<p style="margin-left:0;">
</td>
</tr>
<tr style="font-size:12px;">
<td style="border-left:.5pt solid windowtext;border-right:.5pt solid windowtext;border-bottom:.5pt solid windowtext;font-size:12px;width:171pt;border-style:none solid solid;padding:0 5.4pt;" colspan="2" width="228" valign="top">
<p style="margin-left:0;"><em>Application Independent</em></p>
<p style="margin-left:0;">A Data Warehouse is single point repository and its data can be used for any foreseeable application</p>
<p style="margin-left:0;">
</td>
<td style="border-right:.5pt solid windowtext;border-bottom:.5pt solid windowtext;font-size:12px;width:212.4pt;border-style:none solid solid none;padding:0 5.4pt;" width="283" height="180" valign="top">
<p style="margin-left:0;"><em>Specific Application</em></p>
<p style="margin-left:0;">Data-Mart is created out of a specific purpose. This means that you will have a data mart created to analyze customer value. This means that the designer of the data-mart is aware that the data will be used for OLAP, what kind of broad queries could be placed.</p>
</td>
</tr>
<tr style="font-size:12px;">
<td style="border-left:.5pt solid windowtext;border-right:.5pt solid windowtext;border-bottom:.5pt solid windowtext;font-size:12px;width:171pt;border-style:none solid solid;padding:0 5.4pt;" colspan="2" width="228" valign="top">
<p style="margin-left:0;"><em>Domain Independent</em></p>
<p style="margin-left:0;">The Data Warehouse can be used for any domain including Sales,Customer, operations, finance etc.</p>
</td>
<td style="border-right:.5pt solid windowtext;border-bottom:.5pt solid windowtext;font-size:12px;width:212.4pt;border-style:none solid solid none;padding:0 5.4pt;" width="283" valign="top">
<p style="margin-left:0;"><em>Specific Domain</em></p>
<p style="margin-left:0;">A Data-mart is specific to a given domain. You will generally not find a data mart , which serves Sales as well as operations domain at the same time.</p>
</td>
</tr>
<tr style="font-size:12px;">
<td style="border-left:.5pt solid windowtext;border-right:.5pt solid windowtext;border-bottom:.5pt solid windowtext;font-size:12px;width:171pt;border-style:none solid solid;padding:0 5.4pt;" colspan="2" width="228" valign="top">
<p style="margin-left:0;"><em>Centralized Independent</em></p>
<p style="margin-left:0;">The control and management of data warehouse is centralized.</p>
</td>
<td style="border-right:.5pt solid windowtext;border-bottom:.5pt solid windowtext;font-size:12px;width:212.4pt;border-style:none solid solid none;padding:0 5.4pt;" width="283" valign="top">
<p style="margin-left:0;"><em>Decentralized by User Area</em></p>
<p style="margin-left:0;">Typically a data-mart is owned by a specific function/sub-function.</p>
</td>
</tr>
<tr style="font-size:12px;">
<td style="border-left:.5pt solid windowtext;border-right:.5pt solid windowtext;border-bottom:.5pt solid windowtext;font-size:12px;width:171pt;border-style:none solid solid;padding:0 5.4pt;" colspan="2" width="228" valign="top">
<p style="margin-left:0;"><em>Planned</em></p>
<p style="margin-left:0;">Data Warehouse is a strategic initiative, which comes out of a blueprint. It is not an immediate response to an immediate problem. It has many foundation elements, which cannot be developed in an ad-hoc manner. For example, the standard sets of dimensions &#38; measures.</p>
<p style="margin-left:0;">
</td>
<td style="border-right:.5pt solid windowtext;border-bottom:.5pt solid windowtext;font-size:12px;width:212.4pt;border-style:none solid solid none;padding:0 5.4pt;" width="283" valign="top">
<p style="margin-left:0;"><em>Organic, possibly not planned</em></p>
<p style="margin-left:0;"><em></em>Data-Mart is a response to a critical business need. It is developed to provide gratification to the users, and given that it is owned &#38; managed at a functional level, it grows with time.</p>
</td>
</tr>
<tr style="font-size:12px;">
<td style="border-left:.5pt solid windowtext;border-right:.5pt solid windowtext;border-bottom:.5pt solid windowtext;font-size:12px;width:171pt;border-style:none solid solid;padding:0 5.4pt;" colspan="2" width="228" valign="top">
<p style="margin-left:0;"><strong>Data</strong></p>
</td>
<td style="border-right:.5pt solid windowtext;border-bottom:.5pt solid windowtext;font-size:12px;width:212.4pt;border-style:none solid solid none;padding:0 5.4pt;" width="283" valign="top">
<p style="margin-left:0;">
</td>
</tr>
<tr style="font-size:12px;">
<td style="border-left:.5pt solid windowtext;border-right:.5pt solid windowtext;border-bottom:.5pt solid windowtext;font-size:12px;width:171pt;border-style:none solid solid;padding:0 5.4pt;" colspan="2" width="228" valign="top">
<p style="margin-left:0;"><em>Historical, Detailed &#38; Summarized</em></p>
<p style="margin-left:0;">A good data warehouse will capture the history of transactions by default; even of there is no immediate need. This is because a data-warehouse always tries to be future proof.</p>
<p style="margin-left:0;">
<p style="margin-left:0;">
</td>
<td style="border-right:.5pt solid windowtext;border-bottom:.5pt solid windowtext;font-size:12px;width:212.4pt;border-style:none solid solid none;padding:0 5.4pt;" width="283" valign="top">
<p style="margin-left:0;"><em>Some history, detailed and summarized</em></p>
<p style="margin-left:0;">It&#8217;s same with Data Warehouse. However, the level of history that is captured is governed by the business need. For example, a data warehouse will capture the changes in the customer <span style="text-decoration:underline;"> </span>marital status by default. A Data Mart may not do it, if Data Mart is created to profile/segment a customer on the basis of his spending patterns only.</p>
</td>
</tr>
<tr style="font-size:12px;">
<td style="border-left:.5pt solid windowtext;border-right:.5pt solid windowtext;border-bottom:.5pt solid windowtext;font-size:12px;width:171pt;border-style:none solid solid;padding:0 5.4pt;" colspan="2" width="228" valign="top">
<p style="margin-left:0;"><strong>Sources</strong></p>
</td>
<td style="border-right:.5pt solid windowtext;border-bottom:.5pt solid windowtext;font-size:12px;width:212.4pt;border-style:none solid solid none;padding:0 5.4pt;" width="283" valign="top">
<p style="margin-left:0;">
</td>
</tr>
<tr style="font-size:12px;">
<td style="border-left:.5pt solid windowtext;border-right:.5pt solid windowtext;border-bottom:.5pt solid windowtext;font-size:12px;width:171pt;border-style:none solid solid;padding:0 5.4pt;" colspan="2" width="228" valign="top">
<p style="margin-left:0;"><em>Many Internal &#38; external Sources</em></p>
<p style="margin-left:0;">This is an obvious outcome of the Data Warehouse being a generic resource. That is also the reason why the staging design for a data warehouse takes much more time compared to that of a data mart.</p>
</td>
<td style="border-right:.5pt solid windowtext;border-bottom:.5pt solid windowtext;font-size:12px;width:212.4pt;border-style:none solid solid none;padding:0 5.4pt;" width="283" valign="top">
<p style="margin-left:0;"><em>Few Internal &#38; External Sources</em></p>
<p style="margin-left:0;">Self Explanatory- A limited purpose leads to limited sources.</p>
</td>
</tr>
<tr style="font-size:12px;">
<td style="border-left:.5pt solid windowtext;border-right:.5pt solid windowtext;border-bottom:.5pt solid windowtext;font-size:12px;width:171pt;border-style:none solid solid;padding:0 5.4pt;" colspan="2" width="228" valign="top">
<p style="margin-left:0;"><strong>Life Cycle</strong></p>
</td>
<td style="border-right:.5pt solid windowtext;border-bottom:.5pt solid windowtext;font-size:12px;width:212.4pt;border-style:none solid solid none;padding:0 5.4pt;" width="283" valign="top">
<p style="margin-left:0;">
</td>
</tr>
<tr style="font-size:12px;">
<td style="border-left:.5pt solid windowtext;border-right:.5pt solid windowtext;border-bottom:.5pt solid windowtext;font-size:12px;width:171pt;border-style:none solid solid;padding:0 5.4pt;" colspan="2" width="228" valign="top">
<p style="margin-left:0;"><em>Stand-Along Strategic Initiative:</em></p>
<p style="margin-left:0;">A Data Warehouse is an outcome of a company&#8217;s strategy to make data an enterprise resource. If there is any other trigger, chances are that it may not achieve its objectives</p>
</td>
<td style="border-right:.5pt solid windowtext;border-bottom:.5pt solid windowtext;font-size:12px;width:212.4pt;border-style:none solid solid none;padding:0 5.4pt;" width="283" height="120" valign="top">
<p style="margin-left:0;"><em>Typically part of a Business Project:</em></p>
<p style="margin-left:0;">A Data Mart comes into being due to a business need. For example Risk Portfolio Analysis data mart could be a part of Enhancing Risk Management Initiative.</p>
</td>
</tr>
<tr style="font-size:12px;">
<td style="border-left:.5pt solid windowtext;border-right:.5pt solid windowtext;border-bottom:.5pt solid windowtext;font-size:12px;width:171pt;border-style:none solid solid;padding:0 5.4pt;" colspan="2" width="228" valign="top">
<p style="margin-left:0;"><em>Long life</em></p>
<p style="margin-left:0;">A Data Warehouse is a long-term foundation of an enterprise.</p>
</td>
<td style="border-right:.5pt solid windowtext;border-bottom:.5pt solid windowtext;font-size:12px;width:212.4pt;border-style:none solid solid none;padding:0 5.4pt;" width="283" valign="top">
<p style="margin-left:0;"><em>Can have any life span</em></p>
<p style="margin-left:0;">A Data Mart starts with a given objective, and it can have a life span ranging from one year to endless. This is because some applications are core and business as usual to an enterprise. The life a data mart could be shortened, if a Data Warehouse comes into being.</p>
</td>
</tr>
</tbody>
</table>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Olap-Komponenten in Flex 3.0]]></title>
<link>http://drieschmanns.wordpress.com/2009/09/13/olap-komponenten-in-flex-3-0/</link>
<pubDate>Sun, 13 Sep 2009 13:04:24 +0000</pubDate>
<dc:creator>manueldri</dc:creator>
<guid>http://drieschmanns.wordpress.com/2009/09/13/olap-komponenten-in-flex-3-0/</guid>
<description><![CDATA[Vor ein paar Tage habe ich mich etwas über Flex schlau gemacht. Mit großen Erstaunen habe ich von de]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p>Vor ein paar Tage habe ich mich etwas über Flex schlau gemacht. Mit großen Erstaunen habe ich von den Olap-Komponenten gelesen, welche in Flex 3.0 enthalten sind. Denn Flex hat einiges zur Visualisierung von Daten eines Olap-Servers zu bieten. Unter anderem wird eine klassische Pivot-Tabelle sowie ein Chart angeboten. Im Netz befinden sich beeindruckende Beispiele zu den einzelnen Komponenten.</p>
<p>Sreenivas hat auf seinem <a href="http://flexpearls.blogspot.com/2007/12/displaying-groupingcollectionhierarchic.html" target="_blank">Blog</a> eine schöne Chart-Demo. Per Click kann an Drill-Replace ausgeführt werden. Per Ctrl + Click wird auf die übergeordnete Ebene angezeigt.</p>
<p>Ein Beispiel, dass sehr schön die Möglichkeit von Pivot-Tabellen zeigt, befindet sich auf Satishs <a href="http://flexmadeeasy.blogspot.com/2008/04/here-is-much-awaited-pivotcomponent-in.html" target="_blank">Blog</a>.</p>
<p>Die Kommunikation zwischen der Flex-Anwendung und dem Olap-Server kann momentan über <a href="http://nisheet.wordpress.com/2007/10/30/presenting-flex-analysis-services-bridge/" target="_self">XMLA</a> erfolgen. Hierbei handelt es sich leider um einen veralterten Standard. So muss man gespannt warten, bis die Flex-Komponenten <a href="http://www.olap4j.org/" target="_blank">olap4j</a>, den aktuellsten Standard zum Datenaustausch zwischen Olap-Clients und Olap-Servern unterstützt wird.</p>
<p>Viel Spass beim Stöbern.</p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Microsoft SSAS tutorial]]></title>
<link>http://datamodelling.wordpress.com/2009/08/28/microsoft-ssas-tutorial/</link>
<pubDate>Fri, 28 Aug 2009 02:22:21 +0000</pubDate>
<dc:creator>sksastry</dc:creator>
<guid>http://datamodelling.wordpress.com/2009/08/28/microsoft-ssas-tutorial/</guid>
<description><![CDATA[I am continuing to make an effort to learn something new everyday. I have worked a little on improvi]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p>I am continuing to make an effort to learn something new everyday. I have worked a little on improving my T-SQL and OLAP development. I found this fantastic website, which has tutorials on microsoft SSAS. I read through a few of them these are really good. I am will post a link to the website. Anyone looking for a good introduction to Data warehouse, OLAP and other BI terminology and Microsoft SSAS, I highly recommend this website.</p>
<p>Until next time, continue to help others and learn something new every day</p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Agg Tables a different look]]></title>
<link>http://mgcuthbert.wordpress.com/2009/08/27/agg-tables-a-different-look/</link>
<pubDate>Thu, 27 Aug 2009 18:33:46 +0000</pubDate>
<dc:creator>mgcuthbert</dc:creator>
<guid>http://mgcuthbert.wordpress.com/2009/08/27/agg-tables-a-different-look/</guid>
<description><![CDATA[Aggregate tables are a great performance booster for any reporting system. It has the ability to rea]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p>Aggregate tables are a great performance booster for any reporting system. It has the ability to really shave seconds of the length of time it takes to return results. However never rely solely on agg tables as it is not substitute for good database optimization, especially in regards to database indexes and statistics, it also does not replace any reporting caching layer that you may build into your system. It is simply another piece of the puzzle. This post is more of an different kind of look onto agg tables, not how to build them but rather what to build and why. For a detailed more technical explanation of agg tables, the Mondrian website I think has a good article for that <a href="http://mondrian.pentaho.org/documentation/aggregate_tables.php">here</a>.</p>
<p>So the strong question is firstly why use aggregate tables at all, and to give you a basic answer to that question let us for a second say that you are tracking page views on your website. Each person comes in gets a track call that enters a record into your database. My report simply is a basic line graph that shows the total number of page views per day. So if we have a million page views over 1 month our calculation has to go through 1 million entries in our fact table and add up all the values per day. We would be doing a lot of extra work adding up all these values every time we requested that report. Now let us say instead we decided to aggregate that data per day. So instead of say roughly 30,000 records over a single day we aggregate that data into a single record. So we have another table that tells us that for Day 1 we have 30,000 page views. In doing this we now are doing our calculation for page views per day on a table that will never have more records then the number of days you are requesting. This is always going to be a lot faster than if you did not have any aggregate tables at all. Granted that the original type of query shouldn&#8217;t have taken too long anyway but this is to give you an idea of why agg tables are good.</p>
<p>Of course reporting is rarely that straight forward and usually their are multiple variables that you would be reporting on. Each variable possibly increases the size of a aggregate table and also the number of aggregate tables that you could create. For example from our previous example we were just tracking page views per day. So that is basically 2 variables making the maximum records only ever N, where N is the number of days. However what if you wanted to report on page views per url per day. Now all of a sudden your maximum records in the agg table is NxM where N is the number of days and M is the number of urls that were hit. At some point the number of records in your aggregate table could get a little too close to the actual number of records in your fact table, and hence defeating the whole point of actually having aggregate tables to begin with. It is important to remember that aggregate tables should be used more like snapshots of data instead of detailed data, which need to be optimized generally in other ways.</p>
<p>The other problem is the number of possible combinations of agg tables that could be created for your reporting engine. It can understandably become very troublesome and unmanageable. Firstly it is important to understand that aggregate tables are not there to solve every reporting variable (although I guess technically it could). It is best to have a good understanding of how your reports are being used, which reports are used the most, what sets of data are most requested and which are not. Once you have a good basic understanding of how exactly your reports are being used (or going to be used) you can then start deciding what type of aggregate tables you can create to help. I have found that the easiest way to manage this is to have your reporting engine build the aggregate tables for you, however this often requires a little more technical know how and would required dynamic schema&#8217;s and managing rollups of data efficiently and effectively in the background while your system is running. Maybe I will write a little bit more about how exactly I have accomplished that task in the past in some other post.</p>
<p>Hopefully you are a believer in aggregate tables, and hopefully you also understand that it is important to understand the requirements of your system before wasting a lot of time and effort on building tons of different types of aggregate tables only to find that it is used maybe 1% of the time. When building reporting systems in general I feel it is vitally important to build a solid framework and understand exactly what the reporting users want to get out of the reports so that you can effectively solve their problems, and when using Mondrian aggregate tables are simply one important part of that puzzle.</p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Entering the Blogging world]]></title>
<link>http://datamodelling.wordpress.com/2009/08/27/entering-the-blogging-world/</link>
<pubDate>Thu, 27 Aug 2009 02:50:14 +0000</pubDate>
<dc:creator>sksastry</dc:creator>
<guid>http://datamodelling.wordpress.com/2009/08/27/entering-the-blogging-world/</guid>
<description><![CDATA[I have finally decided that I need to start blogging. It may sound lame, but I have started to blog ]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p>I have finally decided that I need to start blogging. It may sound lame, but I have started to blog my ups and downs in my job search. I recently found out that the project that I am working on is being terminated(Thanks to the economy) now I am back in the job market.</p>
<p>I have started actively looking for a job since 2 weeks and have not much success although I did get to meet a recruiter.</p>
<p>At this point I would like to write a little about my skill set, I have been working on databases since the beginning of my career. I have worked on Lotus Notes (yes it is a database system for those of you who think other wise) For the last couple of years I have been on  working on SQL and Postgres.  And in my latest project I got into developing OLAP models. This has been the most exciting part of my recent position. I like the fact that the we can develop data models to view the same data in variuos different ways. It is really cool, I worked mostly on Open source software for data modelling and report generation, I know that Microsoft and Oracle are the big players in the field and I am still learning.</p>
<p>I&#8217;ll also use this blog to help in my learning process. And may be at some point publish some data models</p>
<p>That&#8217;s it for now</p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[OLAP a start.]]></title>
<link>http://mgcuthbert.wordpress.com/2009/08/21/olap-a-start/</link>
<pubDate>Fri, 21 Aug 2009 20:29:36 +0000</pubDate>
<dc:creator>mgcuthbert</dc:creator>
<guid>http://mgcuthbert.wordpress.com/2009/08/21/olap-a-start/</guid>
<description><![CDATA[So over the last couple of years I have spent a lot of time working with Mondrian. Mondrian is basic]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p>So over the last couple of years I have spent a lot of time working with <a href="http://mondrian.pentaho.org" target="_blank">Mondrian</a>. Mondrian is basically an OLAP server written in Java, and one of many options out there with the biggest probably being Microsoft&#8217;s Analytics Server. However there are definite financial reasons for choosing Mondrian over Microsoft. Mondrian was bought by Pentaho a while back and brought in to be a part of their BI suite. But it has stayed fairly independent of the suite as a whole, which for me at least seems a good thing as I didn&#8217;t enjoy the BI suite as much. I am sure some love it, but I had to debug code a lot in Mondrian and some of the BI packages which I did not really enjoy. Mondrian just seemed to have a much cleaner code base, or at least that was my impression of it. I haven&#8217;t looked at it in a while though so I am sure things have changed. So firstly why even the need for an OLAP server, would a SQL database do the trick? And the short answer is yes and no. A SQL server (postgres, MySQL, MSSQL, Oracle, etc. etc.) definitely does the trick and ultimately an OLAP server simply is an extension of a SQL server, it gives it that extra added dimension (excuse the pun). OLAP basically allows you to view your data in 3 dimensions as apposed the basic 2 dimensions that you get in a standard relational database. This generally is of most use when building a reporting engine and the data you are reporting on has multiple aspects to it and multiple ways of viewing that data. Obviously if your data is very simplistic and 2 dimensions are more than enough, then no need to worry.</p>
<p>So I thought it would be useful to write about my experiences with building a reporting engine based on the Mondrian OLAP server. Most of my discussion will focus exclusively on Mondrian itself and not the reporting engine. The reason I thought I might do this is because during my learning process I found very little information about OLAP servers and particularly Mondrian. There was a fair amount of information about MDX (which is like SQL for OLAP) but I felt I still had to experiment a huge amount just to get things working. So to give you an idea of topics I will cover here is a list of the top off my idea that I will almost certainly talk about.</p>
<p>Aggregate Tables &#8211; Super super important in any OLAP schema, and I will talk about distinct values in this schema as that caused me the most headache in trying to explain certain things to people.<br />
Performance Issues &#8211; Directly related to Agg tables but deserves a topic all on it&#8217;s own. How do you manage databases that will contain millions of records efficiently and quickly.<br />
MDX / OLAP Schema &#8211; Little tips and tricks I found along the way and various ideas behind building effective schemas.<br />
XMLA &#8211; How to get your data to the outside world.<br />
Integration &#8211; There are many issues that one has to consider when integrating a OLAP solution into their reporting engine.</p>
<p>And really there are so many topics that I can talk about with this, but that is the general idea. I will try to have one blog entry per week on Mondrian, however who really knows how much I will end up talking about it. I also don&#8217;t think I know everything, far from it actually there is still so much I don&#8217;t know and there may be things that I am sure I am  doing incorrectly, but this has been my experience. The first topic however that I will write on is Aggregate Tables, as these are an especially fun topic for me. Unfortunately for inexperienced developers this may not be that helpful initially as I will assume a fairly decent knowledge of schema development. I will post that up hopefully early next week sometime.</p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[What do you think about definition of OLAP?]]></title>
<link>http://andyblg.wordpress.com/2009/08/19/what-do-you-think-about-definition-of-olap/</link>
<pubDate>Wed, 19 Aug 2009 19:40:38 +0000</pubDate>
<dc:creator>andyblg</dc:creator>
<guid>http://andyblg.wordpress.com/2009/08/19/what-do-you-think-about-definition-of-olap/</guid>
<description><![CDATA[What is OLAP? I sought formal definition of OLAP. It&#8217;s wery interesting. 1. Nigel Pendse ]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p>What is OLAP?</p>
<p>I sought formal definition of OLAP. It&#8217;s wery interesting.</p>
<p>1. Nigel Pendse &#8220;What is OLAP?&#8221; (<a href="http://www.olapreport.com/fasmi.htm">http://www.olapreport.com/fasmi.htm</a>)</p>
<p>2. http://olap.com (<a href="http://olap.com/w/index.php/OLAP_Education_Wiki">http://olap.com/w/index.php/OLAP_Education_Wiki</a>)</p>
<p>3. OLAP and related terms (<a href="http://keywen.com/en/OLAP">http://keywen.com/en/OLAP</a>)</p>
<p>4. OLAP definition (<a href="http://www.yourdictionary.com/computer/olap">http://www.yourdictionary.com/computer/olap</a>)</p>
<p>5. OLAP glossary (<a href="http://pagesperso-orange.fr/bernard.lupin/english/glossary.htm">http://pagesperso-orange.fr/bernard.lupin/english/glossary.htm</a>)</p>
<p>I think it is quite enough.</p>
<p>Finally   &#8220;What is OLAP?&#8221;</p>
<p>- OLAP is a tool or technology of data processing (?)</p>
<p>- OLAP is a tool or technology of data visualization (?)</p>
<p>- OLAP is a tool or technology of data representation (?)</p>
<p>- OLAP is a class of system which include the above (?)</p>
<p>- OLAP is a class of system which include the above or something from this or something else (?)</p>
<p>and&#8230;   What do you think about formal definition of OLAP?</p>
</div>]]></content:encoded>
</item>

</channel>
</rss>
