<?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>oltp &amp;laquo; WordPress.com Tag Feed</title>
	<link>http://en.wordpress.com/tag/oltp/</link>
	<description>Feed of posts on WordPress.com tagged "oltp"</description>
	<pubDate>Thu, 24 Dec 2009 00:22:32 +0000</pubDate>

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

<item>
<title><![CDATA[The "NoSQL" dispute: A performance argument ]]></title>
<link>http://sillybits.wordpress.com/2009/12/10/the-nosql-dispute-a-performance-argument/</link>
<pubDate>Thu, 10 Dec 2009 19:35:28 +0000</pubDate>
<dc:creator>iroussos</dc:creator>
<guid>http://sillybits.wordpress.com/2009/12/10/the-nosql-dispute-a-performance-argument/</guid>
<description><![CDATA[NoSQL is a database movement that began in early to mid 2009 and which promotes non-relational data ]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p>NoSQL is a database movement that began in early to mid 2009 and which promotes non-relational data stores that do not need a fixed schema, and that usually avoid join operations. From [<a href="http://nosql-databases.org/">1</a>]:</p>
<blockquote><p><em>Next Generation Databases mostly address some of the points: being non-relational, distributed, open-source and horizontal scalable. The movement began early 2009 and is growing rapidly. Often more characteristics apply as: schema-free, replication support, easy API, eventually consistency, and more. So the misleading term &#8220;nosql&#8221; (some call it &#8221;not only sql&#8221;) should be seen as an alias to something like the definition above &#8230;<br />
</em></p></blockquote>
<p>I just read a very insightful article from Michael Stonebraker [<a href="http://s2k-ftp.cs.berkeley.edu:8000/nasa_e2e/mike.html">2</a>], one of the pioneers of modern database theory and Relational Database Management Systems (RDBMS) and &#8220;father&#8221; of systems like Ingres and Postgres [<a href="http://www.informatik.uni-trier.de/~ley/db/books/collections/Stonebraker86.html">3</a>, <a href="http://www.postgresql.org/about/history">4</a>]: &#8216;<a href="http://cacm.acm.org/blogs/blog-cacm/50678-the-nosql-discussion-has-nothing-to-do-with-sql/fulltext">The &#8220;NoSQL&#8221; Discussion has Nothing to Do With SQL</a>&#8216; [<a href="http://cacm.acm.org/blogs/blog-cacm/50678-the-nosql-discussion-has-nothing-to-do-with-sql/fulltext">5</a>]. In this article, published in the blog of the Communications of the ACM, Dr. Stonebraker responds to some of the arguments from the supporters of the NoSQL movement. There are two possible reasons to move away from structured Relational Database Management Systems and adopt an alternate DBMS technology:  performance and flexibility:</p>
<blockquote><p>The performance argument goes something like the following. I started with MySQL for my data storage needs and over time found performance to be inadequate. My options were: &#8230; 2. Abandon MySQL and pay big licensing fees for an enterprise SQL DBMS or move to something other than a SQL DBMS.</p>
<p>The flexibility argument goes something like the following. My data does not conform to a rigid relational schema. Hence, I can’t be bound by the structure of a RDBMS and need something more flexible. &#8230;.</p></blockquote>
<p>Focusing on the performance argument, he explains what is more or less a common knowledge in the database community: The major performance burden of modern RDBMS  comes from all those extra features like transaction possessing (especially insuring the ACID properties), logging, etc and not from the core engine for executing an SQL query:</p>
<blockquote><p>&#8230; However, the net-net is that the single-node performance of a NoSQL, disk-based, non-ACID, multithreaded system is limited to be a modest factor faster than a well-designed stored-procedure SQL OLTP engine. In essence, ACID transactions are jettisoned for a modest performance boost, and this performance boost has nothing to do with SQL.</p>
<p>&#8230;</p>
<p>In summary, blinding performance depends on removing overhead. Such overhead has nothing to do with SQL, but instead revolves around traditional implementations of ACID transactions, multi-threading, and disk management. To go wildly faster, one must remove all four sources of overhead, discussed above. This is possible in either a SQL context or some other context. &#8230;</p></blockquote>
<p>I believe that anyone interested in the inner workings of modern RDBMS should read this short post from Dr. Stonebraker and continue with a very interesting paper from Harizopoulos, et.al &#8220;OLTP through the looking glass, and what we found there&#8221; [<a href="http://portal.acm.org/citation.cfm?id=1376713">6</a>]. I am getting tired of discussing with people outside the database community who after writing a couple of SQL queries think that they know all about modern RDBMS and insist that the MySQL&#8217;s MYISAM engine is the best engine out there just because it is fast(er) or question my motives when I consult them that a &#8220;Lite SQL&#8221; (<em>no reference to any real product</em>)  solution is just not enough..</p>
<p>PS. Dr. Stonebraker is not just an exceptional database researcher, but a visionary whose ideas have shaped the modern Database landscape. A short abstract from an article in SIGMOD Record when he received the IEEE John von Neumann Medal [<a href="http://www.sigmod.org/record/issues/0503/p13.special.dewitt.pdf">7</a>]:</p>
<blockquote><p>&#8230; The relational data model and its associated benefits of &#8220;data independence&#8221; and “non-procedural access” were first invented by Tedd Codd. However, more than any other individual, Mike is responsible for making Codd’s vision of independence a reality through the architectures and algorithms embodied in the series of open-source prototypes and commercial systems that he has initiated and led. While many others have certainly made important contributions to the field, no one else comes close to his continuous sequence of landmark innovations over a period of almost 30 years.</p>
<p>&#8230; Mike has been the primary driving force behind major shifts in the research agenda of the database community, including two occasions where he launched entire new directions for the field to follow (the implementation of relational systems and object-relational systems).</p></blockquote>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Customers Select Oracle® Exadata for Extreme Performance of Data Warehouse and OLTP Applications]]></title>
<link>http://sojungle.wordpress.com/2009/11/11/customers-select-oracle%c2%ae-exadata-for-extreme-performance-of-data-warehouse-and-oltp-applications/</link>
<pubDate>Wed, 11 Nov 2009 06:53:31 +0000</pubDate>
<dc:creator>ZyK</dc:creator>
<guid>http://sojungle.wordpress.com/2009/11/11/customers-select-oracle%c2%ae-exadata-for-extreme-performance-of-data-warehouse-and-oltp-applications/</guid>
<description><![CDATA[News Facts Customers across the globe have chosen Oracle® Exadata to deliver extreme performance for]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><h3>News Facts</h3>
<div>Customers across the globe have chosen <!-- TRANSIT - HYPERLINK --><!-- .http://tinyurl.com/dhlo6o. --><a href="http://tinyurl.com/dhlo6o" target="_top">Oracle® Exadata</a> to deliver extreme performance for their data warehousing and online transaction processing (OLTP) environments.</div>
<div>The Oracle Exadata product family includes Oracle Database Machine and Oracle Exadata Storage Server with Oracle Exadata Storage Server software.</div>
<div>Announced on September 15, 2009, Oracle Exadata V2 was developed with Sun Microsystems.</div>
<div>The following organizations are among those that have selected Oracle Exadata: Amtrak, Allegro Group, Automobile Association of the UK, Banca Transilvania, CTC, Garanti Bank, Generale de Sante, Giant Eagle, HISCOM (Hokuriku Coca Cola), Integrated Health Information Systems Pte Ltd/National Healthcare Group, Singapore, KnowledgeBase Marketing, Loyalty Partner Solutions, M-Tel, MTN Group, Nagase, NS Solutions, NTT Data, OK Systems, Philippines Savings Bank, Research in Motion, SoftBank Mobile, Screwfix, Thomson Reuters, True Corporation Plc, TUI and Yamazaki Baking.</div>
<h3>Oracle Exadata V2 Increases Oracle’s Performance and Price-Performance Leadership</h3>
<div>The Exadata Hybrid Columnar Compression in Oracle Exadata V2 delivers industry leading 10x average table compression for data warehouse data; with corresponding increase in table scan performance.</div>
<div>This latest version also features Exadata Smart Flash Cache, the industry’s first intelligent integration of flash with a database, delivering over 1 million I/Os per second and enabling extreme OLTP; plus consolidation of data warehouse and OLTP workloads onto the same system.</div>
<div>Boost Productivity &#8211; The application includes Task Optimization tools that allow utilities to reduce the number of steps and associated &#8220;clicks&#8221; in their most common processes &#8211; improving efficiency and ensuring consistency in task execution. The Task Optimization tools allow utilities to model their business processes, including configuring their own user interfaces, to suit their unique work processes and needs, while ensuring all data entered is properly validated for accuracy. This enables the system to be even more intuitive and user friendly, helping to reduce required training and improve productivity and efficiency.</div>
<div>With Oracle Exadata V2, Oracle Exadata Storage Servers now deliver 50 Gigabytes per second of raw, uncompressed I/O bandwidth; approximately 5x greater than major competitors and 2-3x better on a price/performance basis.</div>
<h3>Supporting Quotes</h3>
<div>“Banca Transilvania has a long history and strong partnership with Oracle. We expect that the 30 times performance improvement of the Oracle Database Machine will enable faster access to business information and will allow us to launch new products exactly when the market needs them, which will be a direct benefit to our customers.” &#8212; Marius Ursuti, Director IT, Banca Transilvania</div>
<div>&#8220;We saw significant improvements in the tests we did on Exadata. The minimum improvement was 27x with an average of 470x improvement on the queries we tested compared to our current system. This was achieved with no tuning and after removing all indexes. In fact, eliminating indexes is going to save us on half the disk capacity.&#8221; &#8212; Mark Win, Director, Business Intelligence, Integrated Health Information Systems Pte Ltd/National Healthcare Group, Singapore</div>
<div>&#8220;We chose Oracle Exadata because they could deliver a complete system that is simple and fast to implement, very cost-effective, and scalable as our data warehouse grows,&#8221; said Suwicha Pornawalai, Director of Information Technology (Application), True Corporation Plc. &#8220;The Oracle Database Machine and Exadata Storage Servers can help us tap deeper into our customer database in a cost efficient manner. In doing so, we are able to better understand our customers and develop innovative products and services that best fit their usage behavior. The Oracle Database Machine helps us enhance customers&#8217; satisfaction with a 360-degree view of customers across our five businesses: TrueMove, TrueOnline, TrueVisions, TrueMoney, and TrueLife.&#8221;</div>
<div>&#8220;TUI chose the Sun Oracle Database Machine because it was the only platform that would meet both our needs for all of our database requirements, including OLTP, as well as be the best platform for a high performance data warehouse. The performance and scalability of the Sun Oracle Database Machine will allow our business users to provide all answers for complex queries which will result in a higher service level and a more efficient unique selling proposition for our business.&#8221; &#8212; Eli Lysen, Senior Manager ICT, TUI</div>
<div>&#8220;This is further proof that Oracle Exadata has revolutionized the data warehouse industry,” said Willie Hardie, vice president of Database Product Marketing, Oracle. “V2 with its intelligent Exadata Smart Flash Cache will do the same for our customers OLTP applications.&#8221;</div>
<div style="text-align:center;"><em>(Oracle OpenWorld, San Francisco, Calif. – October 13, 2009)</em></div>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[SQL Coding Guidelines.]]></title>
<link>http://nirupampratap.wordpress.com/2009/11/06/sql-coding-guidelines/</link>
<pubDate>Fri, 06 Nov 2009 13:34:22 +0000</pubDate>
<dc:creator>nirupampratap</dc:creator>
<guid>http://nirupampratap.wordpress.com/2009/11/06/sql-coding-guidelines/</guid>
<description><![CDATA[This document took me a long time to write :).  Actually had written it for my team and shared it wi]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p>This document took me a long time to write :).  Actually had written it for my team and shared it with them some six months ago. Thought it might be a good idea to share it with everyone. Most of the stuff I have written in this document came with experience. All the other stuff required some painful browsing and learning <img src='http://s.wordpress.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> . There might be a few spelling and grammatical errors in the document, but I assume they will not hamper the readability of the document (a bit lazy to correct the doc <img src='http://s.wordpress.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> )</p>
<p>So, if you like the pdf pls drop a comment. If you think anything is incorrect in the document then please feel free to point it out and &#8216;<strong>suggest</strong>&#8216; your correction (this is a very important feedback you can give <img src='http://s.wordpress.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> ).</p>
<p><strong><a class="alignleft" title="SQL Coding Guidelines" href="http://cid-089802e404becebf.skydrive.live.com/self.aspx/Public/SQL%20Coding%20guidelines.pdf" target="_blank">SQL Coding Guidelines (Pdf) &#8211; The Link</a></strong></p>
<p>Pratap.</p>
<p>PS: Will follow it up with a document on design guidelines. Think it needs some cleaning before I can upload it <img src='http://s.wordpress.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> .</p>
<p>BTW. Sorry for disappointing you Girish <img src='http://s.wordpress.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> &#8230; Another post on SQL Server&#8230; Will try to write something non-technical in my next post.</p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[SQL Server Configuration - The Basics]]></title>
<link>http://enggtech.wordpress.com/2009/10/22/sql-server-configuration-the-basics/</link>
<pubDate>Thu, 22 Oct 2009 15:27:17 +0000</pubDate>
<dc:creator>Visitor Blogs</dc:creator>
<guid>http://enggtech.wordpress.com/2009/10/22/sql-server-configuration-the-basics/</guid>
<description><![CDATA[In this article I have not described more advanced setups, such as clusters, replication, etc. This ]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p>In this article I have not described more advanced setups, such as clusters, replication, etc. This article is designed as an overview of a basic, one-server, OLTP environment.</p>
<p>I have categorized configuration options into <em>server options</em>, <em>disk configuration</em> and <em>startup options</em>.</p>
<pre>sp_configure 'show advanced options', 1
go
reconfigure
go
sp_configure
go</pre>
<p><em> Or </em></p>
<pre>select * from sys.configurations
go</pre>
<h3>affinity mask</h3>
<h3>affinity io mask</h3>
<h3>cost threshold for parallelism</h3>
<h3>fill factor</h3>
<h3>index create memory</h3>
<h3>locks</h3>
<h3>max degree of parallelism</h3>
<h3>max worker threads</h3>
<h3>min and max server memory</h3>
<h3>min memory per query</h3>
<h3>priority boost</h3>
<h3>recovery interval</h3>
<h2>Startup Options</h2>
<p><strong>-g</strong> <em>memory_to_reserve</em></p>
<p><strong>-T</strong> <em>trace flag</em></p>
<p><strong>-x</strong></p>
<p><a href="http://www.sql-server-pro.com/sql-server-configuration.html">SQL Server Configuration &#8211; The Basics</a>.</p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Two approach to designing databases]]></title>
<link>http://andyblg.wordpress.com/2009/08/10/two-approach-to-designing-databases/</link>
<pubDate>Mon, 10 Aug 2009 15:25:40 +0000</pubDate>
<dc:creator>andyblg</dc:creator>
<guid>http://andyblg.wordpress.com/2009/08/10/two-approach-to-designing-databases/</guid>
<description><![CDATA[Two approach to designing databases: 1) OLTP (OnLine Transaction Processing) and 2) OLAP (OnLine Ana]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p>Two approach to designing databases:</p>
<p>1) OLTP (OnLine Transaction Processing) and 2) OLAP (OnLine Analytical Processing)</p>
<p>The OLTP as approach is used for collecting data. It is aimed to transactions.</p>
<p>The OLAP as approach has got aims such as selecting and processing huge amount of data.</p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Technical Terminology - OLTP]]></title>
<link>http://jaamee.wordpress.com/2009/08/03/technical-terminology-oltp/</link>
<pubDate>Mon, 03 Aug 2009 06:21:37 +0000</pubDate>
<dc:creator>Jamee</dc:creator>
<guid>http://jaamee.wordpress.com/2009/08/03/technical-terminology-oltp/</guid>
<description><![CDATA[OLTP (online transaction processing) is a class of program that facilitates and manages transaction-]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p>OLTP (online transaction processing) is a class of program that facilitates and manages transaction-oriented applications, typically for data entry and retrieval transactions in a number of industries, including banking, airlines, mailorder, supermarkets, and manufacturers. Probably the most widely installed OLTP product is IBM&#8217;s CICS (Customer Information Control System).</p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[OLAP Solution]]></title>
<link>http://andyblg.wordpress.com/2009/07/20/olap-solution/</link>
<pubDate>Mon, 20 Jul 2009 19:34:53 +0000</pubDate>
<dc:creator>andyblg</dc:creator>
<guid>http://andyblg.wordpress.com/2009/07/20/olap-solution/</guid>
<description><![CDATA[Most businesses store data in relational data stores that are optimized for online transaction proce]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p>Most businesses store data in relational data stores that are optimized for online transaction processing (OLTP) operations. OLTP databases are optimized for applications that need to insert and modify data as well as read data, and are generally normalized to reduce data duplication. This makes it easier to manage data modifications, because data values generally only need to be updated in one place. While it is possible to query an OLTP database to retrieve data for analysis, the normalized design of most relational databases means that the queries required to retrieve the data can be extremely complex, making it difficult for business users to perform their own analytical queries.</p>
<p>OLAP databases are generally denormalized to reduce the number of joins that must be performed when querying the data. This denormalization results in potential duplication of data, but OLAP databases store historical data that does not need to be modified, so this duplication of data is acceptable. Additionally, the data in an OLAP database is usually organized into facts (quantifiable business metrics) and dimensions (aspects of the business by which the facts can be aggregated).</p>
<p><strong>Data warehouses and data marts</strong></p>
<p>In most OLAP solutions, business data is extracted from the production online transaction processing (OLTP) systems, and other sources of business data, and loaded into a denormalized database, where it is optimized for analytical processing. In some scenarios, this denormalized database acts as a central repository for analytical data<br />
from across the organization, in which case it is usually referred to as a data warehouse. Alternatively, an organization might contains a number of discrete departments, each with its own data sources and analysis needs, in which case multiple denormalized databases, called data marts, might exist.</p>
<p><strong>OLAP cubes</strong></p>
<p>Although the data warehouse or data marts can be queried to generate reports or to import data into analytical tools such as Microsoft Office Excel, most OLAP solutions include a multidimensional database that contains one or more cubes based on the OLAP data source. A cube stores the business dimensions and aggregated facts in a form that makes it easy for users to analyze the data by viewing the aggregated values where dimensions and facts intersect. This process is generally known as slicing and dicing the data.</p>
<p>© Microsoft Corporation</p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Analysis Solution]]></title>
<link>http://andyblg.wordpress.com/2009/07/20/analysis-solution/</link>
<pubDate>Mon, 20 Jul 2009 18:04:29 +0000</pubDate>
<dc:creator>andyblg</dc:creator>
<guid>http://andyblg.wordpress.com/2009/07/20/analysis-solution/</guid>
<description><![CDATA[Most databases in a business environment are designed as online transaction processing (OLTP) system]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p>Most databases in a business environment are designed as online transaction processing (OLTP) systems where data is frequently inserted and updated. In an analysis solution, most operations read data in order to allow users to analyze key business metrics and make informed business decisions. There are two main categories of analysis: multidimensional analysis and data mining. An analysis solution allows users to perform one or both of these kinds of analysis.</p>
<p><strong>Multidimensional data analysis</strong></p>
<p>The most common kind of analysis is a multidimensional data analysis– sometimes referred to as online analytical processing (OLAP). In a multidimensional analysis solution, data is arranged in a multidimensional cube structure in which aggregations of numerical business measures are intersected by various dimensions of the business. For<br />
example, you could create a multidimensional analysis solution that allows users to view sales totals by order date and by customer.</p>
<p><strong>Data mining</strong></p>
<p>Data mining solutions use mathematical algorithms to analyze data and generate trends and predictions based on statistics and patterns in the data. A data mining solution consists of one or more data mining models in which a particular data mining algorithm has been applied to a representative set of business data in order to identify trends,<br />
clusters, or statistical relationships between key data items. The data model can then be used to predict business measures for similar data. For example, you could use a data mining model to analyze past purchases made by customers, and then use the model to suggest products that an individual customer is likely to buy based on purchases made by customers with a similar demographic profile.</p>
<p>© Microsoft Corporation</p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Functii de rang (RANK functions)]]></title>
<link>http://katalyn.wordpress.com/2009/06/19/functii-de-rang-rank-functions/</link>
<pubDate>Fri, 19 Jun 2009 13:12:23 +0000</pubDate>
<dc:creator>Catalin Dumitru</dc:creator>
<guid>http://katalyn.wordpress.com/2009/06/19/functii-de-rang-rank-functions/</guid>
<description><![CDATA[O data cu SQL Server 2005, Microsoft a introdus o serie de noi functionalitati. Aceste noi functiona]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p style="text-align:justify;">O data cu SQL Server 2005, Microsoft a introdus o serie de noi functionalitati. Aceste noi functionalitati usureaza munca unui administrator sau dezvoltator in scrierea codului T-SQL si a intretinerii bazelor de date.  In continuare vom discuta despre funtiile de rang. Functiile de rang intorc o valoare rang pentru fiecare rand dintr-un set de date. Aceste functii sunt nondeterministice. Functie de functia utilizata, mai multe randuri pot avea aceeasi valoare sau valori indivituale.</p>
<p style="text-align:justify;">Functiile de rang permite inumararea secventiala a setului de date. Pentru a exemplifica rezultatul executiei acestor functii, se considera tabela si inregistrarile de mai jos:</p>
<p><em>CREATE TABLE Persoane(<br />
            Nume VARCHAR(50),<br />
            Varsta INT,<br />
            SEX CHAR(1)<br />
)</em></p>
<p><em>INSERT INTO Persoane VALUES (&#8216;Ion&#8217;,53,&#8217;M')<br />
INSERT INTO Persoane VALUES (&#8216;Vasile&#8217;,45,&#8217;M')<br />
INSERT INTO Persoane VALUES (&#8216;Gheorghe&#8217;,89,&#8217;M')<br />
INSERT INTO Persoane VALUES (&#8216;Maria&#8217;,21,&#8217;F')<br />
INSERT INTO Persoane VALUES (&#8216;Stefan&#8217;,46,&#8217;M')<br />
INSERT INTO Persoane VALUES (&#8216;Adriana&#8217;,69,&#8217;F')<br />
INSERT INTO Persoane VALUES (&#8216;Mircea&#8217;,56,&#8217;M')<br />
INSERT INTO Persoane VALUES (&#8216;Mihai&#8217;,2,&#8217;M')<br />
INSERT INTO Persoane VALUES (&#8216;Daniela&#8217;,46,&#8217;F')<br />
INSERT INTO Persoane VALUES (&#8216;Cristina&#8217;,25,&#8217;F')<br />
INSERT INTO Persoane VALUES (&#8216;Andreea&#8217;,14,&#8217;F')</em></p>
<p style="text-align:justify;">Transact – SQL furnizeaza urmatoarele functii: <span style="text-decoration:underline;">RANK(), DENSE_RANK(), NTILE(), ROW_NUMBER()</span></p>
<p><strong><span style="text-decoration:underline;">RANK</span></strong></p>
<p style="text-align:justify;">Uneori se doreste ca doua sau mai multe randuri care au aceasi clauza de ordonare (order by) ca aibe acelasi rang. Sintaxa generala este:</p>
<p>RANK ( )  OVER ( [ &#60;partition_by_clause&#62; ] &#60;order_by_clause&#62; )</p>
<p style="text-align:justify;">Unde:<br />
[ &#60;partition_by_clause&#62; ] – reprezinta coloana sau coloanele dupa care se creaza grupari in setul de date<br />
&#60;order_by_clause&#62; &#8211; reprezinta coloana sau coloanele dupa care se realizeaza ordonarea pentru stabilirea valorilor rang in cadrul partitiei.</p>
<p style="text-align:justify;">Functia RANK inumara secvential valorile din clauza ORDER BY. Cand doua sau mai multe randuri au aceeasi valoare in ORDER BY, primesc acelasi rang. Chiar si in acest caz, valoarea de rang este incrementata iar cand o noua valoare este determinate in ORDER BY, rangul determinat va fi mai mare cu 1 decat numarul de randuri aflat inaintea randului current. In exemplul urmator, s-a aplicat functia RANK peste coloana Varsta.</p>
<p><em>SELECT      RANK() OVER(ORDER BY Varsta) as RankNumber,<br />
            Nume,<br />
            Varsta<br />
FROM Persoane</em></p>
<p><img class="aligncenter size-full wp-image-61" title="rank_1" src="http://katalyn.wordpress.com/files/2009/06/rank_11.jpg" alt="rank_1" width="233" height="261" /></p>
<p style="text-align:justify;">Se poate observa ca acolo unde varsta este aceeasi, si valoarea rang este identical. Atunci cand se intalneste o noua varsta, rangul devine numarul de randuri de dinaintea randului current incrementat cu 1. Cu alte cuvinte, Andreea are rangul 3 pentru ca inaintea ei sunt alte 2 persoane care avand aceeasi varsta, au primit acelasi rang.</p>
<p><em>SELECT      RANK() OVER(PARTITION BY Sex ORDER BY Varsta) as RankNumber,<br />
            Nume,<br />
            Varsta,<br />
            Sex<br />
FROM Persoane</em></p>
<p><img class="aligncenter size-full wp-image-64" title="rank_2" src="http://katalyn.wordpress.com/files/2009/06/rank_21.jpg" alt="rank_2" width="262" height="261" /></p>
<p style="text-align:justify;">In exemplul 2, setul de date a fost grupat dupa sex iar apoi s-a atribuit valoarea de rang (individual pentru fiecare partitie a setului de date).</p>
<p> <span style="text-decoration:underline;"><strong>DENSE_RANK</strong></span></p>
<p style="text-align:justify;">Aceasta functie este similara funtiei RANK cu exceptia faptului ca valorile rang sunt in ordine, nu lipseste niciuna. Cu alte cuvinte, o valoare rang este ori valoarea rang a randului precedent ori valoarea rang a randului precedent incrementat cu 1. Aceste valori sunt in ordine, fara valori “lipsa”.</p>
<p><em>SELECT      DENSE_RANK() OVER(ORDER BY Varsta) as RankNumber,<br />
            Nume,<br />
            Varsta<br />
FROM Persoane</em></p>
<p><img class="aligncenter size-full wp-image-66" title="rank_3" src="http://katalyn.wordpress.com/files/2009/06/rank_31.jpg" alt="rank_3" width="228" height="257" /></p>
<p><strong><span style="text-decoration:underline;">NTILE</span></strong></p>
<p style="text-align:justify;">Aceasta functie este similara celorlalte si imparte un set de date in subgrupuri.</p>
<p><em>SELECT      NTILE(3) OVER(ORDER BY Varsta) as RankNumber,<br />
            Nume,<br />
            Varsta<br />
FROM Persoane</em></p>
<p><img class="aligncenter size-full wp-image-67" title="rank_4" src="http://katalyn.wordpress.com/files/2009/06/rank_41.jpg" alt="rank_4" width="225" height="262" /></p>
<p style="text-align:justify;">In exemplul de mai sus, setul de date a fost impartit in 3 subgrupuri (3 este valoarea parametrului functiei NTILE). Folosirea acestei functii va avea ca effect divizarea setului de date in subgrupuri de date cu acelasi rang.</p>
<p><strong><span style="text-decoration:underline;">ROW_NUMBER</span></strong></p>
<p style="text-align:justify;">Aceasta functie intoarce o valoare rang data de numarul randului. Fiecare rand din setul de date va fi cu 1 mai mare decat precedentul rand si cu 1 mai mic decat urmatorul rand. Primul rand din setul de date va avea valoarea 1. Acest rang se poate aplica sip e partitii de date ale setului de date (aduca pe grupuri de date).</p>
<p><em>SELECT      ROW_NUMBER() OVER(ORDER BY Varsta) as RankNumber,<br />
            Nume,<br />
            Varsta<br />
FROM Persoane</em></p>
<p><img class="aligncenter size-full wp-image-68" title="rank_5" src="http://katalyn.wordpress.com/files/2009/06/rank_51.jpg" alt="rank_5" width="226" height="256" /></p>
<p style="text-align:justify;">In exemplul de mai sus, numerotarea randurilor s-a realizat dupa coloana Varsta. Daca vom dori afisarea setului de date in alta ordine, adica adaugarea clauzei Order by, in acest caz, numai afisarea o sa se realizeze dupa noua ordine, numerotarea randurilor se va realiza dupa clauza order by a functiei ROW_NUMBER.</p>
<p><em>SELECT      ROW_NUMBER() OVER(ORDER BY Varsta) as RankNumber,<br />
            Nume,<br />
            Varsta<br />
FROM Persoane<br />
ORDER BY NUME</em></p>
<p><img class="aligncenter size-full wp-image-65" title="rank_6" src="http://katalyn.wordpress.com/files/2009/06/rank_61.jpg" alt="rank_6" width="222" height="255" /></p>
<p style="text-align:justify;">Acum se poate observa ca afisarea s-a realizat dupa noua ordine dar valorile rang sunt aceleasi.</p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Clueless Guide: Difference between BI Reports and ERP Reports]]></title>
<link>http://analytiks.wordpress.com/2009/06/05/clueless-guide-difference-between-bi-reports-and-erp-reports/</link>
<pubDate>Fri, 05 Jun 2009 05:54:33 +0000</pubDate>
<dc:creator>Shehzad</dc:creator>
<guid>http://analytiks.wordpress.com/2009/06/05/clueless-guide-difference-between-bi-reports-and-erp-reports/</guid>
<description><![CDATA[Business Intelligence (BI) is just a fancy term for reporting. If I ask a business user what a repor]]></description>
<content:encoded><![CDATA[Business Intelligence (BI) is just a fancy term for reporting. If I ask a business user what a repor]]></content:encoded>
</item>
<item>
<title><![CDATA[Be Ready for Microsoft SQL Server 2008 R2]]></title>
<link>http://sqlhero.wordpress.com/2009/06/04/be-ready-for-microsoft-sql-server-2008-r2/</link>
<pubDate>Thu, 04 Jun 2009 15:48:26 +0000</pubDate>
<dc:creator>ahmed mosa</dc:creator>
<guid>http://sqlhero.wordpress.com/2009/06/04/be-ready-for-microsoft-sql-server-2008-r2/</guid>
<description><![CDATA[to get more information about Microsoft SQLServer 2008 R2 you can visit SQLServer2008 R2]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p>to get more information about Microsoft SQLServer 2008 R2 you can visit <a title="http://www.microsoft.com/sqlserver/2008/en/us/R2.aspx" href="http://www.microsoft.com/sqlserver/2008/en/us/R2.aspx">SQLServer2008 R2</a></p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[SQL Server 2008 Compare Edition Features]]></title>
<link>http://sqlhero.wordpress.com/2009/06/04/sql-server-2008-compare-edition-features/</link>
<pubDate>Thu, 04 Jun 2009 15:41:50 +0000</pubDate>
<dc:creator>ahmed mosa</dc:creator>
<guid>http://sqlhero.wordpress.com/2009/06/04/sql-server-2008-compare-edition-features/</guid>
<description><![CDATA[to find full comparison of key capabilities between SQL Server 2008 Enterprise, Standard, Workgroup,]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p>to find full comparison of key capabilities between SQL Server 2008 Enterprise, Standard, Workgroup, Web and Express editions</p>
<p>Just click on <a href="http://www.microsoft.com/sqlserver/2008/en/us/editions-compare.aspx" target="_blank">Microsoft</a></p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[SQLHero June Session &ndash; Microsoft Egypt]]></title>
<link>http://sqlhero.wordpress.com/2009/06/04/sqlhero-june-session-microsoft-egypt/</link>
<pubDate>Thu, 04 Jun 2009 15:23:34 +0000</pubDate>
<dc:creator>ahmed mosa</dc:creator>
<guid>http://sqlhero.wordpress.com/2009/06/04/sqlhero-june-session-microsoft-egypt/</guid>
<description><![CDATA[SQLHero delivered June Session in Business Intelligence Scenarios (SQL 2008) Topic Business Intellig]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p>SQLHero delivered June Session in <b>Business Intelligence Scenarios (SQL 2008)</b></p>
<div align="left">
<table border="1" cellspacing="1" cellpadding="2" width="400" align="left">
<tbody>
<tr>
<td valign="top" width="79">Topic</td>
<td valign="top" width="321"><b>Business Intelligence Scenarios (SQL 2008)</b></td>
</tr>
<tr>
<td valign="top" width="79">Date</td>
<td valign="top" width="321">June <b>4</b>, 2009         </td>
</tr>
<tr>
<td valign="top" width="79">Time</td>
<td valign="top" width="321">
10:00 – 3:00         </td>
</tr>
<tr>
<td valign="top" width="79">Location</td>
<td valign="top" width="321">Microsoft, Smart Village         </td>
</tr>
<tr>
<td valign="top" width="79">Presenter</td>
<td valign="top" width="321">Ahmed Mosa         </td>
</tr>
<tr>
<td valign="top" width="79">Presentation</td>
<td valign="top" width="321"><a href="http://sqlhero.wordpress.com/files/2009/06/business-intelligence-scenarios.pptx" target="_blank">download</a></td>
</tr>
</tbody>
</table></div>
<p><a href="http://sqlhero.wordpress.com/files/2009/06/business-intelligence-scenarios.pptx" target="_blank"></a></p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Change Data Capture &ndash; Part I]]></title>
<link>http://sqlhero.wordpress.com/2009/05/31/change-data-capture-part-i/</link>
<pubDate>Sun, 31 May 2009 20:03:57 +0000</pubDate>
<dc:creator>saidsalah</dc:creator>
<guid>http://sqlhero.wordpress.com/2009/05/31/change-data-capture-part-i/</guid>
<description><![CDATA[With the arrival of SQL Server 2008 we gained access to a new feature called Change Data Capture (CD]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p>With the arrival of SQL Server 2008 we gained access to a new feature called Change Data Capture (CDC). CDC enables you to constantly stream change data to a consuming process, most notably Extract, Transform, and Load (ETL) applications. In the SQL Server environment the ETL application used is of course SQL Server Integration Services (SSIS). </p>
<p>the first obvious constraint in regard to SQL Server 2008’s CDC feature is that it is only available to SSIS applications that source their data from an OLTP system built on SQL Server 2008. In the field of implementing Microsoft BI there are many relational database systems we have to source data from that are not SQL Server based (and if they are SQL Server based there is a good chance it is not using the 2008 version). All major relational database systems use some form of a transaction log to record the history of its actions in case of rollback or hardware failure. I would imagine that the actual contents of each database vendor’s log is different, however they have the same basic requirement to temporarily persist database actions.</p>
<p>So how to enable Change Data Capture on a database, and on a table, and how to keep track of Data Definition Language changes on a table.</p>
<p><strong>Step 1</strong></p>
<p>Let’s create a database named SqlHero as shown below.</p>
<pre>USE [master]
GO

/*** Object:  Database [SqlHero]   ***/
IF  EXISTS (SELECT name FROM sys.databases WHERE name = N'SqlHero')
DROP DATABASE [SqlHero]
GO
USE [master]
GO

/*** Object:  Database [SqlHero]   ***/
CREATE DATABASE [SqlHero]
GO
<strong></strong>
<strong>Step 2</strong></pre>
<p>Now let’s create a table named MyTable on the SqlHero database, as shown Below.</p>
<pre>USE [SqlHero]
GO

/*** Object:  Table [dbo].[MyTable]   ***/
IF  EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[MyTable]')
	AND type in (N'U'))
DROP TABLE [dbo].[MyTable]
GO
USE [MyDataBase]
GO

/*** Object:  Table [dbo].[MyTable]   ***/
SET ANSI_NULLS ON
GO

SET QUOTED_IDENTIFIER ON
GO

SET ANSI_PADDING ON
GO

CREATE TABLE [dbo].[MyTable](
	[ID] [int] NOT NULL,
	[Name] [varchar](100) NULL,
 CONSTRAINT [MyTable_PK] PRIMARY KEY CLUSTERED
(
	[ID] ASC
)WITH (PAD_INDEX  = OFF, STATISTICS_NORECOMPUTE  = OFF,
	IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS  = ON,
	ALLOW_PAGE_LOCKS  = ON) ON [PRIMARY]
) ON [PRIMARY]

GO

SET ANSI_PADDING OFF
GO
<strong></strong>
<strong>Step 3</strong></pre>
<p>In order to track changes on the table, we need to enable the Change Data Capture feature on the database. We can enable the Change Data Capture feature using the following Transact SQL command, as shown below.</p>
<p>Until this point, the only schema that exists on the database is dbo. Once we enable Change Data Capture, a new schema with a bunch of objects will be created.</p>
<pre>USE [SqlHero]
GO
EXEC sys.sp_cdc_enable_db_change_data_capture
GO</pre>
<p>The following CDC tables are created under the CDC schema, as shown below</p>
<pre>cdc.captured_columns
cdc.change_tables
cdc.ddl_history
cdc.index_columns
cdc.lsn_time_mapping</pre>
<p><img src="http://www.databasejournal.com/img/2008/01/mak_CDC1_image004.jpg" alt="" width="322" height="167" /></p>
<p>When you query these tables, you will see only zero number of rows.</p>
<pre>select * from cdc.captured_columns
select * from cdc.change_tables
select * from cdc.ddl_history
select * from cdc.index_columns
select * from cdc.lsn_time_mapping</pre>
<p><strong>Result</strong></p>
<pre>(0 row(s) affected)
 (0 row(s) affected)
(0 row(s) affected)
 (0 row(s) affected)
 (0 row(s) affected)</pre>
<p> </p>
<p><strong>Step 3</strong></p>
<p>In order to track changes on the table, we need to enable the Change Data Capture feature on the table as well. Let’s enable the Change Data Capture feature using the following Transact SQL command, as shown below.</p>
<pre>USE [SqlHero]
GO
EXEC sys.sp_cdc_enable_table_change_data_capture
@source_schema = 'dbo',
@source_name = 'MyTable',
@role_name = 'cdc_MyTable'
GO</pre>
<p><strong>Result</strong></p>
<pre>Job 'cdc.MyDataBase_capture' started successfully.
Job 'cdc.MyDataBase_cleanup' started successfully.</pre>
<p> </p>
<p>By reading the result, we can easily understand that SQL Server Agent is a must to do the capture and cleanup. We can see these jobs are actually created as SQL Server Scheduled jobs. [Refer Fig 1.6, 1.7]</p>
<p><img src="http://www.databasejournal.com/img/2008/01/mak_CDC1_image007.jpg" alt="" width="321" height="68" /></p>
<p><img src="http://www.databasejournal.com/img/2008/01/mak_CDC1_image008.jpg" alt="" width="576" height="517" /></p>
<p>Now let’s execute the following Transact SQL to see if any data has been inserted on any of the CDC tables.</p>
<pre>select * from cdc.captured_columns
select * from cdc.change_tables
select * from cdc.index_columns</pre>
<p><strong>Result</strong></p>
<pre>object_id, column_name, column_id, column_type, column_ordinal, is_computed
389576426, ID, 1, int, 1, 0
389576426, Name, 2, varchar, 2, 0

(2 row(s) affected)

object_id,  version,  source_object_id, capture_instance, start_lsn, end_lsn, supports_net_changes, has_drop_pending,
	role_name, index_name, filegroup_name, create_date
389576426, 0, 53575229, dbo_MyTable, NULL, NULL, 0, NULL, cdc_MyTable, MyTable_PK, NULL,
(1 row(s) affected)

object_id, column_name, index_ordinal, column_id
389576426, ID, 1, 1

(1 row(s) affected)</pre>
<p>You can see that the CDC schema stores metadata information about which tables and columns are being tracked by Change Data Capture. It also stores information about what Index the table that has been tracked has.</p>
<p><strong>Step 4</strong></p>
<p>We can check to see if Change Data Capture is enabled on a database by using the following transact SQL statement.</p>
<pre>SELECT is_cdc_enabled FROM sys.databases WHERE name = 'SqlHero'</pre>
<p><strong>Result</strong></p>
<pre>is_cdc_enabled
--------------
1

(1 row(s) affected)</pre>
<p><strong>Step 5</strong></p>
<p>We can check to see if Change Data Capture is enabled on a table, by using the following transact SQL statement.</p>
<pre>SELECT is_tracked_by_cdc FROM sys.tables WHERE name = 'MyTable'</pre>
<p><strong>Result</strong></p>
<pre>is_tracked_by_cdc
-----------------
1

(1 row(s) affected)</pre>
<p><strong>Step 6</strong></p>
<p>Now let’s make some changes to table structure and see if Change Data Capture captures the changes. Execute the following query as shown below.</p>
<p>USE [SqlHero]</p>
<p>GO</p>
<p>Alter Table MyTable add Address varchar(500)</p>
<p>GO</p>
<p>Alter Table MyTable add Salary money</p>
<p>GO</p>
<p>Alter Table MyTable add Bonus money</p>
<p>GO</p>
<p> </p>
<p>Query the cdc table ddl_history as shown below.</p>
<pre>select * from cdc.ddl_history</pre>
<p><strong>Result</strong></p>
<pre>source_object_id, object_id, required_column_update, ddl_command, ddl_lsn, ddl_time
53575229, 389576426, 0, Alter Table MyTable add Address varchar(500)
, 0x0000001C000001350001,
53575229, 389576426, 0, Alter Table MyTable add Salary money
, 0x0000001C000001370018, 53575229, 389576426, 0, Alter Table MyTable add Bonus money
, 0x0000001C0000013D0018,
(3 row(s) affected)</pre>
<p><img src="http://www.databasejournal.com/img/2008/01/mak_CDC1_image010.jpg" alt="" width="576" height="129" /></p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Virtual Labs]]></title>
<link>http://sqlhero.wordpress.com/2009/05/28/virtual-labs/</link>
<pubDate>Thu, 28 May 2009 10:21:05 +0000</pubDate>
<dc:creator>ahmed mosa</dc:creator>
<guid>http://sqlhero.wordpress.com/2009/05/28/virtual-labs/</guid>
<description><![CDATA[you can now test SQL Server 2008 new features through virtual labs on line in Business intelligence,]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p>you can now test SQL Server 2008 new features through virtual labs on line in Business intelligence, Data warehousing, OLTP and Application Deployments </p>
<p>believe me really useful</p>
<p><a title="http://www.microsoft.com/sqlserver/2008/en/us/virtual-labs.aspx" href="http://www.microsoft.com/sqlserver/2008/en/us/virtual-labs.aspx">http://www.microsoft.com/sqlserver/2008/en/us/virtual-labs.aspx</a></p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[SIEBEL ANALYTICS]]></title>
<link>http://crm1siebel.wordpress.com/2009/04/14/siebel-analytics/</link>
<pubDate>Tue, 14 Apr 2009 07:56:19 +0000</pubDate>
<dc:creator>crm1siebel</dc:creator>
<guid>http://crm1siebel.wordpress.com/2009/04/14/siebel-analytics/</guid>
<description><![CDATA[The term Analytics mean a branch of logic dealing with analysis. So one can safely assume that Siebe]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p class="MsoNormal" style="margin:0;"><span style="font-size:small;"><span style="font-family:Times New Roman;"><em>The term Analytics mean a branch of logic dealing with analysis.</em> So one can safely assume that <strong>Siebel Analytics</strong> means branch of Siebel dealing with Analysis. Siebel has always been <strong>transactional application</strong> and it is very difficult to do analysis of data that is residing in Siebel. Just to give<span> </span>an example of what it means.</span></span></p>
<p class="MsoNormal" style="margin:0;"> </p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:small;font-family:Times New Roman;">Suppose a sales manager wants to know that:<span> </span>How many opportunities in the last 6 months from a UK region for product X have a sales figure of<span> </span>over 5 million dollars?</span></p>
<p class="MsoNormal" style="margin:0;"> </p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:small;font-family:Times New Roman;">Now this is not a easy way to get this kind of data in Siebel easily and this is just very small requirement that a sales manager might have it can get very complex easily.</span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:small;font-family:Times New Roman;">This is where Siebel Analytics comes into picture. It is a wrapper over Siebel Application.</p>
<p></span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:small;"><span style="font-family:Times New Roman;"><strong>Siebel Analytics</strong> allow an enterprise to measure and evaluate business performance across customers. It helps in analyzing past, present and future opportunities with the help of <strong>Dashboard Reports </strong>to determine actions required to meet the sales targets. With the help of <strong>Dashboard reports</strong> one can determine which products and customers are generating most of the revenue.</p>
<p>For understanding <strong>Siebel Analytics</strong> in more depth one has to know the basic difference between <strong>OLAP</strong> and <strong>OLTP</strong>.</p>
<p><strong>OLTP</strong> stands for On Line Transaction Processing:<br />
<strong>OLAP</strong> stands for On Line Analytical Processing</span></span></p>
<p class="MsoNormal" style="margin:0;"> </p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:small;font-family:Times New Roman;">The data available at <strong>transaction side (Siebel Application) is OLTP</strong> and when that data is moved from transaction side for <strong>analyzing (Siebel Analytics)</strong> that becomes <strong>OLAP</strong> data.</span></p>
<p class="MsoNormal" style="margin:0;"> </p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:small;font-family:Times New Roman;">OLAP brings into picture the concept of <strong>Data warehouse</strong>.<strong>Data warehouse</strong> is a <strong>Relational /Multidimensional database</strong> that is designed for query and analysis rather for transaction processing. A data warehouse usually contains historical data that is derived from transaction data. By <strong>On Line Analytical Processing (OLAP)</strong> one can ‘Slice and dice’ the data. Sales and Marketing business owners will get all kinds of reports to improve the business. Example:- Compare the revenue between various time periods and predict the next quarters or next years revenue and sales information.</span></p>
<p class="MsoNormal" style="text-align:justify;margin:0;"> </p>
<p class="MsoNormal" style="text-align:justify;margin:0;"><span style="font-size:small;font-family:Times New Roman;">By OLAP, we mean these things:-</span></p>
<p class="MsoNormal" style="text-align:justify;margin:0;"><span style="font-size:small;font-family:Times New Roman;">1) Viewing data in a multidimensional way.</span></p>
<p class="MsoNormal" style="text-align:justify;margin:0;"><span style="font-size:small;font-family:Times New Roman;">2)”SLICE &#38; DICE” for data warehouse.</span></p>
<p class="MsoNormal" style="text-align:justify;margin:0;"><span style="font-size:small;font-family:Times New Roman;">3) OLAP is a multidimensional way of storing and viewing the data.</span></p>
<p class="MsoNormal" style="text-align:justify;margin:0;"> </p>
<p class="MsoNormal" style="margin:0 0 0 .25in;"><span style="font-size:small;"><span style="font-family:Times New Roman;"><strong>OLAP EXAMPLES</strong>:- 1) Amazon analyzes purchases by its customers to come up with an individual screen with products of likely interest to the customer.</span></span></p>
<p class="MsoNormal" style="margin:0 0 0 .25in;"><span style="font-size:small;"><span style="font-family:Times New Roman;">2.) Analysts at Wal-Mart look for items with increasing sales in some region.</span></span></p>
<p class="MsoNormal" style="margin:0 0 0 .25in;"><span style="font-size:small;"><span style="font-family:Times New Roman;">3.) Sales and Marketing department doing the trend analysis on certain product line with and without customer </span></span></p>
<p class="MsoNormal" style="margin:0 0 0 .25in;"><span style="font-size:small;"><span style="font-family:Times New Roman;">4.) ………. List goes on.</span></span></p>
<p class="MsoNormal" style="margin:0;">
<span style="font-size:small;font-family:Times New Roman;"><br />
Another important concept when we are talking about to Siebel Analytics is <strong>ETL</strong>.</span></p>
<p class="MsoNormal" style="margin:0;"><strong><span style="font-size:small;"><span style="font-family:Times New Roman;">ETL stands for Extract, Transform, and Load.</span></span></strong></p>
<p class="MsoNormal" style="margin:0;"> </p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:small;font-family:Times New Roman;">ETL is a concept that enables businesses to consolidate their disparate data while moving it from <strong>OLTP</strong> to <strong>OLAP</strong> and it doesn’t really matter that that data sources are in different forms or formats. The data can come from any source such as Oracle, SQL server, flat files, CSV etc.</p>
<p>One important function of ETL is “Cleansing” data. <strong>ETL </strong>consolidation protocols also include the elimination of duplicate or fragmentary data, so that what passes from the <em>‘E’ portion of the process to the ‘L’ portion</em> is easier to assimilate and/or store.</span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:small;font-family:Times New Roman;">Such cleansing operations can also include <em>eliminating certain kinds of data</em> from the process. If someone don’t want to include certain information, one can customize the <strong>ETL</strong> to eliminate that kind of information from his/her transformation. <em>The ‘T’ portion of the equation, of course, is the most powerful. ETL can transform data from different sources.</em></p>
<p>For Example: &#8211; Data in an Oracle CRM could be transformed right along with data from an SAP Marketing application, with the result being a common data from both the application.</span></p>
<p class="MsoNormal" style="margin:0;"> </p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:small;font-family:Times New Roman;">For more information, visit:- <a href="http://www.creativeprobers.com/">www.creativeprobers.com</a></span></p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Sistemas de soporte a la decisión IV]]></title>
<link>http://jummp.wordpress.com/2009/04/02/sistemas-de-soporte-a-la-decision-iv/</link>
<pubDate>Thu, 02 Apr 2009 16:20:20 +0000</pubDate>
<dc:creator>jummp</dc:creator>
<guid>http://jummp.wordpress.com/2009/04/02/sistemas-de-soporte-a-la-decision-iv/</guid>
<description><![CDATA[Un poco de teoría. No se recomienda la implementación de almacenes de datos corporativos (Datawareho]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p>Un poco de teoría.</p>
<p>No se recomienda la implementación de almacenes de datos corporativos (Datawarehouse) o almacenes sobre una problemática concreta del negocio de la organización (Datamarts) en el mismo sistema y/o espacio de los sistemas operaciones (OLTP: On-Line Transaction Processing), ya que requiere modelos de datos orientados a la consulta de la información (modelos en estrella o copo de nieve) y no se quiere interferir el funcionamiento de los sistemas transaccionales con la capacidad de proceso que requiere un proceso de ETL realizado sobre las tablas del operacional cada vez que se requiera una consulta o con la necesidad de proceso que se requiere para consultar la información si se está trabajando incluso con sistemas orientados a cubos.</p>
<p>Es decir, la teoría tradicional recomienda entornos distintos para los sistemas operacionales y para los sistemas orientados al soporte a la decisión, de manera que unos no influyan sobre los otros.</p>
<p>En los sistemas de soporte a la decisión, sobre todo aquellos orientados a los cuadros de mando y al análisis OLAP, la solución de modelado de datos se recomienda que esté orientada a modelos en estrella o copos de nieve, basados en la existencia de una o más tablas de hechos que muestran cada una de ellas un indicador a medir y las dimensiones, que no es otra cosa que los diferentes puntos de vista por los que se puede consultar un indicador, por ejemplo, punto de vista temporal, punto de vista geográfico, etc&#8230; Para sistemas orientados al reporting o al análisis puro y duro de la información es más recomendable otras soluciones, ya que en estos casos no resulta tan interesante la información agregada, siendo más importante tener la información en detalle.</p>
<p>Mi recomendación es que si se necesita una solución mixta, basada por un lado por cuadros de mando y análisis OLAP y por otro por reporting o análisis de la información, se implementen dos soluciones, una orientada a los modelos en estrella o modelos copo de nieve y otra basada en la desnormalización del modelo de datos operacional quedándonos solo con la información que se precisa o se prevé precisar para la confección de los listados o para la realización del análisis de la información.</p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[MQIT on CICS Birthday was 08 July 1969]]></title>
<link>http://w1.mqit.com/2009/03/11/mqit-on-cics-birthday-was-08-july-1969/</link>
<pubDate>Wed, 11 Mar 2009 05:27:54 +0000</pubDate>
<dc:creator>byronpojol</dc:creator>
<guid>http://w1.mqit.com/2009/03/11/mqit-on-cics-birthday-was-08-july-1969/</guid>
<description><![CDATA[I become an IT Consultant in 1995 as mainframe programmer / analyst and become an expert in CICS, Co]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p><a href="http://www.addthis.com/bookmark.php?pub=byronpojol" title="Bookmark and Share" target="_blank"><img src="http://s7.addthis.com/static/btn/lg-share-en.gif" width="125" height="16" alt="Bookmark and Share"></a><em></em><br />
 <em></em><br />
I become an IT Consultant in 1995 as mainframe programmer / analyst and become an expert in CICS, Cobol, and DB2 in no time. CICS is my first online transaction processing (OLTP) system (and then IMS is my second OLTP). Large number of financial, B2B, EDI, insurance transactions must have been processed by the programs I wrote and maintained and I am not surprise to know that they are still productive and efficient until now. Some of my projects involved Data Warehouse and Data Mart which are being processed by CICS and involved CICS integration with distributed systems, natively or through message-oriented middleware.</p>
<p>In 2003 and 2004, I have a chance to work with SOAP for CICS (which is still a CICS feature pack at this time) and with multiple projects of integrating CICS with web application and message-oriented middleware in distributed and mainframe systems. This is the renaissance of CICS being modernized with emerging technologies like SOAP, AXIS, etc. Also WebSphere HATS (Host Access Transformation Server) are enabling mainframe systems for web applications. This also the time when WebSphere is the transaction server of choice in distributed platform if not in mainframe platform.</p>
<p>Currently, I still consider CICS as my choice of OLTP and platform for large enterprise. WebSphere Application Server, WebSphere Message Broker, WebSphere MQ, WebSphere Process Server and other WebSphere products run on mainframe. Part of these software products, if not all, run as CICS applications in mainframe.</p>
<p>Trivia #1: Do you know that Hurlsley is the birthplace of WMQ and CICS?</p>
<p>Trivia #2: Do you know that VSE is the first Virtual Systems environment? (Not z series, p series or VMware)</p>
<p>Trivia #3: Do you know that CICS is the first application that sleep when not doing a tasks to improve processor performance?</p>
<p><strong>History</strong></p>
<p>IBM &#8220;Blue Letter&#8221; 269-44, dated July 8, 1969 announced the availability of the System/360 Customer Information Control System, Program Product 5736-U11, was &#8220;ready for shipment&#8221;.</p>
<p><strong>CICS is born</strong></p>
<p>In 1968, CICS became available as a free, Type II Application Program, with users in every industry category. Transamerica in Los Angeles, Northern Indiana Public Service Company (NIPSCO), Colorado Public Service of Colorado, United Airlines, and many others were early adopters of the software known as CICS. The other accounts which had begun to develop their own approach (Commonwealth Edison, ConEd, etc) continued with their proprietary software.</p>
<p>In 1969, IBM announced Program Products and CICS was no longer a free software offering. This did inhibit sales and customer acceptance. CICS enabled customers, in any industry, to quickly implement their online systems, most of which were inquiry only at that time.</p>
<p><strong>The VSE factor</strong></p>
<p>In 1971, the huge demand from smaller customers was heard and CICS for the Disk Operating System (precursor to VSE) was announced and delivered. There was the standard version of CICS/DOS but also a very small, entry level version called CICS/DOS Entry.</p>
<p>In 1972, the IBM 3270 was announced and delivered, and customers were ready to evolve from the hard copy terminals, such as the AT&#38;T Teletype and the IBM 1050 or 2740/41 to video display terminals. CICS was an early supporter of the new technology.</p>
<p><strong>CICS goes virtual</strong></p>
<p>Also in 1972, IBM announced the notion of &#8216;virtual systems&#8217; and a new operating systems would be introduced to support the new technology. Unlike the Primary Control Program (PCP), Multiprogramming with a Fixed number of Tasks (MFT) or Multiprogramming with a Variable number of Tasks (MVT) of the past, CICS was being asked to support the new VS environment.</p>
<p>In 1972-73, CICS moved quickly to support the new virtual system, for both the large MVS-class customer, but also for the smaller DOS/VS customer. By this time customers had made serious commitments to online systems, and a number of new technologies were added to CICS, including support for online update and recovery/restart. Support of new data management technology, such as DL/I was incorporated into both the MVS and DOS versions of CICS.</p>
<p>In the 1975-76 timeframe, IBM introduced VTAM and System Network Architecture, taking users from the previous, primitive support of BTAM into newer, more capable support of networking. CICS delivered its first support of VTAM/SNA in 1975/76.</p>
<p><strong>Command Level</strong></p>
<p>In 1977, CICS introduced its command level programming interface, a dramatic change in application programming which has had its positive effect to this day. Command level program isolates the application from its physical environment and has enabled customers to implement distributed systems (client/server).</p>
<p><strong>Multiple Region Operation</strong></p>
<p>In the 1978-1980 timeframe, CICS delivered its support for Multiple Region Operation (MRO) and Intersystem Communication (ISC), enabling the customer to easily distribute applications and data resources across multiple locations. This allowed customers to overcome the early storage limitations of virtual systems, and enabled the customer to have multiple, concurrent units of CICS-related work running on multiple machine processors (multi-processors).</p>
<p><strong>High availability</strong></p>
<p>The 1980s brought continued enhancements to CICS and more capability for the CICS customer. High availability was enhanced with the new XRF support, CICS was ported to new environments, such as the personal computer (CICS OS/2). More portability of CICS was offered with CICS running on UNIX machines, the AS/400 and non-IBM environments such as DEC or HP.</p>
<p><strong>the 1990’s we go parallel!</strong></p>
<p>CICS had evolved its distributed architecture beginning in the 1978-1980 timeframe. This has served it well and the needs of its users as well, with the advent of parallel systems in the 1990s. CICS, with its MRO architecture, fits extremely well, with the concepts and goals of parallel systems. Parallel systems users are motivated to have higher system thruput and/or higher system and application availability. CICS support of parallel systems supports these goals. Work can be distributed across any number of MVS regions or systems within a sysplex, and applications can be cloned and data can be shared, such that if any single component becomes unavailable, its work can be carried out by the other system.</p>
<p><strong>The Internet</strong></p>
<p>In addition to CICS&#8217; support of parallel systems, the product was quick to provide support of the Internet. Beginning with the CICS Internet Gateway and the [[CICS Gateway for Java]], CICS has since evolved its support to now offer multiple ways for the user to web enable his applications. A web browser can access CICS directly or through an outboard server such as AIX or Windows NT, or via the operating system&#8217;s web server. The CICS Transaction Gateway can be used either on an outboard server or in its own address space on MVS.</p>
<p><strong>Java</strong></p>
<p>Business applications, written in Java to work with CICS applications and data resources, can execute as applets on a desktop web browser, on an outboard server as a servlet, in a CICS Transaction Gateway region as a servlet, or even within the CICS address space. IBM&#8217;s WebSphere Application Servers can be used as front-ends to CICS. CICS is very much on the forefront of e-commerce and e-business.</p>
<p><strong>Open Transaction Environment</strong></p>
<p>In version 3.2 (2007) IBM enhanced the CICS-MQ interface to support the OTE environment. Also the IBM TCP/IP interface EZACIC01 support the OTE environment starting with z/OS R7 as well.</p>
<p><strong>SOA</strong></p>
<p>In addition to CICS&#8217;s comprehensive support for Java and the Internet, the most recent releases of CICS now offer support for new environments through the use of [[Service Oriented Architecture]] (SOA). The goal of SOA is to enable applications, residing anywhere, can access other applications, with security understood and have the results of the called application returned to the requester. Reusability of existing applications is a major benefit of SOA, meaning applications and their services can be implemented on any system, not just the system of the requesting application.</p>
<p>CICS has increased its interoperability with IBM&#8217;s Websphere Application Server (WAS) and Enterprise Java Beans (Java applications). A CICS EJB can invoke an EJB executing in a WAS environment and vice versa. CICS&#8217;s Transaction Gateway is now the strategic interface for CICS applications to invoke WebSphere applications located in other operating systems environments (images).</p>
<p><strong>XPLINK</strong></p>
<p>Starting with version 3.1 (2006) IBM introduce an new X8/X9 TCB like the L8/L9 TCB for DB2 in order to support a C/C++ XPLINK enviroment.<br />
Of course where are other new TCBs with CTS 3.1</p>
<p><strong>the 2007 we go 64-bit!</strong></p>
<p>Starting with CTS 3.2 (2007) we got 64bit support for CHANNELS/CONTAINER. A new feature is also Dynamic DFHRPL.</p>
<p>Source of history: <a href="http://cicswiki.org/cicswiki1/index.php?title=History" target="_blank">History &#8211; CICS Wiki</a><br />
<em></em></p>
<table border="0" align="right">
<tbody>
<tr>
<td>
<a href="http://www.addthis.com/bookmark.php?pub=byronpojol" title="Bookmark and Share" target="_blank"><img src="http://s7.addthis.com/static/btn/lg-share-en.gif" width="125" height="16" alt="Bookmark and Share"></a>
</td>
</tr>
</tbody>
</table>
<p><em></em><br />
<em></em></p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[MQIT on CICS Birthday was 08 July 1969]]></title>
<link>http://w9.mqit.com/2009/03/11/mqit-on-cics-birthday-was-08-july-1969/</link>
<pubDate>Wed, 11 Mar 2009 05:27:54 +0000</pubDate>
<dc:creator>byronpojol</dc:creator>
<guid>http://w9.mqit.com/2009/03/11/mqit-on-cics-birthday-was-08-july-1969/</guid>
<description><![CDATA[I become an IT Consultant in 1995 as mainframe programmer / analyst and become an expert in CICS, Co]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p>I become an IT Consultant in 1995 as mainframe programmer / analyst and become an expert in CICS, Cobol, and DB2 in no time. CICS is my first online transaction processing (OLTP) system (and then IMS is my second OLTP). Large number of financial, B2B, EDI, insurance transactions must have been processed by the programs I wrote and maintained and I am not surprise to know that they are still productive and efficient until now. Some of my projects involved Data Warehouse and Data Mart which are being processed by CICS and involved CICS integration with distributed systems, natively or through message-oriented middleware.</p>
<p>In 2003 and 2004, I have a chance to work with SOAP for CICS (which is still a CICS feature pack at this time) and with multiple projects of integrating CICS with web application and message-oriented middleware in distributed and mainframe systems. This is the renaissance of CICS being modernized with emerging technologies like SOAP, AXIS, etc. Also WebSphere HATS (Host Access Transformation Server) are enabling mainframe systems for web applications. This also the time when WebSphere is the transaction server of choice in distributed platform if not in mainframe platform.</p>
<p>Currently, I still consider CICS as my choice of OLTP and platform for large enterprise. WebSphere Application Server, WebSphere Message Broker, WebSphere MQ, WebSphere Process Server and other WebSphere products run on mainframe. Part of these software products, if not all, run as CICS applications in mainframe.</p>
<p>Trivia #1: Do you know that Hurlsley is the birthplace of WMQ and CICS?</p>
<p>Trivia #2: Do you know that VSE is the first Virtual Systems environment? (Not z series, p series or VMware)</p>
<p>Trivia #3: Do you know that CICS is the first application that sleep when not doing a tasks to improve processor performance?</p>
<p><strong>History</strong></p>
<p>IBM &#8220;Blue Letter&#8221; 269-44, dated July 8, 1969 announced the availability of the System/360 Customer Information Control System, Program Product 5736-U11, was &#8220;ready for shipment&#8221;.</p>
<p><strong>CICS is born</strong></p>
<p>In 1968, CICS became available as a free, Type II Application Program, with users in every industry category. Transamerica in Los Angeles, Northern Indiana Public Service Company (NIPSCO), Colorado Public Service of Colorado, United Airlines, and many others were early adopters of the software known as CICS. The other accounts which had begun to develop their own approach (Commonwealth Edison, ConEd, etc) continued with their proprietary software.</p>
<p>In 1969, IBM announced Program Products and CICS was no longer a free software offering. This did inhibit sales and customer acceptance. CICS enabled customers, in any industry, to quickly implement their online systems, most of which were inquiry only at that time.</p>
<p><strong>The VSE factor</strong></p>
<p>In 1971, the huge demand from smaller customers was heard and CICS for the Disk Operating System (precursor to VSE) was announced and delivered. There was the standard version of CICS/DOS but also a very small, entry level version called CICS/DOS Entry.</p>
<p>In 1972, the IBM 3270 was announced and delivered, and customers were ready to evolve from the hard copy terminals, such as the AT&#38;T Teletype and the IBM 1050 or 2740/41 to video display terminals. CICS was an early supporter of the new technology.</p>
<p><strong>CICS goes virtual</strong></p>
<p>Also in 1972, IBM announced the notion of &#8216;virtual systems&#8217; and a new operating systems would be introduced to support the new technology. Unlike the Primary Control Program (PCP), Multiprogramming with a Fixed number of Tasks (MFT) or Multiprogramming with a Variable number of Tasks (MVT) of the past, CICS was being asked to support the new VS environment.</p>
<p>In 1972-73, CICS moved quickly to support the new virtual system, for both the large MVS-class customer, but also for the smaller DOS/VS customer. By this time customers had made serious commitments to online systems, and a number of new technologies were added to CICS, including support for online update and recovery/restart. Support of new data management technology, such as DL/I was incorporated into both the MVS and DOS versions of CICS.</p>
<p>In the 1975-76 timeframe, IBM introduced VTAM and System Network Architecture, taking users from the previous, primitive support of BTAM into newer, more capable support of networking. CICS delivered its first support of VTAM/SNA in 1975/76.</p>
<p><strong>Command Level</strong></p>
<p>In 1977, CICS introduced its command level programming interface, a dramatic change in application programming which has had its positive effect to this day. Command level program isolates the application from its physical environment and has enabled customers to implement distributed systems (client/server).</p>
<p><strong>Multiple Region Operation</strong></p>
<p>In the 1978-1980 timeframe, CICS delivered its support for Multiple Region Operation (MRO) and Intersystem Communication (ISC), enabling the customer to easily distribute applications and data resources across multiple locations. This allowed customers to overcome the early storage limitations of virtual systems, and enabled the customer to have multiple, concurrent units of CICS-related work running on multiple machine processors (multi-processors).</p>
<p><strong>High availability</strong></p>
<p>The 1980s brought continued enhancements to CICS and more capability for the CICS customer. High availability was enhanced with the new XRF support, CICS was ported to new environments, such as the personal computer (CICS OS/2). More portability of CICS was offered with CICS running on UNIX machines, the AS/400 and non-IBM environments such as DEC or HP.</p>
<p><strong>the 1990’s we go parallel!</strong></p>
<p>CICS had evolved its distributed architecture beginning in the 1978-1980 timeframe. This has served it well and the needs of its users as well, with the advent of parallel systems in the 1990s. CICS, with its MRO architecture, fits extremely well, with the concepts and goals of parallel systems. Parallel systems users are motivated to have higher system thruput and/or higher system and application availability. CICS support of parallel systems supports these goals. Work can be distributed across any number of MVS regions or systems within a sysplex, and applications can be cloned and data can be shared, such that if any single component becomes unavailable, its work can be carried out by the other system.</p>
<p><strong>The Internet</strong></p>
<p>In addition to CICS&#8217; support of parallel systems, the product was quick to provide support of the Internet. Beginning with the CICS Internet Gateway and the [[CICS Gateway for Java]], CICS has since evolved its support to now offer multiple ways for the user to web enable his applications. A web browser can access CICS directly or through an outboard server such as AIX or Windows NT, or via the operating system&#8217;s web server. The CICS Transaction Gateway can be used either on an outboard server or in its own address space on MVS.</p>
<p><strong>Java</strong></p>
<p>Business applications, written in Java to work with CICS applications and data resources, can execute as applets on a desktop web browser, on an outboard server as a servlet, in a CICS Transaction Gateway region as a servlet, or even within the CICS address space. IBM&#8217;s WebSphere Application Servers can be used as front-ends to CICS. CICS is very much on the forefront of e-commerce and e-business.</p>
<p><strong>Open Transaction Environment</strong></p>
<p>In version 3.2 (2007) IBM enhanced the CICS-MQ interface to support the OTE environment. Also the IBM TCP/IP interface EZACIC01 support the OTE environment starting with z/OS R7 as well.</p>
<p><strong>SOA</strong></p>
<p>In addition to CICS&#8217;s comprehensive support for Java and the Internet, the most recent releases of CICS now offer support for new environments through the use of [[Service Oriented Architecture]] (SOA). The goal of SOA is to enable applications, residing anywhere, can access other applications, with security understood and have the results of the called application returned to the requester. Reusability of existing applications is a major benefit of SOA, meaning applications and their services can be implemented on any system, not just the system of the requesting application.</p>
<p>CICS has increased its interoperability with IBM&#8217;s Websphere Application Server (WAS) and Enterprise Java Beans (Java applications). A CICS EJB can invoke an EJB executing in a WAS environment and vice versa. CICS&#8217;s Transaction Gateway is now the strategic interface for CICS applications to invoke WebSphere applications located in other operating systems environments (images).</p>
<p><strong>XPLINK</strong></p>
<p>Starting with version 3.1 (2006) IBM introduce an new X8/X9 TCB like the L8/L9 TCB for DB2 in order to support a C/C++ XPLINK enviroment.<br />
Of course where are other new TCBs with CTS 3.1</p>
<p><strong>the 2007 we go 64-bit!</strong></p>
<p>Starting with CTS 3.2 (2007) we got 64bit support for CHANNELS/CONTAINER. A new feature is also Dynamic DFHRPL.</p>
<p>Source of history: <a href="http://cicswiki.org/cicswiki1/index.php?title=History" target="_blank">History &#8211; CICS Wiki</a></p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[The Basics: OLTP and OLAP]]></title>
<link>http://analytiks.wordpress.com/2009/02/26/the-basics-oltp-and-olap/</link>
<pubDate>Thu, 26 Feb 2009 09:34:21 +0000</pubDate>
<dc:creator>Shehzad</dc:creator>
<guid>http://analytiks.wordpress.com/2009/02/26/the-basics-oltp-and-olap/</guid>
<description><![CDATA[People are still confused when it comes to attributing what constitutes an OLTP or an OLAP system. T]]></description>
<content:encoded><![CDATA[People are still confused when it comes to attributing what constitutes an OLTP or an OLAP system. T]]></content:encoded>
</item>
<item>
<title><![CDATA[OLTP  (online transaction preocessing) vs. BI (business intelligence)]]></title>
<link>http://katalyn.wordpress.com/2009/01/27/oltp-online-transaction-preocessing-vs-bi-business-intelligence/</link>
<pubDate>Tue, 27 Jan 2009 10:37:14 +0000</pubDate>
<dc:creator>Catalin Dumitru</dc:creator>
<guid>http://katalyn.wordpress.com/2009/01/27/oltp-online-transaction-preocessing-vs-bi-business-intelligence/</guid>
<description><![CDATA[De la inceput, sistemele relationale de baze de date au fost utilizate pentru a stoca informatii pri]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p class="MsoNormal" style="text-align:justify;margin:0 0 10pt;"><span lang="RO"><span style="font-size:small;"><span style="font-family:Calibri;">De la inceput, sistemele relationale de baze de date au fost utilizate pentru a stoca informatii primare pentru afacere precum comenzile sau facturile utilizand procesarea bazata pe tranzactii. Aceasta orientare pe datele afacerii are avantaje si dezavantaje. Un avantaj este acela ca performanta scazuta a primelor sisteme relationale de baze de date s-a imbunatatit substantial astfel incat, in zilele noastre, multe sisteme relationale de baze de date pot executa zeci de tranzactii pe secunda (bineinteles daca si componentele hardware permit acest lucru). Pe de alta parte, orientarea spre afaceri a sistemelor tranzactionale au prevenit aparitia altor sisteme naturale de baze de date pentru a se analiza si a umple nevoia de informatii din datele existente intro companie sau department.</span></span></span></p>
<p class="MsoNormal" style="margin:0 0 10pt;"><strong><span lang="RO"><span style="font-size:small;"><span style="font-family:Calibri;">OLTP (online transaction processing)</span></span></span></strong></p>
<p class="MsoNormal" style="text-align:justify;margin:0 0 10pt;"><span lang="RO"><span style="font-size:small;"><span style="font-family:Calibri;">Dupa cum am spus deja, performanta este principala problema a sistemelor bazate pe procesarea tranzactionala. Un exemplu tipic al aplicarii acestor sisteme este retragerea de fonduri de la un bancomat (ATM). Catva dintre principalele proprietati ale sistemelor OLTP sunt:</span></span></span></p>
<p class="MsoListParagraphCxSpFirst" style="text-indent:-.25in;margin:0 0 0 .5in;"><span lang="RO"><span><span style="font-size:small;font-family:Calibri;">1.</span><span style="font:7pt &#34;">       </span></span></span><span lang="RO"><span style="font-size:small;"><span style="font-family:Calibri;">Tranzactii scurte</span></span></span></p>
<p class="MsoListParagraphCxSpMiddle" style="text-indent:-.25in;margin:0 0 0 .5in;"><span lang="RO"><span><span style="font-size:small;font-family:Calibri;">2.</span><span style="font:7pt &#34;">       </span></span></span><span lang="RO"><span style="font-size:small;"><span style="font-family:Calibri;">Multi utilizatori (sute sau chiar mii)</span></span></span></p>
<p class="MsoListParagraphCxSpMiddle" style="text-indent:-.25in;margin:0 0 0 .5in;"><span lang="RO"><span><span style="font-size:small;font-family:Calibri;">3.</span><span style="font:7pt &#34;">       </span></span></span><span lang="RO"><span style="font-size:small;"><span style="font-family:Calibri;">Operatii continue de citire si scriere bazate pe un numar redus de randuri</span></span></span></p>
<p class="MsoListParagraphCxSpLast" style="text-indent:-.25in;margin:0 0 10pt .5in;"><span lang="RO"><span><span style="font-size:small;font-family:Calibri;">4.</span><span style="font:7pt &#34;">       </span></span></span><span lang="RO"><span style="font-size:small;"><span style="font-family:Calibri;">Date de dimensiuni medii sunt stocate in baza de date</span></span></span></p>
<p class="MsoNormal" style="text-align:justify;margin:0 0 10pt;"><span lang="RO"><span style="font-size:small;"><span style="font-family:Calibri;">Performanta bazelor de date va creste daca tranzactiile sunt scurte. Motivul este acela ca tranzactiile folosesc lock-uri pentru a preveni posibilul efect negativ<span>  </span>al problemelor de acces concurential. Daca tranzactiile sunt lungi, numarul de lock-uri si durata lor cresc, scazand performanta accesului la date si a performantei pentru alte tranzactii.</span></span></span></p>
<p class="MsoNormal" style="text-align:justify;margin:0 0 10pt;"><span lang="RO"><span style="font-size:small;"><span style="font-family:Calibri;">Sistemele OLTP mari au ,de obicei, multi utilizatori care acceseaza sistemul simultan. Un exemplu tipic este cel al unui sistem de rezervare a biletelor pentru o companie aeriana, care trebuie sa proceseze zeci de cereri ,aproape imediat, pentru bilete de calatorie intro tara sau pe intreg cuprinsul planetei. In acest tip de sistem, utilizatorii isi doresc ca asteptarile lor legate de timp sa fie satisfacute – sistemul sa raspunda cat mai repede si sa fie disponibil 24 de ore pe zi timp de 7 zile pe saptamana.</span></span></span></p>
<p class="MsoNormal" style="text-align:justify;margin:0 0 10pt;"><span lang="RO"><span style="font-size:small;"><span style="font-family:Calibri;">Utilizatorii sitemelor OLTP executa instructiuni DML (data manipulation language) in mod continu realizand operatii de citire si scriere in acelasi timp. Pentru ca datele unui asemenea sistem se schimba des se poate spune ca sistemul este foarte dinamic. In mod normal, aceste operatii (sau rezultatul lor) implica o cantitate mica de date, altfel, daca sistemul aceseaza multe randuri va fi nevoie sa fie accesate una sau mai multe tabele din baza de date (ceea ce poate produce lock-uri conducand spre scaderea performantelor).</span></span></span></p>
<p class="MsoNormal" style="text-align:justify;margin:0 0 10pt;"><span lang="RO"><span style="font-size:small;"><span style="font-family:Calibri;">In utlimii ani, cantitatea de date stocate intro baza de date operationala (baza de date gestionata de un sistem OLTP) a crescut rapid. Astazi, multe baze de date pot stoca pana la cateva zeci sau chiar sute de GB de date. Si dupa cum vom vedea, aceasta cantitate este mica in comparatie cu depozitele de date (data warehouse).</span></span></span></p>
<p class="MsoNormal" style="margin:0 0 10pt;"><strong><span lang="RO"><span style="font-size:small;"><span style="font-family:Calibri;">Sistemele de Inteligenta Artificiala (business inteligence)</span></span></span></strong></p>
<p class="MsoNormal" style="text-align:justify;margin:0 0 10pt;"><span lang="RO"><span style="font-size:small;"><span style="font-family:Calibri;">Inteligenta artificiala (BI – business inteligence) este procesul de integrare a cantitatilor uriase de date intrun singur spatiu de stocare in care utilizatorii sa poata rula interogari si rapoarte pentru a analiza datele existente. Cu alte cuvinte, scopul BI este de a pastra datele care pot fi accesate de utilizatorii care iau decizii pe baza analizelor. Aceste sisteme sunt adesea numite analitice sau informative, pentru ca accesand datele, utilizatorii pot obtine informatii pe baza carora pot lua decizii mai bune.</span></span></span></p>
<p class="MsoNormal" style="text-align:justify;margin:0 0 10pt;"><span lang="RO"><span style="font-size:small;"><span style="font-family:Calibri;">Scopul sistemelor BI este diferit de scopul sistemelor OLTP. Spre exemplu urmatoarea intrebare este o interogare pentru sistemele<span>  </span>BI: „Care este cea mai bine vanduta categorie de produse pentru fiecare regiune in semestrul al 3-lea din anul 2008 ?”. De aceea, un sistem BI are proprietati diferite fata de cele listate la sistemele OLTP (prezentate mai sus). Cateva dintre cele mai importante proprietati ale sistemelor BI sunt urmatoarele:</span></span></span></p>
<p class="MsoListParagraphCxSpFirst" style="text-indent:-.25in;margin:0 0 0 .5in;"><span lang="RO"><span><span style="font-size:small;font-family:Calibri;">1.</span><span style="font:7pt &#34;">       </span></span></span><span lang="RO"><span style="font-size:small;"><span style="font-family:Calibri;">Operatiunile de incarcare (load) se bazeaza pe un numar mare de randuri</span></span></span></p>
<p class="MsoListParagraphCxSpMiddle" style="text-indent:-.25in;margin:0 0 0 .5in;"><span lang="RO"><span><span style="font-size:small;font-family:Calibri;">2.</span><span style="font:7pt &#34;">       </span></span></span><span lang="RO"><span style="font-size:small;"><span style="font-family:Calibri;">Numar mic de utilizatori</span></span></span></p>
<p class="MsoListParagraphCxSpLast" style="text-indent:-.25in;margin:0 0 10pt .5in;"><span lang="RO"><span><span style="font-size:small;font-family:Calibri;">3.</span><span style="font:7pt &#34;">       </span></span></span><span lang="RO"><span style="font-size:small;"><span style="font-family:Calibri;">Cantitati mari de date sunt stocate in baza de date</span></span></span></p>
<p class="MsoNormal" style="text-align:justify;margin:0 0 10pt;"><span lang="RO"><span style="font-size:small;"><span style="font-family:Calibri;">In afara de incarcarea cu date realizata la intervale regulate (de obicei, zilnic), sistemele BI sunt de obicei, sisteme deschise doar pentru citire (de aceea natura natura datelor intrun asemenea sistem este statica). Datele sunt aduse din surse diferite, curatate (se asigura consistenta) si incarcate intro baza de date numita depozit de date (data warehouse sau data mart). Datele curatate raman, de obicei, nemodificate dar ele pot fi modificate dupa procesul de curatare si inainte de incarcare. Pentru ca sistemele BI sunt utilizate pentru a obtine informatii, numarul utilizatorilor simultani este foarte mic in comparatie cu numarul utilizatorilor care acceseaza simultan un sistem OLTP. De obicei, utilizatorii unui sistem BI genereaza rapoarte care afiseaza diferiti indicatori cu privire la starea financiara a unei intreprinderi (sau departament), sau executa interogari complexe pentru a compara datele.</span></span></span></p>
<p class="MsoNormal" style="text-align:justify;margin:0 0 10pt;"><span lang="RO"><span style="font-size:small;"><span style="font-family:Calibri;">O alta deosebire intre sistemele OLAP si BI este aceea legata de disponibilitate, in timp ce un sistem OLTP poate fi accesat non – stop, un sistem BI poate fi accesat numai dupa ce acesta este incarcat cu date.</span></span></span></p>
<p class="MsoNormal" style="text-align:justify;margin:0 0 10pt;"><span lang="RO"><span style="font-size:small;"><span style="font-family:Calibri;">In timp ce un sistem OLTP stocheaza numai datele curente, un sistem BI trebuie sa tina cont si de modificarile istorice (spuneam mai devreme ca un sistem BI realizeaza comparatii intre date, ei bine acest lucru se poate realiza pe perioade diferite de timp). Din acest motiv, cantitatea de date stocata intr-un depozit de date este foarte mare.</span></span></span></p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[CHE COSA SONO I DATAWAREHOUSE?? E COSA LI DIFFERENZIA DAI SISTEMI OLTP??]]></title>
<link>http://robedeg.wordpress.com/2008/12/10/che-cosa-sono-i-datawarehouse-e-cosa-li-differenzia-dai-sistemi-oltp/</link>
<pubDate>Wed, 10 Dec 2008 12:42:48 +0000</pubDate>
<dc:creator>Roberto</dc:creator>
<guid>http://robedeg.wordpress.com/2008/12/10/che-cosa-sono-i-datawarehouse-e-cosa-li-differenzia-dai-sistemi-oltp/</guid>
<description><![CDATA[Chissà quanti di voi si saranno posti questa domanda, vero?? Bene, cercherò di colmare le vostre lac]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p>Chissà quanti di voi si saranno posti questa domanda, vero?? Bene, cercherò di colmare le vostre lacune con questo post. Quindi mettetevi comodi davanti al vostro pc e leggete tutto con la massima attenzione in modo tale da non perdere nessun passaggio fondamentale.</p>
<p><img class="alignright size-full wp-image-193" title="al_computer" src="http://robedeg.wordpress.com/files/2008/12/al_computer.jpg" alt="al_computer" width="243" height="175" /></p>
<p>Innanzitutto partiamo dal definire cos&#8217;è un <strong>Data warehouse. </strong>Esso è un archivio informatico contenente i dati di un&#8217;organizzazione. I DW sono progettati per consentire di produrre facilmente relazioni ed analisi.</p>
<p>Vengono considerati componenti essenziali di un sistema Data warehouse anche gli strumenti per localizzare i dati, per estrarli, trasformarli e caricarli, come pure gli strumenti per gestire un dizionario dei dati.</p>
<p>L&#8217;integrazione dei dati costituisce la principale caratteristica distintiva del DW rispetto ad altri sistemi di supporto alle decisioni. La raccolta dei dati deve essere: integrata, orientata al soggetto, variabile nel tempo e non volatile.</p>
<p>Esso si differenzia in modo sostanziale dai normali sistemi gestionali che, al contrario, hanno il compito di automatizzare le operazioni di <em>routine</em>.</p>
<p>Inoltre i  DW sono basi informative costruite per fornire informazioni aggregate e organizzate per aree tematiche. Le banche dati interattive sono applicazioni <strong>OLAP</strong> (On Line Analytical Processing) per l&#8217;analisi dei dati via Internet, basate su Data Warehouse costruiti a partire da archivi di diverse fonti e formati.<br />
I prodotti consentono di interagire dinamicamente con le banche dati per ottenere report multidimensionali visualizzabili sia in forma tabellare che grafica (barre, torte, mappe territoriali) ed esportabili in Excel.<br />
Le variabili disponibili e il dettaglio raggiungibile sono legati a differenti profili di utenza (utente anonimo, istituzionale con ambito nazionale/regionale/comunale).</p>
<p>A differenza delle analisi con tecnologia OLAP ,<strong> </strong>la tecnologia <strong>OLTP </strong>non prevede la creazione di banche dati separate, infatti le analisi vengono effettuate direttamente sui dati di esercizio. Questa soluzione permette di avere i dati sempre aggiornati ed evita fasi intermedie di trasformazione dei dati, tuttavia per la sua stessa natura non è facilmente applicabile in situazioni dove la quantità di dati da analizzare sia molto elevata ed in questi casi viene generalmente preferito l&#8217;utilizzo di analisi di tipo OLAP.</p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[COSA SONO I DATA WAREHOUSE E COSA LI DIFFERENZIA DAI SISTEMI OLTP]]></title>
<link>http://beposax.wordpress.com/2008/12/07/cosa-sono-i-datawarehouse-e-cosa-li-differenzia-dai-sistemi-oltp/</link>
<pubDate>Sat, 06 Dec 2008 23:19:39 +0000</pubDate>
<dc:creator>Giuseppe</dc:creator>
<guid>http://beposax.wordpress.com/2008/12/07/cosa-sono-i-datawarehouse-e-cosa-li-differenzia-dai-sistemi-oltp/</guid>
<description><![CDATA[Un Datawarehouse è un archivio informatico contenente i dati di un&#8217;organizzazione. Sono proget]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p><img class="alignleft size-medium wp-image-142" title="datawarehouse-pharmamarketing" src="http://beposax.wordpress.com/files/2008/12/datawarehouse-pharmamarketing.jpg?w=300" alt="datawarehouse-pharmamarketing" width="300" height="234" />Un <strong>Datawarehouse </strong>è un archivio informatico contenente i dati di un&#8217;organizzazione. Sono progettati per consentire di produrre facilmente relazioni ed analisi.<br />
Vengono considerati DW anche gli strumenti per localizzare, estrarre, trasformare, gestire e caricare i dati. Requisiti fondamentali di un DW sono: l&#8217; integrazione dei dati raccolti, l&#8217;orientamento al soggetto (temi aziendali specifici piuttosto che applicazioni o funzioni), variabilità nel tempo, non volatilità dei dati.</p>
<p>I sistemi di datawarehouse sono <strong>OLAP </strong>(On Line Analytical Processing) e la struttura dati OLAP  è costituita da poche tabelle non normalizzate. I sistemi <strong>OLTP</strong>, invece, sono On Line Transaction Processing e si differenziano dai sistemi OLAP per diverse caratteristiche:</p>
<p><strong>Accuratezza:</strong><span style="text-decoration:underline;"><br />
</span></p>
<ul>
<li><span style="text-decoration:underline;">OLTP</span> sul dettaglio</li>
<li><span style="text-decoration:underline;">OLAP</span> sul consolidato</li>
</ul>
<p><strong>Copertura:<br />
</strong></p>
<ul>
<li><span style="text-decoration:underline;">OLTP</span> funzionale</li>
<li><span style="text-decoration:underline;">OLAP</span> Integrata</li>
</ul>
<p><strong>Ampiezza temporale/aggiornamento</strong>:</p>
<ul>
<li><span style="text-decoration:underline;">OLTP</span> limitata, immediato</li>
<li><span style="text-decoration:underline;">OLAP</span> vasta (giorni o settimane)</li>
</ul>
<p><strong>Granularità</strong>:</p>
<ul>
<li><span style="text-decoration:underline;">OLTP</span> dettagli</li>
<li><span style="text-decoration:underline;">OLAP</span> dettagli e aggregati</li>
</ul>
<p><strong>Query ad hoc</strong>:</p>
<ul>
<li><span style="text-decoration:underline;">OLTP</span> rare</li>
<li><span style="text-decoration:underline;">OLAP</span> frequenti</li>
</ul>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[MULTIDIMENTIONAL CUBE, SLICE &amp; DICE, ROLL UP, DRILL DOWN, FILTERING]]></title>
<link>http://simonca.wordpress.com/2008/11/14/multidimentional-cube-slice-dice-roll-up-drill-down-filtering/</link>
<pubDate>Fri, 14 Nov 2008 12:04:19 +0000</pubDate>
<dc:creator>Simone</dc:creator>
<guid>http://simonca.wordpress.com/2008/11/14/multidimentional-cube-slice-dice-roll-up-drill-down-filtering/</guid>
<description><![CDATA[L’ On-Line Analytical Proccessing (OLAP) è  l&#8217;analisi di grandi quantità di dati organizzati i]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p style="background:white;margin-bottom:0;"><span style="font-size:14pt;color:black;font-family:Garamond;"><a href="http://simonca.files.wordpress.com/2008/11/img_itcubeweb_cubo.gif"><span style="color:#000000;"><img class="alignleft size-full wp-image-325" title="ultimo1" src="http://simonca.wordpress.com/files/2008/11/ultimo1.jpeg" alt="ultimo1" width="121" height="110" /></span></a><span style="color:#000000;">L’ On-Line Analytical Proccessing (OLAP) è  l&#8217;analisi di grandi quantità di dati organizzati in modo denormalizzato in tabelle &#8220;dimensionali&#8221; (<em>dimension tables</em>) e &#8220;fatti&#8221; (<em>fact tables</em>). </span></span></p>
<p style="background:white;margin-bottom:0;"><span style="font-size:14pt;font-family:Garamond;"><span style="color:#000000;">Una struttura OLAP creata per questo scopo è chiamata &#8220;cubo&#8221; multidimensionale, in cui la tabella dei &#8220;fatti&#8221; elenca i principali elementi su cui sarà costruita l&#8217;interrogazione, collegate a questa tabella vi sono le tabelle delle &#8220;dimensioni&#8221; che specificano come i dati saranno aggregati. La tabella dei fatti racchiude dati generalmente in forma numerica (quantità, vendite, guadagni, perdite…) che vengono aggregati tramite funzioni (somma, media…) in base alle dimensioni specificate.</span></span></p>
<p style="background:white;margin-bottom:0;"><span style="font-size:14pt;font-family:Garamond;"><span style="color:#000000;">Le funzioni di base di questo strumento sono:</span></span></p>
<ul type="disc">
<li class="MsoNormal"><span style="color:#000000;"><strong><span style="font-size:14pt;font-family:Garamond;">Slicing</span></strong><strong><span style="font-size:14pt;font-family:Garamond;">:</span></strong><span style="font-size:14pt;font-family:Garamond;"> è l&#8217;operazione di rotazione delle dimensioni di analisi. È un&#8217;operazione fondamentale per analizzare totali ottenuti in base a dimensioni diverse o se si vogliono analizzare aggregazioni trasversali; </span></span></li>
<li class="MsoNormal"><span style="color:#000000;"><strong><span style="font-size:14pt;font-family:Garamond;">Dicing</span></strong><strong><span style="font-size:14pt;font-family:Garamond;">:</span></strong><span style="font-size:14pt;font-family:Garamond;"> è l&#8217;operazione di <em>estrazione</em> di un subset di informazioni dall&#8217;aggregato che si sta analizzando. L&#8217;operazione di dicing viene eseguita quando l&#8217;analisi viene focalizzata su una ‘fetta del cubo’ avente particolare interesse per l&#8217;analista. In alcuni casi l&#8217;operazione di dicing può essere ‘fisica’ nel senso che non consiste solo nel filtrare le informazioni di interesse ma anche nell&#8217;estrarle dall&#8217;aggregato generale per distribuirne i contenuti</span></span></li>
</ul>
<p style="background:white;text-indent:-18pt;margin:5pt 0 0 36pt;"><span style="color:#000000;"><span style="font-size:10pt;font-family:Symbol;">·<span style="font:7pt &#34;"> </span></span><strong><span style="font-size:14pt;font-family:Garamond;">roll-up: </span></strong><span style="font-size:14pt;font-family:Garamond;">strumento di aggregazione dei dati, può accorpare due dimensioni di uno stesso cubo</span></span></p>
<p style="background:white;text-indent:-18pt;margin:5pt 0 0 36pt;"><span style="color:#000000;"><span style="font-size:10pt;font-family:Symbol;">·<span style="font:7pt &#34;"> </span></span><strong><span style="font-size:14pt;font-family:Garamond;">drill down:</span></strong><span style="font-size:14pt;font-family:Garamond;"> strumento di disaggregazione dei dati, attraverso l’ esplosione del dato nelle sue determinanti</span></span></p>
<p style="background:white;text-indent:-18pt;margin:5pt 0 0 36pt;"><span style="color:#000000;"><span style="font-size:10pt;font-family:Symbol;">·<span style="font:7pt &#34;"> </span></span><strong><span style="font-size:14pt;font-family:Garamond;">filtering</span></strong><span style="font-size:14pt;font-family:Garamond;">: consente di selezionare i dati che ci interessano su ogni dimensione</span></span></p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Database Management - Module Wrap-up]]></title>
<link>http://it150.wordpress.com/2008/10/18/database-management-module-wrap-up/</link>
<pubDate>Sat, 18 Oct 2008 15:43:49 +0000</pubDate>
<dc:creator>Rachel Chung</dc:creator>
<guid>http://it150.wordpress.com/2008/10/18/database-management-module-wrap-up/</guid>
<description><![CDATA[Good morning everyone! We are getting ready to wrap up the module on database management. As you are]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p>Good morning everyone!</p>
<p>We are getting ready to wrap up the module on database management. As you are probably aware by now, relational databases underlie most of the modern information systems. Ecommerce websites, hospitals and college admissions offices would be in big trouble if their databases are not working properly.<!--more--></p>
<p>On the other hand, well-designed databases open doors to so many exciting opportunites. Better marketing tactics, greater financial forecasting capabibilities, and real-time business intelligence at our fingertips. A better understanding of how relational databases work helps you become a better decision maker, provide better customer service, and run your organization more effectively.</p>
<p>IT150 gives you a sneak preview of database management &#8211; key jargons, basic skills, its potential benefits. To develop a more comprehensive understanding of database management, you can consider taking more advnaced  courses on this topic.</p>
<p>In the mean time, make sure you have accomplishes these learning objectives of this module:</p>
<ul>
<li>Articulate the differences between spreadsheets and databases</li>
<li>Understand basic elements of Microsoft Access &#8211; fields, tables, primary keys, foreign keys, relationships, queries, forms, reports</li>
<li>Describe principles of E-R diagramming &#8211; entities, relationships, cardinality, normalization</li>
<li>Describe the differences between databases and data warehouses</li>
<li>Describe the differences between OLTP and OLAP</li>
</ul>
<p>So, how are you doing on this module? What is the most interesting part of this module? Which part is the most frustrating? What is intriquing? What is counter-intuitive?</p>
</div>]]></content:encoded>
</item>

</channel>
</rss>
