1-2 Oracle Coherence Getting Started with Oracle Coherence
object) into a series of SQL inserts, updates and deletes. Since a single object may
be composed of information from many tables, the cost of accessing objects from a
database using Object/Relational Mapping can be significant, both in terms of the
load on the database and the latency of the data access.
■ An In-Memory Data Grid achieves low response times for data access by keeping
the information in-memory and in the application object form, and by sharing that
information across multiple servers. In other words, applications may be able to
access the information that they require without any network communication and
without any data transformation step such as ORM. In cases where network
communication is required, the Oracle Coherence avoids introducing a Single
Point of Bottleneck (SPOB) by partitioning—spreading out—information across
the grid, with each server being responsible for managing its own fair share of the
total set of information.
■ High throughput of information access and change is achieved through four
different aspects of the In-Memory Data Grid:
■ Oracle Coherence employs a sophisticated clustering protocol that can achieve
wire speed throughput of information on each server. This allows the
aggregate flow of information to increase linearly with the number of servers.
■ By partitioning the information, as servers are added each one assumes
responsibility for its fair share of the total set of information, thus
load-balancing the data management responsibilities into smaller and smaller
portions.
■ By combining the wire speed throughput and the partitioning with automatic
knowledge of the location of information within the Data Grid, Oracle
Coherence routes all read and write requests directly to the servers that
manage the targeted information, resulting in true linear scalability of both
read and write operations; in other words, high throughput of information
access and change.
■ For queries, transactions and calculations, particularly those that operate
against large sets of data, Oracle Coherence can route those operations to the
servers that manage the target data and execute them in parallel.
■ By using dynamic partitioning to eliminate bottlenecks and achieving predictably
low latency regardless of the number of servers in the Data Grid, Oracle
Coherence provides predictable scalability of applications. While certain
applications can use Coherence to achieve linear scalability, that is largely
determined by the nature of the application, and thus varies from application to
application. More important is the ability of a customer to examine the nature of
their application and to be able to predict how many servers will be required to
achieve a certain level of scale, such as supporting a specified number of
concurrent users on a system or completing a complex financial calculation within
a certain number of minutes. One way that Coherence accomplishes this is by
executing large-scale operations, such as queries, transactions and calculations, in
parallel using all of the servers in the Data Grid.
■ One of the ways that Coherence can eliminate bottlenecks is to queue up
transactions that have occurred in memory and asynchronously write the result to
a system of record, such as an Oracle database. This is particularly appropriate in
systems that have extremely high rates of change due to the processing of many
small transactions, particularly when only the result must be made persistent.
Coherence both coalesces multiple changes to a single application object and
batches multiple modified application objects into a single database transaction,
meaning that a hundred different changes to each of a hundred different