InterBase
Encyclopedia
InterBase is a relational database management system
Relational database management system
A relational database management system is a database management system that is based on the relational model as introduced by E. F. Codd. Most popular databases currently in use are based on the relational database model....

 (RDBMS) currently developed and marketed by Embarcadero Technologies
Embarcadero Technologies
Embarcadero Technologies is an American computer software company that develops, manufactures, licenses, and supports a wide range of products and services related to software through its various dynamic product divisions...

. InterBase is distinguished from other DBMSs by its small footprint, close to zero administration requirements, and multi-generational architecture. InterBase runs on the Linux
Linux
Linux is a Unix-like computer operating system assembled under the model of free and open source software development and distribution. The defining component of any Linux system is the Linux kernel, an operating system kernel first released October 5, 1991 by Linus Torvalds...

, Microsoft Windows
Microsoft Windows
Microsoft Windows is a series of operating systems produced by Microsoft.Microsoft introduced an operating environment named Windows on November 20, 1985 as an add-on to MS-DOS in response to the growing interest in graphical user interfaces . Microsoft Windows came to dominate the world's personal...

, Mac OS X
Mac OS X
Mac OS X is a series of Unix-based operating systems and graphical user interfaces developed, marketed, and sold by Apple Inc. Since 2002, has been included with all new Macintosh computer systems...

 and Solaris operating system
Operating system
An operating system is a set of programs that manage computer hardware resources and provide common services for application software. The operating system is the most important type of system software in a computer system...

s.

Technology

In many respects, InterBase is quite conventional; it is a SQL-92
SQL
SQL is a programming language designed for managing data in relational database management systems ....

-compliant relational database
Relational database
A relational database is a database that conforms to relational model theory. The software used in a relational database is called a relational database management system . Colloquial use of the term "relational database" may refer to the RDBMS software, or the relational database itself...

 and supports standard interfaces such as JDBC, ODBC, and ADO.NET
ADO.NET
ADO.NET is a set of computer software components that programmers can use to access data and data services. It is a part of the base class library that is included with the Microsoft .NET Framework. It is commonly used by programmers to access and modify data stored in relational database systems,...

. However, certain technical features distinguish InterBase from other products.

Small footprint

A full InterBase 2009 server installation requires around 40 MB
Megabyte
The megabyte is a multiple of the unit byte for digital information storage or transmission with two different values depending on context: bytes generally for computer memory; and one million bytes generally for computer storage. The IEEE Standards Board has decided that "Mega will mean 1 000...

 on disk. This is significantly smaller than the client installation of many competing database servers. The server uses very little memory when idle. A minimum InterBase client install requires about 400 KB
Kilobyte
The kilobyte is a multiple of the unit byte for digital information. Although the prefix kilo- means 1000, the term kilobyte and symbol KB have historically been used to refer to either 1024 bytes or 1000 bytes, dependent upon context, in the fields of computer science and information...

 of disk space.

Embedded or server

InterBase offers the option to run as an embedded database or regular server.

Minimal administration

InterBase servers typically do not require full-time database administrator
Database administrator
A database administrator is a person responsible for the design, implementation, maintenance and repair of an organization's database. They are also known by the titles Database Coordinator or Database Programmer, and is closely related to the Database Analyst, Database Modeller, Programmer...

s.

Concurrency control

Consider a simple banking application where two users have access to the funds in a particular account. Bob reads the account and finds there is 1000 dollars in it, so he withdraws 500. Jane reads the same account before Bob has changed it, sees 1000 dollars, and withdraws 800. The account should be 300 dollars overdrawn, however, depending on which transaction gets processed first it will contain either 500 or 200 dollars. This poses a serious problem and needless to say, any database system with multi-user access needs some sort of system to deal with these scenarios.

The techniques used to solve this and other related problems are known in the database industry as concurrency control
Concurrency control
In information technology and computer science, especially in the fields of computer programming , operating systems , multiprocessors, and databases, concurrency control ensures that correct results for concurrent operations are generated, while getting those results as quickly as possible.Computer...

.

Traditional products used locks which stated that a particular transaction
Database transaction
A transaction comprises a unit of work performed within a database management system against a database, and treated in a coherent and reliable way independent of other transactions...

 was going to modify a record. Once the lock was placed, no one else could read or modify the data until the lock was released. The lock may block changes to a single record, a page (a group of records stored together on disk) of records, or every record examined by a particular transaction, depending on the lock resolution. Lock resolution is a tradeoff between performance and accuracy—by blocking updates at the page level, for example, some updates will be blocked which do not in fact conflict with updates made by other transactions, but performance will be improved in comparison with record level locks.

Locking becomes an even bigger problem when combined with another feature common to all such systems, isolation. This is because transactions typically involve both a read and a write—in this example, to read the value of the account and then change it. In order to show an isolated view of the data the entire transaction, including records read but never written to, must be locked in many database servers.

In InterBase, readers do not block writers. Instead, each record in the database can exist in more than one version. For instance, when Bob and Jane read the accounts they would both get "version 1", reading 1000 dollars. When Bob then changes the account to make his withdrawal the data is not overwritten, but instead a new "version 2" will be created with 500 dollars. Jane's attempt to make her 800 dollar withdrawal will notice that there is a new version 2, and her attempt to make a withdrawal will fail.

This approach to concurrency control is called multiversion concurrency control
Multiversion concurrency control
Multiversion concurrency control , in the database field of computer science, 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.For instance, a database will...

. InterBase's implementation of multiversion concurrency control is commonly called its multi-generational architecture. InterBase was the second commercial database to use this technique; the first was DEC
Digital Equipment Corporation
Digital Equipment Corporation was a major American company in the computer industry and a leading vendor of computer systems, software and peripherals from the 1960s to the 1990s...

's Rdb/ELN.

Multiversion concurrency control also makes true snapshot
Snapshot isolation
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...

 transaction isolation relatively simple to implement. A transaction with snapshot isolation in InterBase shows the state of the database precisely as it was at the instant the transaction began. This is very useful for backups of an active database
Active database
An Active Database is a database that includes an event driven architecture which can respond to conditions both inside and outside the database. Possible uses include security monitoring, alerting, statistics gathering and authorization.Most modern relational databases include active database...

, long-running batch processes, and the like.

Rollbacks and recovery

InterBase also uses its multi-generational architecture to implement rollbacks
Rollback (data management)
In database technologies, a rollback is an operation which returns the database to some previous state. Rollbacks are important for database integrity, because they mean that the database can be restored to a clean copy even after erroneous operations are performed...

. Most database servers use logs to implement the rollback feature, which can result in rollbacks taking a long time or possibly even requiring manual intervention. By contrast, InterBase's rollbacks are near-instantaneous and never fail.

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.

Multiversion concurrency control before InterBase

Multiversion concurrency control
Multiversion concurrency control
Multiversion concurrency control , in the database field of computer science, 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.For instance, a database will...

 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
Phil Bernstein
Phil Bernstein is a computer scientist specializing in database research in the Database Group of Microsoft Research. Bernstein is also an affiliate professor at the University of Washington and frequent committee member or chair of conferences such as VLDB and SIGMOD. He won the SIGMOD Edgar F...

 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
Multiversion concurrency control
Multiversion concurrency control , in the database field of computer science, 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.For instance, a database will...

 and claims it as an original work.

Early years

Jim Starkey
Jim Starkey
Jim Starkey is a database architect who developed InterBase, the first relational database to support multi-versioning, the blob column type , type event alerts, arrays and triggers. He founded the web application development and database tool company Netfrastructure. The provides a brief history...

 was working at DEC
Digital Equipment Corporation
Digital Equipment Corporation was a major American company in the computer industry and a leading vendor of computer systems, software and peripherals from the 1960s to the 1990s...

 on their Datatrieve
DATATRIEVE
DATATRIEVE is a database query and report writer tool that runs on OpenVMS operating system as well as several PDP-11 operating systems. Its command structure is nearly plain English, and it is an early example of a Fourth Generation Language...

 network database 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
Relational database
A relational database is a database that conforms to relational model theory. The software used in a relational database is called a relational database management system . Colloquial use of the term "relational database" may refer to the RDBMS software, or the relational database itself...

 systems being developed at the time. He started working on the system at DEC, but at the time DEC had just started a relational database effort which lead to the Rdb/VMS
Oracle Rdb
Rdb/VMS is a relational database management system for the Hewlett-Packard OpenVMS operating system. It was originally created by Digital Equipment Corporation in 1984 as part of the VMS Information Architecture, intended to be used for data storage and retrieval by high-level languages and/or...

 product. When they found out about his project a turf war
Turf war
According to Wordnet the definition of a turf war is "a bitter struggle for territory or power or control or rights". For example: a turf war erupted between street gangs; the president's resignation was the result of a turf war with the board of directors. In larger companies Turf wars could...

 broke out (although the product was released as Rdb/ELN), and Starkey eventually decided to quit.

Although InterBase's implementation is much more similar to the system described by Reed
David P. Reed
David P. Reed is an American computer scientist, educated at the Massachusetts Institute of Technology, known for a number of significant contributions to computer networking....

 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
Prime Computer
Prime Computer, Inc. was a Natick, Massachusetts-based producer of minicomputers from 1972 until 1992. The alternative spellings "PR1ME" and "PR1ME Computer" were used as brand names or logos by the company.-Founders:...

 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
Workstation
A workstation is a high-end microcomputer designed for technical or scientific applications. Intended primarily to be used by one person at a time, they are commonly connected to a local area network and run multi-user operating systems...

 vendor Apollo Computer
Apollo Computer
Apollo Computer, Inc., founded 1980 in Chelmsford, Massachusetts by William Poduska and others, developed and produced Apollo/Domain workstations in the 1980s. Along with Symbolics and Sun Microsystems, Apollo was one of the first vendors of graphical workstations in the 1980s...

 was looking for a database offering on their Unix
Unix
Unix is a multitasking, multi-user computer operating system originally developed in 1969 by a group of AT&T employees at Bell Labs, including Ken Thompson, Dennis Ritchie, Brian Kernighan, Douglas McIlroy, and Joe Ossanna...

 machines, and they agreed to fund development. With their encouragement he formed Groton Database Systems (named after the town, Groton, Massachusetts
Groton, Massachusetts
Groton is a town located in northwestern Middlesex County, Massachusetts. The population was 10,646 at the 2010 census. It is home to two noted prep schools: Groton School, founded in 1884, and Lawrence Academy at Groton, founded in 1793. The historic town hosts the National Shepley Hill Horse...

, where they were located) on Labor Day
Labor Day
Labor Day is a United States federal holiday observed on the first Monday in September that celebrates the economic and social contributions of workers.-History:...

 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
Ashton-Tate
Ashton-Tate was a US based software company best known for developing the popular dBASE database application. Ashton-Tate grew from a small garage-based company to become a multinational corporation...

, makers of the famous dBASE
DBASE
dBase II was the first widely used database management system for microcomputers. It was originally published by Ashton-Tate for CP/M, and later on ported to the Apple II and IBM PC under DOS...

 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
Borland Software Corporation is a software company first headquartered in Scotts Valley, California, Cupertino, California and finally Austin, Texas. It is now a Micro Focus subsidiary. It was founded in 1983 by Niels Jensen, Ole Henriksen, Mogens Glad and Philippe Kahn.-The 1980s:...

 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
The term open source describes practices in production and development that promote access to the end product's source materials. Some consider open source a philosophy, others consider it a pragmatic methodology...

, 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
Mozilla Public License
The Mozilla Public License is a free and open source software license. Version 1.0 was developed by Mitchell Baker when she worked as a lawyer at Netscape Communications Corporation and version 1.1 at the Mozilla Foundation...

 in mid-2000.

With the InterBase division at Borland under new management, the company released a proprietary
Proprietary software
Proprietary software is computer software licensed under exclusive legal right of the copyright holder. The licensee is given the right to use the software under certain conditions, while restricted from other uses, such as modification, further distribution, or reverse engineering.Complementary...

 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
Firebird (database server)
Firebird is an open source SQL relational database management system that runs on Linux, Windows, and a variety of Unix. The database forked from Borland's open source edition of InterBase in 2000, but since Firebird 1.5 the code has been largely rewritten ....

, 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.

CodeGear

On February 8 of 2006, Borland announced the intention to sell their line of development tool products, including InterBase, Delphi
Borland Delphi
Embarcadero Delphi is an integrated development environment for console, desktop graphical, web, and mobile applications.Delphi's compilers use its own Object Pascal dialect of Pascal and generate native code for 32- and 64-bit Windows operating systems, as well as 32-bit Mac OS X and iOS...

, JBuilder
JBuilder
JBuilder is an integrated development environment for the programming language Java, from Borland, and then CodeGear. Codegear was purchased by Embarcadero Technologies in 2008....

, and other tools.http://www.borland.com/us/company/news/press_releases/2006/02_08_06_borland_acquires_segue_software.html But instead of selling the divisions, Borland spun them out
Spin out
A spin-out, also known as a spin-off or a starburst, refers to a type of corporate action where a company "splits off" sections of itself as a separate business....

 as a subsidiary on 14 November 2006. InterBase, along with IDE tools such as Delphi
Borland Delphi
Embarcadero Delphi is an integrated development environment for console, desktop graphical, web, and mobile applications.Delphi's compilers use its own Object Pascal dialect of Pascal and generate native code for 32- and 64-bit Windows operating systems, as well as 32-bit Mac OS X and iOS...

 and JBuilder
JBuilder
JBuilder is an integrated development environment for the programming language Java, from Borland, and then CodeGear. Codegear was purchased by Embarcadero Technologies in 2008....

 are included in the new company's product lineup. Then, on 7 May 2008, Borland and Embarcadero Technologies
Embarcadero Technologies
Embarcadero Technologies is an American computer software company that develops, manufactures, licenses, and supports a wide range of products and services related to software through its various dynamic product divisions...

 announced that Embarcadero had "signed a definitive asset purchase agreement to purchase CodeGear." The acquisition, for approximately $24.5 million, closed on 30 June 2008.

Recent releases

At the end of 2002, Borland released InterBase version 7, featuring support for SMP
Symmetric multiprocessing
In computing, symmetric multiprocessing involves a multiprocessor computer hardware architecture where two or more identical processors are connected to a single shared main memory and are controlled by a single OS instance. Most common multiprocessor systems today use an SMP architecture...

, enhanced support for monitoring and control of the server by administrators, and more. 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 the availability of InterBase 2007. Its new features include point in time recovery via journaling
Journaling file system
A journaling file system is a file system that keeps track of the changes that will be made in a journal before committing them to the main file system...

 (which also allows recoverability without the performance penalty of synchronous writes), incremental backup
Incremental backup
An incremental backup preserves data by not creating multiple copies that are based on the differences in those data: a successive copy of the data contains only that portion which has changed since the preceding copy has been created.-Incremental:...

, batch statement operations, new Unicode
Unicode
Unicode is a computing industry standard for the consistent encoding, representation and handling of text expressed in most of the world's writing systems...

 character encoding
Character encoding
A character encoding system consists of a code that pairs each character from a given repertoire with something else, such as a sequence of natural numbers, octets or electrical pulses, in order to facilitate the transmission of data through telecommunication networks or storage of text in...

s, and a new ODBC
Open Database Connectivity
In computing, ODBC is a standard C interface for accessing database management systems . The designers of ODBC aimed to make it independent of database systems and operating systems...

driver.

In September 2008, Embarcadero announced 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 SSL.

In September 2010, Embarcadero announced 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.

External links

The source of this article is wikipedia, the free encyclopedia.  The text of this article is licensed under the GFDL.
 
x
OK