Upload
junior-richard-boone
View
240
Download
0
Tags:
Embed Size (px)
Citation preview
1188New developments in
InterBase since Year 2000
Sriram BalasubramanianStaff Engineer
Borland Software Corporation
Agenda• Introduction and Release history• Core Requirements• Development options• Deployment flexibility• Conclusion
Release history• 20th Century - InterBase 5.6 and before• Year 2000 - InterBase 6.0 and OpenSource
• Year 2001 - InterBase 6.5• Year 2002 - InterBase 7.0• Year 2003 - InterBase 7.1• Year 2004 - InterBase 7.5 (expected Q4’2004)
Core Requirements• Scalability and Performance• Monitoring• Stability• Security
Core Requirements• Scalability and Performance
– SMP support (including hyperthreading)– Garbage collector [IB6,7]– Configuration parameters customization [IB7]
• SWEEP_QUANTUM, USER_QUANTUM, MAX_THREADS, ENABLE_HYPERTHREADING
– Query execution• multi-segment index selection [IB7]• Duplicate index key storage and traversal [IB7]• NULL index key optimizations New in 7.5!
Core Requirements• Scalability and Performance (contd..)
– Transaction optimization for OIT/OAT• READ COMMITTED optimization [IB7]
– Database pagesize and cachesize• 16KB database pagesize New in 7.5! • 128K cache pages New in 7.5!
Core Requirements• Monitoring
– Performance and Usage Monitoring support via Temporary tables and SQL [IB7]
– InterBase Performance Monitor GUI tool integrated into IBConsole [IB7]
Core Requirements• Monitoring TablesTable nameTMP$ATTACHMENTS One row for each connection to a databaseTMP$DATABASE One row for each database you are attached toTMP$POOL_BLOCKS One row for each block of memory in each poolTMP$POOLS One row for each current memory poolTMP$PROCEDURES One row for each procedure executed since the current
connection beganTMP$RELATIONS One row for each relation referenced since the current
connection beganTMP$STATEMENTS One row for each statement currently executing for any
current connectionTMP$TRANSACTIONS One row for each transaction that is active or in limboTMP$TRIGGERS One row for each trigger executed since the current
connection began
Core Requirements• Stability
– Server stability #1 priority– Attachment shutdown via Performance
Monitoring Temp tables [IB7]– Cancellation of Long Running queries via
Performance Monitoring tables [IB7]– Client API for programmable Query (statement)
cancellation [IB6.5]– better error reporting of problem applications in
interbase.log [IB7]
Core Requirements• Security
– System schema security (different levels) [IB6.5]– Embedded User Authentication (EUA). (a.k.a.
database-level security) New in 7.5!
Development options• Connectivity• SQL enhancements• Usability• Tight integration with other Borland Solutions
Development options• Connectivity
– vigorously developed InterBase Express (IBX) components for Borland RAD tools
– Borland Data Provider for ADO.NET [IB7]– Extensive 3rd party support via other drivers
such as OleDB, Perl DBI for InterBase, etc. – All of the above use underlying InterBase API
library (unified interface) – type-4 JDBC driver for JAVA applications [IB7]– New INTL character set support [IB7]
Development options• SQL enhancements
– ROLE based SQL security [IB6]– Exact Numerics [IB6]– CASE, COALESCE, NULLIF New in 7.5!– subset selection from resultset using SQL ROWS
(similar to TOP/LIMIT in other DBs) [IB6.5]– Global Temporary Tables New in 7.5!– Embedded User Authentication commands for
Local Database security (extension) New in 7.5!– Larger metadata names [IB7]
Development options• ROWS clause
InterBase now supports a ROWS clause for SQL SELECT, UPDATE and DELETE statements. It has a general syntax of ROWS <lower_value> [TO <upper_value>] [BY <step_value>] [PERCENT] [WITH TIES]. The ROWS clause can be used in isolation or (most often) in conjunction with the SQL ORDER BY clause. The WITH TIES clause must be used in conjunction with ORDER BY.
The ROWS clause introduces three new InterBase SQL keywords: ROWS, TIES, and PERCENT.
Development options• Usability
– out-of-the-box IBConsole [IB6]– Management of multiple databases on multiple
servers from single GUI instance– Windows GUI to Windows/Linux/Solaris servers– SQL statement execution– User management– License management– Database backup and analysis via InterBase
Services API
Development options• Usability (contd..)
– integrated Performance Monitor for each database [IB7]
– 3rd party tools available for Data Migration and general use
Development options• Tight integration with other Borland Solutions
– InterBase Developer Edition comes *free* with RAD tools including Delphi, C++Builder, CBuilderX, JBuilder, C#Builder.
– Connectivity providers for development and deployment including BDP (ADO.NET), IBX, dbExpress, JDBC
– CTS 2.0 compliant JDBC driver for development with Borland Enterprise Server
Deployment flexibility• Low Total Cost of Ownership• Ease of Deployment
EMBED. DEPLOY. RELAX
Deployment flexibility• Low Total Cost of Ownership
– Licensing• new licensing packs
unlimited-users license per CPU [IB7]
buy only as many SMP licenses as you need [IB7]
50-user license [IB7]
Development Edition (only with Borland RAD tools) [IB7]
• VAR discountsResellers get good discounts for more
deployment
Activation file provided to circumvent registration
Deployment flexibility• Low Total Cost of Ownership
– Licensing costs• Borland shopping site at http://shop.borland.com• Craig Stuntz’s DB price chart and comparison with
other databases are available at http://blogs.teamb.com/craigstuntz/articles/412.aspx
Deployment flexibility• Low Total Cost of Ownership (contd..)
– Trial Editions• 90-day Trial versions Server Editions [IB7]
• Custom timeout licenses for Trial applications, if you are VAR [IB7]
– Multi-platform support• Windows (NT, 2000, 2003, XP)
• Linux (kernel 2.2 and 2.4)
• Solaris (7, 8, 9)
• 64-bit file size support [IB6.5]
Deployment flexibility• Low Total Cost of Ownership (contd..)
– worldwide support• Newsgroups support (TeamB and IB enthusiasts)
• Borland paid support (many levels)
• Community bug submission and voting (QC)
Deployment flexibility• Low Total Cost of Ownership (contd..)
– API for embedded deployments• Install API (for embedded silent installs) [IB6]
• License API (license administration) [IB6]
• Services API (server-side) [IB6]
Deployment flexibility• Low Total Cost of Ownership (contd..)
– Media transparency• Read-Only databases on RO media [IB6]
– Database location and server transparency• Server-side database aliases New in 7.5!
• Automatic server re-routing New in 7.5!
Deployment flexibility• Low Total Cost of Ownership (contd..)
– Deployment Scenarios• single-user application (Desktop Edition)
• departmental multi-user application server (Server Edition, 1-n user license, 1-n CPU license)
• web application tier (Server Edition, 1-n user license, 1-n CPU license, any supported platform)
• scenarios scalable from 1 to hundreds of simultaneous connections to database server
• Any mix of native, .NET, JDBC applications to ONE server
Questions?
Thank You
Session# 1188
New developments in InterBase since Year 2000
Please fill out the speaker evaluation
You can contact me further at …[email protected]