| Oracle® Database C
oncepts 10g Release 1 (10.1) Part Number B10743-01 |
|
|
View PDF |
This chapt er contains the following topics:
As a company evolves, it becomes increasingly important for it to be able t o share information among multiple databases and applications. Companies need to share OLTP updates, database events, and application messages, as customers place orders online, through the sales force, or even with a partner. This information must be routed to a va riety of destinations including heterogeneous replicated databases, message queuing systems, data warehouse staging areas, operationa l data stores, other applications, and a standby database.
There are three basic approaches to sharing information. You can co nsolidate the information into a single database, which eliminates the need for further integration. You can leave information distri buted, and provide tools to federate that information, making it appear to be in a single virtual database. Or, you can share informa tion, which lets you maintain the information in multiple data stores and applications. This chapter focuses on federating and sharin g information.
|
See Also: Chapter 16, " Business Intelligence" for more information on features to consolidate information |
Oracle provides distributed SQL for federating distributed information. Distributed SQL synchronously accesses and updates data distributed among multiple databases, whi le maintaining location transparency and data integrity.
Oracle Streams is the asynch ronous information sharing infrastructure in the Oracle database. Oracle Streams can mine the Oracle redo logs to capture DML and DDL changes to Oracle data, and it makes that changed data available to other applications and databases. Thus, Oracle Streams can provi de an extremely flexible asynchronous replication solution, as well as an event notification framework. Because Streams supports appl ications explicitly enqueuing and dequeuing messages, it also provides a complete asynchronous messaging solution. That solution, Ora cle Streams Advanced Queuing, can be used to exchange information with customers, partners, and suppliers, and to coordinate business processes. Both Streams and distributed SQL can access and update data in non-Oracle system s using Oracle Transparent Gateways, Generic Connec tivity, and the Messaging Gateway. Oracle can work with non-Oracle data sources, non-Oracle message queuing systems, and non-SQL applications, ensuring interoperabilility with other vendor's products and technologies. Each of the solutions are described in detail in the following sections.
A distributed environment is a network of d isparate systems that seamlessly communicate with each other. Each system in the distributed environment is called a node. The system to which a user is directly connected is called the local system. Any additional systems accessed by this user are called remote sys tems. A distributed environment allows applications to access and exchange data from the local and remote systems. All the data can b e simultaneously accessed and modified.
While a distributed environment enables increased access to a large amount of data acr oss a network, it must also hide the location of the data and the complexity of accessing it across the network.
In order for a company to operate successfully in a distributed environment, it must be able to do the following:
Exc hange data between Oracle databases
Communicate between applications
Exchan ge information with customers, partners, and suppliers
Replicate data between databases
Communicate with non-Oracle databases
A homogeneous distributed database system is a network of two or more Oracle databases that reside on one or more machines.
Distributed SQL e nables applications and users to simultaneously access or modify the data in several databases as easily as they access or modify a s ingle database.
An Oracle distributed database system can be transparent to users, making it appear as though it is a single O racle database. Companies can use this distributed SQL feature to make all its Oracle databases look like one and thus reduce some of the complexity of the distributed system.
Oracle uses database links to enable users on one database to access objects in a r emote database. A local user can access a link to a remote database without having to be a user on the remote database.
An Oracle distributed database system lets application developers and administrators hide the physical location of database objects from applications and users. Location transparency exists when a user can universally refer to a database object, su ch as a table, regardless of the node to which an application connects. Location transparency has several benefits, including the fol lowing:
Access to remote data is simple, because database users do not need to know the physical locatio n of database objects.
Administrators can move database objects with no impact on users or existing data base applications. Typically, administrators and developers use synonyms to establish location transparency for the tables and suppor ting objects in an application schema.
In addition to synonyms, developers can use views and stored procedures to es tablish location transparency for applications that work in a distributed database system.
<
p>See Also:
|
Distri buted query optimization reduces the amount of data transfer required between sites when a transaction retrieves data from remote tab les referenced in a distributed SQL statement. Distributed query optimization uses Oracle's optimizer to find or generate SQL express ions that extract only the necessary data from remote tables, process that data at a remote site (or sometimes at the local site) and send the results to the local site for final processing.
This operation reduces the amount of required data transfer when com
pared to the time it takes to transfer all the table data to the local site for processing. Using various optimizer hints, such as NO_MERGE, and INDEX, you can control where Oracle processes the data and how it ac
cesses the data.
At the heart of any integration is the sharing of data among various applications in the enterprise.
Replicati on is the maintenance of database objects in two or more databases. It provides a solution to the scalability, availability, and perf ormance issues facing many companies. For example, replication can improve the performance of a company's Web site. By locally replic ating remote tables that are frequently queried by local users, such as the inventory table, the amount of data going across the netw ork is greatly reduced. By having local users access the local copies instead of one central copy, the distributed database does not need to send information across a network repeatedly, thus helping to maximize the performance of the database application. Oracle St reams provides powerful replication features that can be used to keep multiple copies of distributed objects synchronized.
Man y companies have developed a variety of autonomous and distributed applications to automate business processes and manage business ta sks. However, these applications need to communicate with each other, coordinating business processes and tasks in a consistent manne r. They also need to exchange information efficiently with customers, partners, and suppliers over low-cost channels such as the Inte rnet, while preserving a traceable history of events—a requirement previously satisfied through now obsolete paper forms.For l oose application coupling, Oracle offers Oracle Streams Advanced Queuing, which is built on top of the flexible Oracle Streams infras tructure. Oracle Streams Advanced Queuing provides a unified framework for processing events.Events generated in applications, in wor kflow, or implicitly captured from redo logs or in database triggers can be captured and staged in a queue. These events can be consu med in a variety of ways. They can be applied automatically with a user-defined function or database table operation, or they can be dequeued explicitly. Also, notifications can be sent to the consuming application. These events can be transformed at any stage. If t he consuming application is on a different database, then the events can be propagated to the appropriate database automatically. Ope rations on these events can be automatically audited, and the history can be retained for the user-specified duration.
Oracle Streams enables the propagation and management of data, transactions, and events in a data stream either within a database, or from one database to another. The stream routes published information to subscribed destinations. As users' needs change, they can implement a new capability of Oracle Stream s, without sacrificing existing capabilities.
Oracle Streams provides a set of elements that allows users to control what info rmation is put into a stream, how the stream flows or is routed from node to node, what happens to events in the stream as they flow into each node, and how the stream terminates. By specifying the configuration of the elements acting on the stream, a user can addre ss specific requirements, such as message queuing or data replication.
Oracle Streams satisfies the information sharing requir ements for a variety of usage scenarios. Oracle Streams Advanced Queuing provides the database-integrated message queuing and event m anagement capabilities. In addition, Oracle includes tools to help users build event notification, replication and data warehouse loa ding solutions using Oracle Streams. Using the full power of Oracle Streams, you can create configurations that span multiple use cas es, enabling new classes of applications. Most deployments and their associated metadata are compatible. For example, a system config ured to load a data warehouse easily can be extended to enable bi-directional replication. A complete reconfiguration is not required .
|
See Also: Oracle Streams Concepts and Administration |