InterBase is a
relational database management system
A relational database is a (most commonly digital) database based on the relational model of data, as proposed by E. F. Codd in 1970. A system used to maintain relational databases is a relational database management system (RDBMS). Many relatio ...
(RDBMS) currently developed and marketed by
Embarcadero Technologies
Embarcadero Technologies, Inc. is an American computer software company that develops, manufactures, licenses, and supports products and services related to software through several product divisions. It was founded in 1993, went public in 2000, ...
. InterBase is distinguished from other RDBMSs by its small footprint, close to zero administration requirements, and multi-generational architecture. InterBase runs on the
Microsoft Windows
Windows is a group of several proprietary graphical operating system families developed and marketed by Microsoft. Each family caters to a certain sector of the computing industry. For example, Windows NT for consumers, Windows Server for serv ...
,
macOS
macOS (; previously OS X and originally Mac OS X) is a Unix operating system developed and marketed by Apple Inc. since 2001. It is the primary operating system for Apple's Mac computers. Within the market of desktop and lapt ...
,
Linux
Linux ( or ) is a family of open-source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991, by Linus Torvalds. Linux is typically packaged as a Linux distribution, which ...
,
Solaris
Solaris may refer to:
Arts and entertainment Literature, television and film
* ''Solaris'' (novel), a 1961 science fiction novel by Stanisław Lem
** ''Solaris'' (1968 film), directed by Boris Nirenburg
** ''Solaris'' (1972 film), directed by ...
operating system
An operating system (OS) is system software that manages computer hardware, software resources, and provides common services for computer programs.
Time-sharing operating systems schedule tasks for efficient use of the system and may also in ...
s as well as
iOS
iOS (formerly iPhone OS) is a mobile operating system created and developed by Apple Inc. exclusively for its hardware. It is the operating system that powers many of the company's mobile devices, including the iPhone; the term also includes ...
and
Android.
Technology
InterBase is a
SQL-92
SQL-92 was the third revision of the SQL database query language. Unlike SQL-89, it was a major revision of the standard. Aside from a few minor incompatibilities, the SQL-89 standard is forward-compatible with SQL-92.
The standard specificatio ...
-compliant
relational database
A relational database is a (most commonly digital) database based on the relational model of data, as proposed by E. F. Codd in 1970. A system used to maintain relational databases is a relational database management system (RDBMS). Many relatio ...
and supports standard interfaces such as
JDBC
Java Database Connectivity (JDBC) is an application programming interface (API) for the programming language Java, which defines how a client may access a database. It is a Java-based data access technology used for Java database connectivity. I ...
,
ODBC
In computing, Open Database Connectivity (ODBC) is a standard application programming interface (API) for accessing database management systems (DBMS). The designers of ODBC aimed to make it independent of database systems and operating systems. An ...
, 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 256bit 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 providing separated encryption / db access to the database and 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
Multiversion concurrency control (MCC or MVCC), is a concurrency control method commonly used by database management systems to provide concurrent access to the database and in programming languages to implement transactional memory.
Description
W ...
instead of ''
lock
Lock(s) may refer to:
Common meanings
*Lock and key, a mechanical device used to secure items of importance
*Lock (water navigation), a device for boats to transit between different levels of water, as in a canal
Arts and entertainment
* ''Lock ...
s''. 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
Multiversion concurrency control (MCC or MVCC), is a concurrency control method commonly used by database management systems to provide concurrent access to the database and in programming languages to implement transactional memory.
Description
W ...
is described in some detail in sections 4.3 and 5.5 of the 1981 paper "Concurrency Control in Distributed Database Systems" by
Philip Bernstein and Nathan Goodman—then employed by the Computer Corporation of America. Bernstein and Goodman's paper cites a 1978 dissertation by D.P. Reed which quite clearly describes
MVCC and claims it as an original work.
Early years
Jim Starkey
Jim Starkey (born January 6, 1949 in Illinois) is a database architect responsible for developing InterBase, the first relational database to support multi-versioning,Babcock, Charles"MySQL Database to Get Replication Monitoring, Multiversioning ...
was working at
DEC on their
DATATRIEVE
DATATRIEVE is a database query and report writer tool originally from Digital Equipment Corporation. It runs on the OpenVMS operating system, as well as several PDP-11 operating systems. DATATRIEVE's command structure is nearly plain English, and ...
4th generation language
4GL
A fourth-generation programming language (4GL) is any computer programming language that belongs to a class of languages envisioned as an advancement upon third-generation programming languages (3GL). Each of the programming language generations ai ...
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
A relational database is a (most commonly digital) database based on the relational model of data, as proposed by E. F. Codd in 1970. A system used to maintain relational databases is a relational database management system (RDBMS). Many relatio ...
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
A turf war is a fight over territory or resources, or may refer to:
Music
* ''Turf Wars'', a 2007 album by the Canadian band Daggermouth
* "Turf War", a song on the 2001 album ''Filmtracks 2000'' by American composer Bill
Television
* ''Turf Wa ...
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
Reed or Reeds may refer to:
Science, technology, biology, and medicine
* Reed bird (disambiguation)
* Reed pen, writing implement in use since ancient times
* Reed (plant), one of several tall, grass-like wetland plants of the order Poales
* Re ...
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. In the same comment, Starkey says:
The inspiration for multi-generational concurrency control was a database system done by Prime
A prime number (or a prime) is a natural number greater than 1 that is not a product of two smaller natural numbers. A natural number greater than 1 that is not prime is called a composite number. For example, 5 is prime because the only ways ...
that supported page level snapshots. The intention of the feature was to give a reader a consistent
In classical deductive logic, a consistent theory is one that does not lead to a logical contradiction. The lack of contradiction can be defined in either semantic or syntactic terms. The semantic definition states that a theory is consistent i ...
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
A workstation is a special computer designed for technical or scientific applications. Intended primarily to be used by a single user, they are commonly connected to a local area network and run multi-user operating systems. The term ''workstat ...
vendor
Apollo Computer
Apollo Computer Inc., founded in 1980 in Chelmsford, Massachusetts, by William Poduska (a founder of Prime Computer) and others, developed and produced Apollo/Domain workstations in the 1980s. Along with Symbolics and Sun Microsystems, Apollo wa ...
was looking for a database offering on their
Unix
Unix (; trademarked as UNIX) is a family of multitasking, multiuser computer operating systems that derive from the original AT&T Unix, whose development started in 1969 at the Bell Labs research center by Ken Thompson, Dennis Ritchie, and ot ...
machines, and they agreed to fund development. With their encouragement he formed Groton Database Systems (named after the town,
Groton, Massachusetts
Groton is a town in northwestern Middlesex County, Massachusetts, United States, within the Greater Boston metropolitan area. The population was 11,315 at the 2020 census. It is home to two prep schools: Lawrence Academy at Groton, founded in 17 ...
, where they were located) on
Labor Day
Labor Day is a federal holiday in the United States celebrated on the first Monday in September to honor and recognize the American labor movement and the works and contributions of laborers to the development and achievements of the United St ...
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, 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
dBase (also stylized dBASE) was one of the first database management systems for microcomputers and the most successful in its day. The dBase system includes the core database engine, a query system, a forms engine, and a programming language ...
who were at the time purchasing various database companies in order to fill out their portfolio. The company was soon in trouble, and
Borland
Borland Software Corporation was a computer technology company founded in 1983 by Niels Jensen, Ole Henriksen, Mogens Glad and Philippe Kahn. Its main business was the development and sale of software development and software deployment product ...
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
Open source is source code that is made freely available for possible modification and redistribution. Products include permission to use the source code, design documents, or content of the product. The open-source model is a decentralized sof ...
, 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
The Mozilla Public License (MPL) is a free and open-source weak copyleft license for most Mozilla Foundation software such as Firefox and Thunderbird The MPL license is developed and maintained by Mozilla, which seeks to balance the concerns ...
in mid-2000.
With the InterBase division at Borland under new management, the company released a