- •Contents
- •Notices
- •Trademarks
- •Preface
- •The team who wrote this book
- •Now you can become a published author, too!
- •Comments welcome
- •Stay connected to IBM Redbooks
- •Chapter 1. Introduction
- •1.1 The opportunity of the in-memory database
- •1.1.1 Disk databases cannot expand to memory
- •1.1.2 IBM solidDB IMDB is memory-friendly
- •1.1.3 Misconceptions
- •1.1.4 Throughput and response times
- •1.2 Database caching with in-memory databases
- •1.2.1 Databases are growing
- •1.2.2 Database caching off-loads the enterprise server
- •1.2.3 IBM solidDB Universal Cache
- •1.3 Applications, competition, and the marketplace
- •Chapter 2. IBM solidDB details
- •2.1 Introduction
- •2.2 Server architecture
- •2.2.1 Database access methods and network drivers
- •2.2.2 Server components
- •2.3 Data storage in solidDB
- •2.3.1 Main-memory engine
- •2.4 Table types
- •2.4.1 In-memory versus disk-based tables
- •2.4.2 Persistent versus non-persistent tables
- •2.4.3 Choosing between different table types
- •2.5 Transactionality
- •2.5.1 Concurrency control and locking
- •2.5.2 Isolation levels
- •2.5.3 Durability levels
- •2.6 solidDB SQL extensions
- •2.6.1 solidDB SQL standard compliance
- •2.6.2 Stored procedures
- •2.6.3 Triggers
- •2.6.4 Sequences
- •2.6.5 Events
- •2.6.6 Replication
- •2.7 Database administration
- •2.7.1 Configuration settings
- •2.7.2 ADMIN COMMAND
- •2.7.3 Data management tools
- •2.7.4 Database object hierarchy
- •Chapter 3. IBM solidDB Universal Cache details
- •3.1 Architecture
- •3.1.1 Architecture and key components
- •3.1.2 Principles of operation
- •3.2 Deployment models
- •3.3 Configuration alternatives
- •3.3.1 Typical configuration
- •3.3.2 Multiple cache nodes
- •3.3.3 SMA for collocation of data
- •3.3.4 solidDB HSB servers for high availability
- •3.4 Key aspects of cache setup
- •3.4.1 Deciding on the replication model
- •3.4.2 Defining what to replicate
- •3.4.3 Starting replication
- •3.5 Additional functionality for cache operations
- •3.5.1 SQL pass-through
- •3.5.2 Aging
- •3.5.3 Improving performance with parallelism
- •3.6 Increasing scale of applications
- •3.6.1 Scaling strategies
- •3.6.2 Examples of cache database applications
- •3.7 Enterprise infrastructure effects of the solidDB Universal Cache
- •3.7.1 Network latency and traffic
- •3.7.3 Database operation execution
- •Chapter 4. Deploying solidDB and Universal Cache
- •4.1 Change and consideration
- •4.2 How to develop applications that use solidDB
- •4.2.1 Application program structure
- •4.2.2 ODBC
- •4.2.3 JDBC
- •4.2.4 Stored procedures
- •4.2.5 Special considerations
- •4.3 New application development on solidDB UC
- •4.3.1 Awareness of separate database connections
- •4.3.2 Combining data from separate databases in a transaction
- •4.3.3 Combining data from different databases in a query
- •4.3.4 Transactionality with Universal Cache
- •4.3.5 Stored procedures in Universal Cache architectures
- •4.4 Integrate an existing application to work with solidDB UC
- •4.4.1 Programming interfaces used by the application
- •4.4.2 Handling two database connections instead of one
- •4.5 Data model design
- •4.5.1 Data model design principles
- •4.5.2 Running in-memory and disk-based tables inside solidDB
- •4.5.3 Data model design for solidDB UC configurations
- •4.6 Data migration
- •4.7 Administration
- •4.7.1 Regular administration operations
- •4.7.2 Information to collect
- •4.7.3 Procedures to plan in advance
- •4.7.4 Automation of administration by scripts
- •Chapter 5. IBM solidDB high availability
- •5.1 High availability (HA) in databases
- •5.2 IBM solidDB HotStandby
- •5.2.1 Architecture
- •5.2.2 State behavior of solidDB HSB
- •5.2.3 solidDB HSB replication and transaction logging
- •5.2.4 Uninterruptable system maintenance and rolling upgrades
- •5.3 HA management in solidDB HSB
- •5.3.1 HA control with a third-party HA framework
- •5.3.2 HA control with the watchdog sample
- •5.3.3 Using solidDB HA Controller (HAC)
- •5.3.4 Preventing Dual Primaries and Split-Brain scenarios
- •5.4 Use of solidDB HSB in applications
- •5.4.1 Location of applications in the system
- •5.4.2 Failover transparency
- •5.4.3 Load balancing
- •5.4.4 Linked applications versus client/server applications
- •5.5 Usage guidelines, use cases
- •5.5.1 Performance considerations
- •5.5.2 Behavior of reads and writes in a HA setup
- •5.5.3 Using asynchronous configurations with HA
- •5.5.4 Using default solidDB HA setup
- •5.5.5 The solidDB HA setup for best data safeness
- •5.5.6 Failover time considerations
- •5.5.7 Recovery time considerations
- •5.5.8 Example situation
- •5.5.9 Application failover
- •5.6 HA in Universal Cache
- •5.6.1 Universal Cache HA architecture
- •5.6.2 UC failure types and remedies
- •6.1 Performance
- •6.1.1 Tools available in the solidDB server
- •6.1.2 Tools available in InfoSphere CDC
- •6.1.3 Performance troubleshooting from the application perspective
- •6.2 Troubleshooting
- •Chapter 7. Putting solidDB and the Universal Cache to good use
- •7.1 solidDB and Universal Cache sweet spots
- •7.1.1 Workload characteristics
- •7.1.2 System topology characteristics
- •7.1.3 Sweet spot summary
- •7.2 Return on investment (ROI) considerations
- •7.2.1 solidDB Universal Cache stimulates business growth
- •7.2.2 solidDB server reduces cost of ownership
- •7.2.3 solidDB Universal Cache helps leverage enterprise DBMS
- •7.2.4 solidDB Universal Cache complements DB2 Connect
- •7.3 Application classes
- •7.3.1 WebSphere Application Server
- •7.3.2 WebLogic Application Server
- •7.3.3 JBoss Application Server
- •7.3.4 Hibernate
- •7.3.5 WebSphere Message Broker
- •7.4 Examining specific industries
- •7.4.1 Telecom (TATP)
- •7.4.2 Financial services
- •7.4.3 Banking Payments Framework
- •7.4.4 Securities Exchange Reference Architecture (SXRA)
- •7.4.5 Retail
- •7.4.6 Online travel industry
- •7.4.7 Media
- •Chapter 8. Conclusion
- •8.1 Where are you putting your data
- •8.2 Considerations
- •Glossary
- •Abbreviations and acronyms
- •Index
Glossary
1-safe algorithm. A method of transaction processing in HotStandby setups. In 1-safe systems, transactions are committed on the primary server and then propagated to the secondary server after If the primary server fails before it sends the transactions to the secondary server, the transactions will not be visible on the secondary server. Also see 2-safe algorithm.
2-safe algorithm. A method of transaction processing in HotStandby setups. In 2-safe systems, transactions are not considered committed on the primary server until the transaction is confirmed committed on the secondary server. All updates to the data are applied to both copies synchronously. If the secondary server fails, the primary server stops accepting transactions. Also see 1-safe algorithm.
Access mode. The access mode of a solidDB parameter defines whether the parameter can be changed dynamically through an ADMIN COMMAND, and when the change takes effect. The possible access modes are RO, RW, RW/Startup, RW/Create.
application programming interface (API). An interface provided by a software product that enables programs to request services.
binary large object (BLOB). A block of bytes of data (for example, the body of a message) that has no discernible meaning, but is treated as one entity that cannot be interpreted.
Bonsai Tree. A small active index (data storage tree) that stores new data (deletes, inserts, updates) in central memory efficiently, while maintaining multiversion information.
cache database. The solidDB database in a
Universal Cache setup. Also called cache or front-end.
concurrency control. A method for preventing two different users from trying to update the same data in a database at the same time.
Data Definition Language (DDL). An SQL statement that creates or modifies the structure of a table or database, for example, CREATE TABLE, DROP TABLE, ALTER TABLE, CREATE DATABASE.
Data Manipulation Language (DML). An INSERT, UPDATE, DELETE, or SELECT SQL statement.
data store (InfoSphere CDC). A management entity that represents the InfoSphere CDC instance in Management Console.
deploy. The process of making operational the configuration and topology of the solidDB Universal Cache.
disk-based table (D-table). A table that has its contents stored primarily on disk so that the server copies only small amounts of data at a time into memory. Also see in-memory table.
distributed application A set of application programs that collectively constitute a single application.
durability level. A feature of transactionality that controls how solidDB handles transaction logging. solidDB supports three durability levels: strict, relaxed, and adaptive.
Dynamic SQL. SQL that is interpreted during execution of the statement.
Instance (InfoSphere CDC). A runtime instance of the InfoSphere CDC replication engine for a given DBMS.
© Copyright IBM Corp. 2011. All rights reserved. |
273 |
Java Database Connectivity (JDBC). An API that has the same characteristics as ODBC but is specifically designed for use by Java database applications.
Java developer kit. A software package used to write, compile, debug, and run Java applets and applications.
Java Message Service. An application programming interface that provides Java language functions for handling messages.
Java runtime environment. A subset of the Java developer kit that allows you to run Java applets and applications.
In-memory table (M-table). A table whose contents are entirely stored in memory so that the data can be accessed as quickly as possible. Also see disk-based table.
main-memory engine (MME). The solidDB component that takes care of operations concerning in-memory tables.
meta data. Typically called data (or information) about data. It describes or defines data elements.
multi-threading. A capability that enables multiple concurrent operations to use the same process.
Open Database Connectivity (ODBC). A standard API for accessing data in both relational and non-relational database management systems. Using this API, database applications can access data stored in database management systems on a variety of computers even if each database management system uses a different data storage format and programming interface. ODBC is based on the call level interface (CLI) specification of the X/Open SQL Access Group.
optimization. The capability to enable a process to execute and perform in such a way as to maximize performance, minimize resource utilization, and minimize the process execution response time delivered to the user.
partition. Part of a database that consists of its own data, indexes, configuration files, and transaction logs.
Primary Key. A field in a table that is uniquely different for each record in the table.
process. An instance of a program running in a computer.
replication (InfoSphere CDC). InfoSphere CDC replication is based on an asynchronous, push-based model. Unidirectional subscriptions can be created for real-time propagation of data changes from the source side to the target side. Bidirectional capability is achieved by setting up two subscriptions with mirrored source and target definitions.
replication (HotStandby). In HotStandby (HSB) setups, data changes in the primary are propagated to the secondary using a push-based replication protocol. The protocol can be set to synchronous (2-safe) or asynchronous (1-safe).
replication (advanced replication). In advanced replication setups, an asynchronous pull-based replication method enables occasional distribution and synchronization of data across multiple database servers.
read-only (RO). Parameter access mode where the value cannot be changed; the current value is always identical to the startup value.
read-write (RW). Parameter access mode where the value can be changed through an ADMIN COMMAND and the change takes effect immediately.
RW/Startup. Parameter access mode where the value can be changed through an ADMIN COMMAND and the change takes effect the next time that the server starts.
RW/Create. Parameter access mode where the value can be changed through an ADMIN COMMAND and the change applies when a new database is created.
274 IBM solidDB: Delivering Data with Extreme Speed
server. A computer program that provides services to other computer programs (and their users) in the same or other computers. However, the computer that a server program runs in is also frequently referred to as a server.
shared nothing. A data management architecture where nothing is shared between processes. Each process has its own processor, memory, and disk space.
SQL pass-through. The act of passing SQL statements to the back end, instead of executing statements in the front-end.
static SQL. SQL that has been compiled prior to execution. Typically provides best performance.
subscription (InfoSphere CDC). A connection that is required to replicate data between a source data store and a target data store.
Glossary 275
276 IBM solidDB: Delivering Data with Extreme Speed
