Download presentation
Presentation is loading. Please wait.
Published byCarin Wolf Modified over 6 years ago
1
DB2 – Informix Terminology and Architecture Comparison
By Pradeep Kutty Jan 30th, 2004
2
Enterprise Extended Edition (EEE)
DB2 – Product Family Enterprise Server Edition (ESE) Enterprise Extended Edition (EEE) Version 8 Enterprise Edition (EE) Workgroup Edition (WE) Personal Edition (PE) Enterprise Extended Edition: This support very large databases and large Data Warehouses. It provides Intra and Inter query parallelism. It also exploits Clusters or Massively Parallel HW architectures (MPP) Enterprise Edition: Often used to build e-business applications, support of large departmental applications, offers broadest connectivity options Can share data with third-party databases and DB2 on heterogeneous platforms Workgroup Edition: Often used in smaller departmental applications. No remote access to databases on Mainframes (VM/VSE, OS/400, MVS) Personal Edition: Full-function database, single-user enabled. Does not accept remote database requests. Available on Windows, Linux and OS/2 Everyplace: Mobile computing offering, provides access to DB2 data sources in the enterprise through handheld devices. Everyplace
3
Products Positioning Single Product line for all Applications
Common code base for UNIX and NT Differentiation depending on target platform and licensing strategy Additional applications built upon the database server Data warehouse OLAP Connectivity (DB2 Connect, Data Joiner) Web enablement (Web Sphere Application Server)
4
Informix – Product Family
Online 7.x 8.3x 8.2x Online 6.x XPS 8.x 8.1x Online 5.x In this presentation, we are focusing on XPS 8.x, IDS 7.x, and IDS 9.x. These products all evolved from an early version of IDS 7.x. The XPS product is designed for large data warehouses. Several features have been developed to improve data warehouse processing. The IDS 7.x product has been the main stream Informix OLTP product and the IDS 9.x product is the Object Relational DBMS product. Starting with IDS 9.21, the IDS 9.x line is a superset of the IDS 7.x product. Online 4.x SE / CISAM
5
Products Positioning IDS (7.x and 9.x): XPS (8.x) – OLTP
Data blades and Extensibility Replication (HDR and ER) Max Connect XPS (8.x) – Data Ware Housing Cluster support
6
Informix – Long Term 2002 2003 2004 2005 2006 IDS: RAS, Ease-of-Use, Security 9.40 9.50 9.60 XPS: BI Tool Integration, Ease-of-Use 8.40 8.50 8.60 IBM’s plans for the Informix enterprise product portfolio: Ongoing investment for existing customers and partners for as long as they require Planned releases approximately every 18 months IDS investment exceeds level prior to acquisition. Arrowhead engineers were added to DB2 and back to IDS. (Also many joined the Storage division.) Red Brick: BI Tool Integration, Performance 6.2 7.1 7.2
7
Platforms Supported DB2 XPS IDS AIX NUMA-Q PTX Linux SUN Solaris HP UX
Linux/390 (Not EEE) AS/400 OS/390 Windows OS/2 XPS AIX NUMA-Q PTX Linux SUN Solaris HP UX Compaq True Unix Reliant Unix IDS AIX 32/64 Bit NUMA-Q PTX Linux Intel / Alpha SUN Solaris Intel / Sparc HP UX 32/64 Bit Compaq True Unix Reliant Unix 32/64 Bit SCO Open Server SCO UNIXWARE 7 Windows NT / 2000 Tandem Nonstop UX C61 DEC TRU64 NCR Fujitsu/Siemens SGI 32/64 Bit Data General DGUX
8
TCP/IP or SHM and Semaphores or any Network Protocol
DB2 Architecture Applications Client TCP/IP or SHM and Semaphores or any Network Protocol Coordinator agent EDU Server Log Buffer Subagents EDU Prefetch Manager Prefetch Requests Log requests Prefetchers Buffer Pool Logger EDU Deadlock Detector EDU are Engine dispatchable units. These are implemented as threads on NT and as Processes on UNIX. Client applications connect to the server via shared memory or TCP/IP or any other supported protocol. Each application on the server side has a coordinator that performs processing and communication with the client application A set of subagent EDU’s can also be assigned to these client applications to service requests (EG: Sort operations). All agents (EDU) are managed by a pooling algorithm which also manages agent creation and destruction. Pre-fetchers are used for Asynchronous read ahead operations to bring pages into the Buffer Pool Page cleaners are background EDU’s to flush the dirty pages from the Buffer Pool to disk. Logger EDU and the buffer pool manager implement a WAL (Write Ahead Logging) to ensure that log records are always first written to disk before the corresponding page is written to disk Logs Read Req Page Cleaners Parallel Page write requests Containers
9
IDS/XPS Architecture Net Shm VP CPU LIO Resident Virtual PIO AIO
Client Resident Virtual Communication Net VP AIO CPU PIO LIO Shm Ext Logs Disks This architecture diagram looks somewhat similar to the DB2 one on the previous slide. Just like on the previous slide, each circle represents a thread under NT and a process under UNIX. We refer to them as virtual processors (VP). The difference is that each VP is itself multithreaded. For example, in general you would configure as many CPU VPS as physical CPUs on your machine.Different kind of VPs provide different services. The asynchronous I/O is either provided by a AIO VP or by a CPU VP depending on the facility provided by the underlining operating system. Resident portion: shared-memory headers, buffer pool, logical&physical log buffers, lock table Virtual portion: memory pools for things such as sessions, stack, heap, SQL cache, SPL cache, sort, and so on. Communication portion: message buffers for local clients. IDS only Other VPs: ADM, ADT, Java, etc.
10
Process vs. Thread “In Solaris, creating a process is about 30 times slower than creating a thread, synchronization variables are about 10 times slower, and context switching about 5 times slower.” Thread Primer Page 21 Multi-threading uses less resources than multi-processing. The quote on this slide comes from: Thread Primer, Bill Lewis and Daniel J. Berg ISBN We’ve also seen that multiple processes can saturate a machine much faster than the same task done through a multi-threaded application. The point here is not to say that the Informix architecture is better than DB2. DB2 has proven itself in standard benchmarks as a performance leader. We can see that there are obvious ways to increase the lead. The addition of Informix engineering should speedup the process of adding features into DB2 to make it the uncontested leader in all areas.
11
Terminology DB2 Instance Database Partition/Node Node group
Table space Container IDS/XPS Instance Database Co-server Co-group Dbslices, Dbspace Chunks Both DB2 and IDS/XPS use a similar approach to databases: an instance contains multiple databases. This slide shows the related terms for DB2 and IDS/XPS. All products use the concept of a database server containing one or more databases. In the case of DB2 EEE and XPS, a server can span multiple physical of logical partitions. Tables can span multiple partitions. This is done through the concept of NODEGROUP in DB2 and the dbslices in XPS. DB2 stores data in table spaces that are made up of multiple containers. The equivalent in IDS/XPS is the dbspace and chunks. IDS/XPS specialize the dbspaces for temporary storage. This includes blobspace, sbspace, and extspace.
12
Configuration DB2 Instance Parameters controlled by DBM CFG
Every database has its own database configuration Registry and Environment Variables SQL SET command Multi threaded only on NT Informix Instance Parameters controlled by ONCONFIG Environment Variables SQL SET Command Multi threaded on UNIX and NT
13
Storage DB2 (table spaces) System Managed Storage (SMS)
Database Managed Storage (DMS) Files Devices Configurable page size: 4KB, 8KB, 16KB, 32KB IDS/XPS (db spaces) - Database Managed Storage Cooked Raw IDS pre-defined page size XPS configurable: 2KB, 4KB, 8KB The DB2 products has two main ways to handle disk storage: System Managed Storage (SMS): directory on the host machine Database managed Storage (DMS): either files or devices. XPS and IDS support only what DB2 refers to as DMS. The file-based storage is referred to as cooked and the device storage is referred as raw. The storage also differs in that DB2 allows the definition of the page size. IDS uses a specific page size that is dependent on the platform used. XPS allows the configuration of the page size. In IDS/XPS, the page size does not impact the row size. The DB2 storage approach gives the users a variety of choices going from ease of management (SMS) to high-performance (DMS devices). The SMS approach uses directories to store tables and indices. SMS only uses the needed disk storage instead of pre-allocation of the space. Using the file system for storage adds additional buffering overhead since the buffering is done in both the file system and in DB2. The DB2 storage flexibility makes it more attractive for small companies that cannot afford to spend time doing database administration.
14
Extent Allocation DB2 Informix
Extent Size set at the table space level Allocated in a round robin fashion among containers Valid for all tables within the table space Informix Extent size set at the table level Allocated in a serial manner
15
Tables DB2 One table per table space Partitioning in a EEE environment
Two extents are allocated at table creation time Extent map Data extent Informix Can span multiple db spaces (fragmentation) First and next extent control extent sizing Doubling after every 16 extents
16
Table Types DB2 Not logged initially Global Temp Table Volatile Table
Summary Tables Informix TEMP Scratch (XPS) Raw (XPS) Static (XPS) Operational (XPS) Standard (XPS) Addd’
17
Row size DB2 Determined by the page size Out-of-row objects: IDS/XPS
BLOB, CLOB, DBCLOB, LONG VARCHAR, LONG VARGRAPHIC IDS/XPS 32KB (page linking) (IDS) Out-of-row objects: BLOB, BYTE, CLOB, TEXT There is a difference between how rows are handled by DB2 and IDS/XPS. In DB2, the page size determines the row size. This has an impact on the maximum size of a type such as VARCHAR that is defined as having a maximum length of This is only true if the page size can accommodate it. There are some types that allow for larger storage. Then, a descriptor is inserted in the row instead of the data itself. The maximum size of the large object types (BLOB, CLOB, and DBCLOB) is 2GB. The IDS/XPS implementation uses a method of page linking to allow a maximum size of 32KB. The large objects are also stored out-of-row. The IDS/XPS types BYTE and TEXT are equivalent to DB2 BLOB and CLOB. The types BLOB and CLOB are only available on the IDS servers. They can store up to 4TB of information.
18
Object Names Sizes Object DB2 XPS IDS Database name 8 18 128
User name 8* 8 32 Table name Column name Index name Procedure name It is important to notice that schema object names have different length depending on the database server and the object itself. This has an impact when porting applications from competing database products to the IBM data management products. The problem usually occurs with column names. Note: 1. that the object name size is not an issue if we need to move from XPS to DB2. This migration would be ill-advised at the moment but should become a natural evolution in a few years. 2. The new XPS version, 8.40, now support long IDs. Users may start taking advantage of these long identifiers. This would complicate migrations to DB2 EEE.
19
Memory Usage IDS/XPS Instance memory shared by all databases (buffer pool, locks, heap, stack, sort, cache, etc) DB2 Instance shared memory Database shared memory (buffer pool, lock list, sort, heap, etc.) Application shared memory Agent private memory All database products use similar in-memory structures located in shared memory. The IDS/XPS products use a flat memory model where the instance manages all the memory for all databases. DB2 follows a different model. It is somewhat hierarchical in structure. The instance shared memory is allocated when the server is started. From the instance shared memory, all other memory is attached/allocated. The database shared memory is allocated when a database is activated or connected to for the first time. Application shared memory is allocated when an application connects to a database. This allocation only occurs in a partitioned database, or if intra-parallel is enabled. Note: There are configuration parameters indicating the maximum number of databases and applications that can be supported concurrently.
20
Indexes DB2 Separate Table space than table (DMS)
Forward and Reverse Scans B-Tree MDC Index Db2advis [Advisor] Informix Attached and Detached Indexes B-Tree R-Tree (IDS Only) Functional (IDS Only) Bitmap (XPS Only) GK (XPS Only) In IDS, the default indexing method is the B-tree. The B-tree has been extended to support user-defined types. The B-tree is also used in functional indexes where the result of a user-defined function is indexed. This provides the ability to index values that are not part of the original row. For example, it is possible to index the day of the week or the quarter out of the date stored in a row. The R-tree index is a multi-dimensional index. It is the foundation of the spatial indexing but could be used for other purposes such as indexing three values representing a color. The GK index is a specialized index that helps in DSS queries. The GK index stored the result of an expression in either a bitmap or a B-tree index. There are three categories of GK index: - Selectivity index which contains keys for only a subset of a table - Virtual column index, which contains keys that are the result of an expression - Join index, which contains keys that are the result of a query that joins multiple tables. DB2 uses B-trees but the optimizer can also create bitmap indexes in the case of decision support queries. Add …. More on the DB2 side ……….
21
Locking DB2 Row level is the default
LOCK parameters include: LOCKLIST and MAXLOCKS LOCK escalation can occur based on parameter settings Informix Specified at table creation Default is page ONCONFIG Parameter: LOCKS No Lock escalations
22
Logical Logs DB2 Logs allocated at Database level
Primary and secondary logs Circular logging Archival Logging Backed up using USEREXIT Dual logging Infinite log space Informix Logs allocated at Instance level Default is No logging Backed up using ontape onbar
23
Management [Analysis] Tools
DB2 Control Center (backup, index, configuration wizards) Alert center Performance monitor Snapshot Monitoring Locks BufferPools SQL Sort Operations Event Monitors Explain [dynexplain/db2exfmt] Informix onstat onparams onspaces, etc. ISA I-SPY Explain Addd
24
Utilities DB2 Import / Export REORGCHK REORG RUNSTATS db2look Db2batch
Load db2move Informix dbexport HPL Unload Load Update statistics dbschema External Table (XPS)
25
Backup / Restore DB2 Online Offline Incremental Delta Split Mirror
Redirected Restore Informix Level 0 Level 1 Level 2 EBR Imported Restore
26
Extensibility DB2 Types: Distinct Structured DB2 Functions Scalar
Table IDS Types: Distinct Row Opaque Collection (set, list, …) IDS Functions: Scalar Iterator Aggregate Despite the fact the DB2 does not support opaque types, it is sometimes possible to simulate an opaque type by using a distinct type of VARCHAR FOR BIT DATA. We must then use conversion functions explicitly to manipulate the opaque type. This provides some flexibility for interesting new types such as the Node type for hierarchical processing.
27
Data Blades and Extenders
DB2 Extenders Spatial XML Text Audio Video Image IDS Data Blades Spatial/geodetic Time Series, NAG Text, image, video Third parties IDS Bundles Financial Foundation Law Enforcement Foundation Other to come Both DB2 and IDS provides pre-packaged components that add functionality for specific problem domains. The IDS spatial datablade takes advantage of the R-tree index which allows for efficient processing of multi-dimensional data. DB2 now bundles the XML extender for no additional costs. Change this to minimize the issues ……… On the IDS front, you should pay particular attention to the TimeSeries and NAG datablades. These datablades are bundled together with additional functionality in the Financial Foundation bundle. This bundle provides advanced functionality for real-time stock ticker input and processing. This is starting to be noticed in the financial markets. Eventually (years) these datablades will be available in DB2.
28
DB2 Future features Autonomic Computing 4GL and ESQL/C (SQLI) support
IDS date types and functions IDS replication HDR in V8.2 IDS fragmentation R-Tree Indexes Time Series Data blade
29
IDS – The Future IDS 9.60 IDS 9.50 IDS 9.40 Announced GA March 28th
2006 Announced GA March 28th IDS 9.60 Backup & Restore enhancements High Availability Data Replication working with ER Remove Capacity Limitations >2gig chunk size Security Enhancements System Monitoring Enhancements track causes of deadlocks Utility Enhancements > 2gig file support Driven by Customer & Partner Requests 2005 Safety – High Availability XML Standards Compliance On-Line Reorg IDS 9.50 In Planning: 2004 Safety – High Availability Application Dev / XML / Stds. Compliance 4GL with WebSphere / IDS Autonomic / Ease of Administration Software Group Integration Security Enhancements Partner Enhancements Infrastructure Improvements Performance, Install, I-Star for Built-in UDTs Improve slide to minimize observations IDS 9.40 2003
30
Conclusion DB2 and IDS complement each other
The synergy between development groups will accelerate technology migration both ways The IBM portfolio strengthens the Informix position The DB2 federated approach helps support dual environments Think about this last one ..
31
For Additional Information
Web sites:
32
Questions?
Similar presentations
© 2025 SlidePlayer.com Inc.
All rights reserved.