HSQLDB

HSQLDB

Infobox Software
name = HSQLDB



caption = HSQL Database Manager
collapsible = yes
developer =
latest release version = 1.8.0.10
latest release date = release date|2008|06|02
latest preview version = 1.9.0
latest preview date =
operating system = Cross-platform
programming language = Java
genre = RDBMS
license = BSD license
website = http://hsqldb.org

HSQLDB (Hyperthreaded Structured Query Language Database) is a relational database management system written in Java. It is based on Thomas Mueller's discontinued Hypersonic SQL Project. [cite website | title=The new HSQLDB | publisher=hsqldb.org | url=http://hsqldb.org/] .

HSQLDB is available under a BSD license.

It has a JDBC driver and supports a large subset of SQL-92, SQL-99, and standards. [cite website | title=HSQLDB SQL Syntax | publisher=hsqldb.org | url=http://hsqldb.org/doc/guide/ch09.html] It offers a fast, [cite website | title=HSQLDB Performance Comparison | publisher=hsqldb.org | url=http://hsqldb.org/images/imola_retrieve.jpg] small (less than 100k in one version, around 600k in the standard version) database engine which offers both in-memory and disk-based tables. Embedded and server modes are available.

Additionally, it includes tools such as a minimal web server, in-memory query and management tools (can be run as applets), and a number of demonstration examples. It can run on Java runtimes from version 1.1 upwards, including free Java runtimes such as Kaffe.

HSQLDB is currently being used as a database and persistence engine in many open source software projects, such as OpenOffice.org Base and the Standalone Roller Demo, [cite website | title=Standalone Roller Demo | publisher=rollerweblogger.org | url=http://rollerweblogger.org/page/roller/20040707#try_roller_it_s_easy] as well as in commercial products, such as Mathematica or InstallAnywhere (starting with version 8.0).Fact|date=January 2008

Over 250 book titles document the use of HSQLDB for application development with frameworks such as Spring Framework or Hibernate. [cite website | title=Books referring to HSQLDB | publisher=Google Books | url=http://books.google.com/books?q=hsqldb&btnG=Search+Books ]

Transaction support

HSQLDB supports transaction isolation level 0 (read uncommitted) only. It means, an SQL query in one session might occasionally fetch uncommitted data from another session. [cite website | title = HSQLDB Documentation | url = http://hsqldb.sourceforge.net/doc/guide/ch02.html#N104FC] According to the official web site news section, "a separate version with multiversion row concurrency control was successfully developed and has undergone internal tests. This will be released as version 2.0". There is no information on when it will be available.

Data storage

HSQLDB has two main table types used for durable read-write data storage (i.e. if transaction has been successfully committed, it is guaranteed that the data will survive system failure and will keep its integrity).

The default MEMORY type stores all data changes to the disk in the form of an SQL script. During engine start up, these commands are executed and data is reconstructed into the memory. While this behavior is not suitable for very large tables, it provides highly regarded performance benefits and is easy to debug.

Another table type is CACHED and it allows to store gigabytes of data, at a cost of the slower performance. HSQLDB engine loads them only partially and synchronizes the data to the disk on transaction commits. However, the engine always loads all rows affected during an update into the memory. It renders very large updates impossible without splitting the work in smaller parts. [cite website | title = HSQLDB Documentation | url = http://hsqldb.org/doc/guide/ch05.html#N10DED]

Other table types allow for read-write CSV-file access (these tables can participate, for example, in queries with JOINs and simplify spreadsheet processing) and read-write non-durable in-memory data storage.

ee also

*List of relational database management systems
*Comparison of relational database management systems
*OpenOffice.org Base
*H2
*Apache Derby
* Change control

References

External links

* [http://hsqldb.org HSQLDB at SourceForge.net]
* [http://hsqldb.org/web/hsqlUsing.html Software using HSQLDB]
* [http://books.google.com/books?q=hsqldb&btnG=Search+Books Books referring to HSQLDB (Google Books)]


Wikimedia Foundation. 2010.

Игры ⚽ Нужна курсовая?

Look at other dictionaries:

  • HSQLDB — Тип Рел …   Википедия

  • Hsqldb — Entwickler: Thomas Müller Aktuelle Version: 1.8.0.10 (2. Juni 2008) Betriebssystem: plattformübergreifend Kategorie: Datenbanken …   Deutsch Wikipedia

  • HSQLDB — Entwickler Thomas Müller Aktuelle Version 2.2.5 (7. Juli 2011) Betriebssystem plattformübergreifend Kategorie Datenbanken Lizenz …   Deutsch Wikipedia

  • HSQLDB — HSQLDB. Hsqldb GNU/Linux. ? …   Wikipedia Español

  • HSQLDB — HSQL Database Manager. HSQLDB est un système de gestion de base de données relationnelle écrit en Java. Il est fondé sur le projet Hypersonic SQL de Thomas Mueller. Ce programme est disponible sous une licence BSD. Il possède un pilote JDBC et… …   Wikipédia en Français

  • HSQLDB.org — HSQLDB Entwickler: Thomas Müller Aktuelle Version: 1.8.0.10 (2. Juni 2008) Betriebssystem: plattformübergreifend Kategorie: Datenbanken …   Deutsch Wikipedia

  • HSQL — HSQLDB Entwickler: Thomas Müller Aktuelle Version: 1.8.0.10 (2. Juni 2008) Betriebssystem: plattformübergreifend Kategorie: Datenbanken …   Deutsch Wikipedia

  • Hsql — HSQLDB Entwickler: Thomas Müller Aktuelle Version: 1.8.0.10 (2. Juni 2008) Betriebssystem: plattformübergreifend Kategorie: Datenbanken …   Deutsch Wikipedia

  • HSQL — HSQLDB HSQL Database Manager. HSQLDB est un système de gestion de base de données relationnelles écrit en Java. Il est fondé sur le projet Hypersonic SQL de Thomas Mueller. Ce programme est disponible sous une licence BSD. Il possède un pilote… …   Wikipédia en Français

  • Comparison of relational database management systems — Programming language comparisons General comparison Basic syntax Basic instructions Arrays Associative arrays String operations …   Wikipedia

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”