1、 1 DATA WAREHOUSE Data warehousing provides architectures and tools for business executives to systematically organize, understand, and use their data to make strategic decisions. A large number of organizations have found that data warehouse systems are valuable tools in todays competitive, fast ev
2、olving world. In the last several years, many firms have spent millions of dollars in building enterprise-wide data warehouses. Many people feel that with competition mounting in every industry, data warehousing is the latest must-have marketing weapon a way to keep customers by learning more about
3、their needs. “So, you may ask, full of intrigue, “what exactly is a data warehouse? Data warehouses have been defined in many ways, making it difficult to formulate a rigorous definition. Loosely speaking, a data warehouse refers to a database that is maintained separately from an organizations oper
4、ational databases. Data warehouse systems allow for the integration of a variety of application systems. They support information processing by providing a solid platform of consolidated, historical data for analysis. According to W. H. Inmon, a leading architect in the construction of data warehous
5、e systems, “a data warehouse is a subject-oriented, integrated, time-variant, and nonvolatile collection of data in support of managements decision making process. This short, but comprehensive definition presents the major features of a data warehouse. The four keywords, subject-oriented, integrate
6、d, time-variant, and nonvolatile, distinguish data warehouses from other data repository systems, such as relational database systems, transaction processing systems, and file systems. Lets take a closer look at each of these key features. (1)Subject-oriented: A data warehouse is organized around ma
7、jor subjects, such as customer, vendor, product, and sales. Rather than concentrating on the day-to-day operations and transaction processing of an organization, a data warehouse focuses on the modeling and analysis of data for decision makers. Hence, data warehouses typically provide a simple and c
8、oncise view around particular subject issues by excluding data that are not useful in the decision support process. (2)Integrated: A data warehouse is usually constructed by integrating multiple heterogeneous sources, such as relational databases, flat files, and on-line transaction records. Data cl
9、eaning and data integration techniques are applied to ensure consistency in naming conventions, encoding structures, attribute measures, and so on. (3)Time-variant: Data are stored to provide information from a historical perspective (e.g., the past 5-10 years). Every key structure in the data wareh
10、ouse contains, either implicitly or explicitly, an element of time. (4)Nonvolatile: A data warehouse is always a physically separate store of data transformed from the application data found in the operational environment. Due to this separation, a data warehouse does not require transaction process
11、ing, recovery, and concurrency control mechanisms. It usually requires only two operations in data accessing: initial loading of data and access of data. In sum, a data warehouse is a semantically consistent data store that serves as a physical implementation of a decision support data model and sto
12、res the information on which an enterprise needs to make strategic decisions. A data warehouse is also often viewed as an architecture, constructed by integrating data from multiple heterogeneous sources to support structured and/or ad hoc queries, analytical reporting, and decision making. “OK, you
13、 now ask, “what, then, is data warehousing? Based on the above, we view data warehousing as the process of constructing and using data warehouses. The construction of a data warehouse requires data integration, data cleaning, and data consolidation. The utilization of a data warehouse often necessit
14、ates a collection of decision support technologies. This allows “knowledge workers (e.g., managers, analysts, and executives) to use the warehouse to quickly and conveniently obtain an overview of the data, and to make sound decisions based on information in the warehouse. Some authors use the term
15、“data warehousing to refer only to 2 the process of data warehouse construction, while the term warehouse DBMS is used to refer to the management and utilization of data warehouses. We will not make this distinction here. “How are organizations using the information from data warehouses? Many organi
16、zations are using this information to support business decision making activities, including: (1) increasing customer focus, which includes the analysis of customer buying patterns (such as buying preference, buying time, budget cycles, and appetites for spending). (2) repositioning products and man
17、aging product portfolios by comparing the performance of sales by quarter, by year, and by geographic regions, in order to fine-tune production strategies. (3) analyzing operations and looking for sources of profit. (4) managing the customer relationships, making environmental corrections, and manag
18、ing the cost of corporate assets. Data warehousing is also very useful from the point of view of heterogeneous database integration. Many organizations typically collect diverse kinds of data and maintain large databases from multiple, heterogeneous, autonomous, and distributed information sources.
19、To integrate such data, and provide easy and efficient access to it is highly desirable, yet challenging. Much effort has been spent in the database industry and research community towards achieving this goal. The traditional database approach to heterogeneous database integration is to build wrappe
20、rs and integrators (or mediators) on top of multiple, heterogeneous databases. A variety of data joiner and data blade products belong to this category. When a query is posed to a client site, a metadata dictionary is used to translate the query into queries appropriate for the individual heterogene
21、ous sites involved. These queries are then mapped and sent to local query processors. The results returned from the different sites are integrated into a global answer set. This query-driven approach requires complex information filtering and integration processes, and competes for resources with pr
22、ocessing at local sources. It is inefficient and potentially expensive for frequent queries, especially for queries requiring aggregations. Data warehousing provides an interesting alternative to the traditional approach of heterogeneous database integration described above. Rather than using a quer
23、y-driven approach, data warehousing employs an update-driven approach in which information from multiple, heterogeneous sources is integrated in advance and stored in a warehouse for direct querying and analysis. Unlike on-line transaction processing databases, data warehouses do not contain the mos
24、t current information. However, a data warehouse brings high performance to the integrated heterogeneous database system since data are copied, preprocessed, integrated, annotated, summarized, and restructured into one semantic data store. Furthermore, query processing in data warehouses does not in
25、terfere with the processing at local sources. Moreover, data warehouses can store and integrate historical information and support complex multidimensional queries. As a result, data warehousing has become very popular in industry. 1.Differences between operational database systems and data warehous
26、es Since most people are familiar with commercial relational database systems, it is easy to understand what a data warehouse is by comparing these two kinds of systems. The major task of on-line operational database systems is to perform on-line transaction and query processing. These systems are c
27、alled on-line transaction processing (OLTP) systems. They cover most of the day-to-day operations of an organization, such as, purchasing, inventory, manufacturing, banking, payroll, registration, and accounting. Data warehouse systems, on the other hand, serve users or “knowledge workers in the rol
28、e of data analysis and decision making. Such systems can organize and present data in various formats in order to accommodate the diverse needs of the different users. These systems are known as on-line analytical processing (OLAP) systems. The major distinguishing features between OLTP and OLAP are
29、 summarized as follows. (1)Users and system orientation: An OLTP system is customer-oriented and is used for transaction and query processing by clerks, clients, and information technology professionals. An OLAP system is market-oriented and is used for data analysis by knowledge workers, including
30、managers, executives, and analysts. (2)Data contents: An OLTP system manages current data that, typically, are too detailed to be easily used for decision making. An OLAP system manages large amounts of historical data, provides 3 facilities for summarization and aggregation, and stores and manages
31、information at different levels of granularity. These features make the data easier for use in informed decision making. (3)Database design: An OLTP system usually adopts an entity-relationship (ER) data model and an application -oriented database design. An OLAP system typically adopts either a sta
32、r or snowflake model, and a subject-oriented database design. (4)View: An OLTP system focuses mainly on the current data within an enterprise or department, without referring to historical data or data in different organizations. In contrast, an OLAP system often spans multiple versions of a databas
33、e schema, due to the evolutionary process of an organization. OLAP systems also deal with information that originates from different organizations, integrating information from many data stores. Because of their huge volume, OLAP data are stored on multiple storage media. (5). Access patterns: The a
34、ccess patterns of an OLTP system consist mainly of short, atomic transactions. Such a system requires concurrency control and recovery mechanisms. However, accesses to OLAP systems are mostly read-only operations (since most data warehouses store historical rather than up-to-date information), altho
35、ugh many could be complex queries. Other features which distinguish between OLTP and OLAP systems include database size, frequency of operations, and performance metrics and so on. 2.But, why have a separate data warehouse? “Since operational databases store huge amounts of data, you observe, “why n
36、ot perform on-line analytical processing directly on such databases instead of spending additional time and resources to construct a separate data warehouse? A major reason for such a separation is to help promote the high performance of both systems. An operational database is designed and tuned fr
37、om known tasks and workloads, such as indexing and hashing using primary keys, searching for particular records, and optimizing “canned queries. On the other hand, data warehouse queries are often complex. They involve the computation of large groups of data at summarized levels, and may require the
38、 use of special data organization, access, and implementation methods based on multidimensional views. Processing OLAP queries in operational databases would substantially degrade the performance of operational tasks. Moreover, an operational database supports the concurrent processing of several tr
39、ansactions. Concurrency control and recovery mechanisms, such as locking and logging, are required to ensure the consistency and robustness of transactions. An OLAP query often needs read-only access of data records for summarization and aggregation. Concurrency control and recovery mechanisms, if a
40、pplied for such OLAP operations, may jeopardize the execution of concurrent transactions and thus substantially reduce the throughput of an OLTP system. Finally, the separation of operational databases from data warehouses is based on the different structures, contents, and uses of the data in these
41、 two systems. Decision support requires historical data, whereas operational databases do not typically maintain historical data. In this context, the data in operational databases, though abundant, is usually far from complete for decision making. Decision support requires consolidation (such as ag
42、gregation and summarization) of data from heterogeneous sources, resulting in high quality, cleansed and integrated data. In contrast, operational databases contain only detailed raw data, such as transactions, which need to be consolidated before analysis. Since the two systems provide quite different functionalities and require different kinds of data, it is necessary to maintain separate databases.