1188 New developments in InterBase since Year 2000 Sriram Balasubramanian Staff Engineer Borland...

Preview:

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 …bsriram@borland.com

Recommended