InterBase

Last updated
InterBase
Developer(s) Embarcadero Technologies
Stable release
InterBase 2020 / December 2019;3 years ago (2019-12)
Operating system Cross-platform
Type Database management system
License Proprietary
Website www.embarcadero.com/products/interbase

InterBase is a relational database management system (RDBMS) currently developed and marketed by Embarcadero Technologies. InterBase is distinguished from other RDBMS's by its small footprint, close to zero administration requirements, and multi-generational architecture. [1] InterBase runs on the Microsoft Windows, macOS, Linux, and Solaris operating systems as well as iOS and Android.

Contents

Technology

InterBase is a SQL-92-compliant relational database and supports standard interfaces such as JDBC, ODBC, and ADO.NET.

Small footprint

A full InterBase server installation requires around 40 MB on disk. A minimum InterBase client install requires about 400 KB of disk space.

Embedded or server

InterBase can be run as an embedded database or regular server.

Data controller friendly inbuilt encryption

Since InterBase XE, InterBase includes 256-bit AES-strength encryption that offers full database, table or column data encryption. This assists data controllers conform with data protection laws around at-rest data by separating encryption and access to the database, ensuring the database file is encrypted wherever it resides. The separation of the encryption also enables developers to just develop the application rather than worry about the data visible from a specific user login.

Multi-generational architecture

Concurrency control

To avoid blocking during updates, Interbase uses multiversion concurrency control instead of locks . Each transaction will create a version of the record. Upon the write step, the update will fail rather than be blocked initially.

Rollbacks and recovery

InterBase also uses multi-generational records to implement rollbacks rather than transaction logs.

Drawbacks

Certain operations are more difficult to implement in a multi-generational architecture, and hence perform slowly relative to a more traditional implementation. One example is the SQL COUNT verb. Even when an index is available on the column or columns included in the COUNT, all records must be visited in order to see if they are visible under the current transaction isolation.

History

Multiversion concurrency control before InterBase

Multiversion concurrency control is described in some detail in sections 4.3 and 5.5 of the 1981 paper "Concurrency Control in Distributed Database Systems" [2] by Philip Bernstein and Nathan Goodman—then employed by the Computer Corporation of America. Bernstein and Goodman's paper cites a 1978 dissertation [3] by D.P. Reed which quite clearly describes MVCC and claims it as an original work.

Early years

Jim Starkey was working at DEC on their DATATRIEVE 4th generation language 4GL product when he came up with an idea for a system to manage concurrent changes by many users. The idea dramatically simplified the existing problems of locking which were proving to be a serious problem for the new relational database systems being developed at the time. Starkey, however, had the idea after he had spun off his original relational database project to another group and a turf war ensued. Starkey left the company after shipping the first version of the Rdb/ELN product.

Although InterBase's implementation is much more similar to the system described by Reed in his MIT dissertation than any other database that existed at the time and Starkey knew Bernstein from his previous position at the Computer Corporation of America and later at DEC, Starkey has stated that he arrived at the idea of multiversion concurrency control independently. [4] In the same comment, Starkey says:

The inspiration for multi-generational concurrency control was a database system done by Prime that supported page level snapshots. The intention of the feature was to give a reader a consistent view of the database without blocking writers. The idea intrigued me as a very useful characteristic of a database system.

He had heard that the local workstation vendor Apollo Computer was looking for a database offering on their Unix machines, and they agreed to fund development. With their encouragement he formed Groton Database Systems (named after the town, Groton, Massachusetts, where they were located) on Labor Day 1984 and started work on what would eventually be released as InterBase. In 1986 Apollo suffered a corporate shakeup and decided to exit the software business,[ citation needed ] but by this time the product was making money.

The road to Borland

Between 1986 and 1991 the product was gradually sold to Ashton-Tate, makers of the famous dBASE who were at the time purchasing various database companies in order to fill out their portfolio. The company was soon in trouble,[ citation needed ] and Borland purchased Ashton-Tate in 1991, acquiring InterBase as part of the deal.

Open source

In early 2000, Borland announced that InterBase would be released under open-source, and began negotiations to spin off a separate company to manage the product. When the people who were to run the new company and Borland could not agree on the terms of the separation, InterBase remained a Borland product, and the source code for InterBase version 6 was released under a variant of the Mozilla Public License in mid-2000.

With the InterBase division at Borland under new management, the company released a proprietary version of InterBase version 6 and then 6.5. Borland released several updates to the open source code before announcing that it would no longer actively develop the open source project. Firebird, an open source fork of the InterBase 6 code, however, remains in active development.

In 2001, a backdoor was discovered (and fixed) in the software that had been present in all versions since 1994. [5] [6] [7]

CodeGear

On February 8 of 2006, Borland announced the intention to sell their line of development tool products, including InterBase, Delphi, JBuilder, and other tools, [8] but instead of selling the divisions, Borland spun them out as a subsidiary on 14 November 2006. InterBase, along with IDE tools such as Delphi and JBuilder were included in the new company's product lineup. Then on 7 May 2008, Borland and Embarcadero Technologies announced that Embarcadero had "signed a definitive asset purchase agreement to purchase CodeGear." [9] The acquisition, for approximately $24.5 million, closed on 30 June 2008. [10]

Recent releases

At the end of 2002, Borland released InterBase version 7, featuring support for SMP, enhanced support for monitoring and control of the server by administrators. [11] Borland released InterBase 7.1 in June 2003, 7.5 in December 2004, and 7.5.1 on June 1, 2005.

In September 2006, Borland announced [12] the availability of InterBase 2007. Its new features include point in time recovery via journaling (which also allows recoverability without the performance penalty of synchronous writes), incremental backup, batch statement operations, new Unicode character encodings, and a new ODBC driver.

In September 2008, Embarcadero announced [13] the availability of InterBase 2009. Its new features include full database encryption, selective column-level data encryption and over-the-wire encryption offering secure TCP/IP communication via Secure Sockets Layer (SSL).

In September 2010, Embarcadero announced [14] the availability of InterBase XE. Its new features include a 64 bit client and server, improved security, improved scalability, support for dynamic SQL in stored procedures, and optimized performance of large objects with stream methods.

In 2013/2014 Embarcadero added iOS and then Android to the available supported platforms in InterBase XE3. Additionally InterBase IBLite was released - a run time royalty free edition of InterBase covering Windows, macOS, iOS and Android.

In December 2014, embarcadero released InterBase XE7 offering a brand new, patent pending change tracking technology called "Change Views.". Added Ubuntu to the certified Linux platforms and also added 64bit Linux support. Additional 64bit transaction ID's were introduced and new distinguished data dumps enabling rapid updates of read only copies of the master database.

In March 2017, Embarcadero released InterBase 2017. InterBase 2017 includes InterBase ToGo for Linux, Server wide monitoring support for InterBase Server, a number of language enhancements (including derived tables and common table expressions, truncate table for faster data removal), enhancements to Change Views for expanding a subscription with a table wide scope, new transaction isolation levels and transaction wait time management.

In Nov 2019, Embarcadero released InterBase 2020, followed by Update 1 release in May 2020. The InterBase 2020 release adds a number of new features, including tablespaces support for InterBase, allowing for better performance on servers with multiple data storage options. [15] [16]

See also

Related Research Articles

<span class="mw-page-title-main">IBM Db2</span> Relational model database server

Db2 is a family of data management products, including database servers, developed by IBM. It initially supported the relational model, but was extended to support object–relational features and non-relational structures like JSON and XML. The brand name was originally styled as DB/2, then DB2 until 2017 and finally changed to its present form.

C++Builder is a rapid application development (RAD) environment for developing software in the C++ programming language. Originally developed by Borland, as of 2009 it is owned by Embarcadero Technologies, a subsidiary of Idera. C++Builder can compile apps for Windows, iOS, macOS, and Android. It includes tools that allow drag-and-drop visual development, making programming easier by incorporating a WYSIWYG graphical user interface builder.

<span class="mw-page-title-main">Firebird (database server)</span> Relational database management system

Firebird is an open-source SQL relational database management system that supports Linux, Microsoft Windows, macOS and other Unix platforms. The database forked from Borland's open source edition of InterBase in 2000 but the code has been largely rewritten since Firebird 1.5.

SAP ASE (Adaptive Server Enterprise), originally known as Sybase SQL Server, and also commonly known as Sybase DB or Sybase ASE, is a relational model database server developed by Sybase Corporation, which later became part of SAP SE. ASE was developed for the Unix operating system, and is also available for Microsoft Windows.

<span class="mw-page-title-main">Delphi (software)</span> General-purpose programming language and a software product

Delphi is a general-purpose programming language and a software product that uses the Delphi dialect of the Object Pascal programming language and provides an integrated development environment (IDE) for rapid application development of desktop, mobile, web, and console software, currently developed and maintained by Embarcadero Technologies.

Btrieve is a transactional database software product. It is based on Indexed Sequential Access Method (ISAM), which is a way of storing data for fast retrieval. There have been several versions of the product for DOS, Linux, older versions of Microsoft Windows, 32-bit IBM OS/2 and for Novell NetWare.

<span class="mw-page-title-main">HSQLDB</span> Java-based database engine

HSQLDB is a relational database management system written in Java. It has a JDBC driver and supports a large subset of SQL-92, SQL:2008, SQL:2011, and SQL:2016 standards. It offers a fast, small database engine which offers both in-memory and disk-based tables. Both embedded and server modes are available.

<span class="mw-page-title-main">H2 (database)</span>

H2 is a relational database management system written in Java. It can be embedded in Java applications or run in client-server mode.

Jim Starkey is a database architect responsible for developing InterBase, the first relational database to support multi-versioning, the blob column type, type event alerts, arrays and triggers. Starkey is the founder of several companies, including the web application development and database tool company Netfrastructure and NuoDB.

In databases, and transaction processing, snapshot isolation is a guarantee that all reads made in a transaction will see a consistent snapshot of the database, and the transaction itself will successfully commit only if no updates it has made conflict with any concurrent updates made since that snapshot.

SAP SQL Anywhere is a proprietary relational database management system (RDBMS) product from SAP. SQL Anywhere was known as Sybase SQL Anywhere prior to the acquisition of Sybase by SAP.

Microsoft SQL Server is a proprietary relational database management system developed by Microsoft. As a database server, it is a software product with the primary function of storing and retrieving data as requested by other software applications—which may run either on the same computer or on another computer across a network. Microsoft markets at least a dozen different editions of Microsoft SQL Server, aimed at different audiences and for workloads ranging from small single-machine applications to large Internet-facing applications with many concurrent users.

An embedded database system is a database management system (DBMS) which is deeply integrated with an application software; it is built into the software or an application. It is a broad term which includes:

REAL Server is a relational database management system (RDBMS) built on top of the SQLite database engine.

Empress Embedded Database is a relational database management system that has been embedded into applications, including medical systems, network routers, nuclear power plant monitors, satellite management systems. Empress is an ACID compliant relational database management system (RDBMS) with two-phase commit and several transaction isolation levels for real-time embedded applications. It supports both persistent and in-memory storage of data and works with text, binary, multimedia, as well as traditional data.

eXtremeDB is a high-performance, low-latency, ACID-compliant embedded database management system using an in-memory database system (IMDS) architecture and designed to be linked into C/C++ based programs. It works on Windows, Linux, and other real-time and embedded operating systems.

FoundationDB is a free and open-source multi-model distributed NoSQL database developed by Apple Inc. with a shared-nothing architecture. The product was designed around a "core" database, with additional features supplied in "layers." The core database exposes an ordered key–value store with transactions. The transactions are able to read or write multiple keys stored on any machine in the cluster while fully supporting ACID properties. Transactions are used to implement a variety of data models via layers.

<span class="mw-page-title-main">Database Workbench</span>

Database Workbench is a software application for development and administration of multiple relational databases using SQL, with interoperationality between different database systems, developed by Upscene Productions.

This page details the history of the programming language and software product Delphi.

References

  1. Todd, Bill. "InterBase: What Sets It Apart". The Database Group, Inc. publications. Retrieved September 21, 2005.
  2. Bernstein, Philip A.; Goodman, Nathan (1981). "Concurrency Control in Distributed Database Systems". ACM Computing Surveys. 13 (2): 185–221. doi: 10.1145/356842.356846 . S2CID   30874 . Retrieved September 21, 2005.
  3. Reed, D.P. (1978). Naming and Synchronization in a Decentralized Computer System. MIT dissertation (Thesis). hdl:1721.1/16279 . Retrieved November 12, 2022.
  4. Starkey, Jim. "Weblog comment". Multiversion Concurrency Control Before InterBase. Archived from the original on October 23, 2007. Retrieved September 21, 2005.
  5. "CERT Advisory CA-2001-01 Interbase Server Contains Compiled-in Back Door Account". 11 January 2000. Archived from the original on 18 November 2001.
  6. "Backdoor account in Interbase database server allows remote attackers to overwrite arbitrary files using stored procedures". 12 January 2000. Archived from the original on 7 December 2012.
  7. "Borland/Inprise Interbase SQL database server contains backdoor superuser account with known password". 11 January 2001. Archived from the original on 17 December 2001.
  8. "Borland to Acquire Software Quality Company, Segue Software; Announces Plan to Divest IDE Product Lines" (Press release). Cupertino, CA. 8 February 2006. Archived from the original on 5 July 2006.
  9. Intersimone, David (2008-05-07). "Community Letter: Embarcadero Technologies agrees to acquire CodeGear from Borland". Archived from the original on 2012-04-15. Retrieved 2008-05-08.
  10. Bravo, Thoma (2008-07-01). "Embarcadero Technologies Closes Acquisition of CodeGear" . Retrieved 2008-07-03.
  11. "What's New in InterBase 7". Archived from the original on 5 February 2003.
  12. "Borland's Developer Tools Group Introduces InterBase 2007".
  13. "Embarcadero Announces High-Performance InterBase SMP 2009 Database". Archived from the original on 2009-08-23.
  14. "Embarcadero's New InterBase XE Offers Advanced Security and Scalability with Near-Zero Administration". Archived from the original on 2011-07-10.
  15. "InterBase Version History". embarcadero.
  16. "InterBase 2017 - What's New (DocWiki)" . Retrieved 2017-03-13.