1188 Development of InterBase since year 2000

Download Report

Transcript 1188 Development of InterBase since year 2000

1188
New developments in
InterBase since Year 2000
Sriram Balasubramanian
Staff 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 Tables
Table name
TMP$ATTACHMENTS One row for each connection to a database
TMP$DATABASE One row for each database you are attached to
TMP$POOL_BLOCKS One row for each block of memory in each pool
TMP$POOLS One row for each current memory pool
TMP$PROCEDURES One row for each procedure executed since the current connection
began
TMP$RELATIONS One row for each relation referenced since the current connection
began
TMP$STATEMENTS One row for each statement currently executing for any current
connection
TMP$TRANSACTIONS One row for each transaction that is active or in limbo
TMP$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 discounts
Resellers 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]