HSQLDB
File:Hsql.png HSQL Database Manager | |
Stable release | 1.8.1.1 / September 9, 2009 |
---|---|
Preview release | 2.0.0 RC 7 / December 9, 2009 |
Written in | Java |
Operating system | Cross-platform |
Size | 600 KB |
Development status | Active |
Type | RDBMS |
License | BSD license |
Website | http://hsqldb.org |
HSQLDB (Hyper Structured Query Language Database) is a relational database management system written in Java. HSQLDB is based on the discontinued Hypersonic SQL Project.[1].
HSQLDB is available under a BSD license.
It has a JDBC driver and supports a large subset of SQL-92, SQL-99, and SQL:2003 standards.[2] It offers a fast,[3] small (around 600 kilobytes 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,[4] as well as in commercial products, such as Mathematica or InstallAnywhere (starting with version 8.0).[citation needed]
Over 350 book titles document the use of HSQLDB for application development with frameworks such as Spring Framework or Hibernate.[5]
Transaction support
HSQLDB version 1.8.1 supports transaction isolation level 0 (read uncommitted) only. It means a SQL query in one session might occasionally fetch uncommitted data from another session.[6] Version 2.0 (currently a release candidate) supports read committed and serializable isolation levels with table level locks or with multiversion row concurrency control (MVCC).
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 a 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, which allows one to store gigabytes of data, at the 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. This renders very large updates impossible without splitting the work into smaller parts.[7]
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.
See also
- List of relational database management systems
- Comparison of relational database management systems
- OpenOffice.org Base
- H2
- Apache Derby
- Change control
References
This article needs additional citations for verification. Please help improve this article by adding reliable references. Unsourced material may be challenged and removed. (February 2008) |
This article needs references that appear in reliable third-party publications. Primary sources or sources affiliated with the subject are generally not sufficient for a Wikipedia article. Please add more appropriate citations from reliable sources. (February 2008) |
- ↑ "The new HSQLDB". hsqldb.org. http://hsqldb.org/.
- ↑ "HSQLDB SQL Syntax". hsqldb.org. http://hsqldb.org/doc/guide/ch09.html.
- ↑ "HSQLDB Performance Comparison". hsqldb.org. http://hsqldb.org/images/imola_retrieve.jpg.
- ↑ "Standalone Roller Demo". rollerweblogger.org. http://rollerweblogger.org/page/roller/20040707#try_roller_it_s_easy.
- ↑ "Books referring to HSQLDB". Google Books. http://books.google.com/books?q=hsqldb&btnG=Search+Books.
- ↑ "HSQLDB Documentation". http://hsqldb.sourceforge.net/doc/guide/ch02.html#N104FC.
- ↑ "HSQLDB Documentation". http://hsqldb.org/doc/guide/ch05.html#N10DED.
External links
ca:HSQLDB cs:HSQLDB de:HSQLDB es:HSQLDB fr:HSQLDB it:HSQLDB lt:HSQLDB ja:HSQLDB pl:HSQLDB pt:HSQLDB ru:HSQLDB uk:HSQLDB
If you like SEOmastering Site, you can support it by - BTC: bc1qppjcl3c2cyjazy6lepmrv3fh6ke9mxs7zpfky0 , TRC20 and more...
- Pages where expansion depth is exceeded
- Pages with broken file links
- All articles with unsourced statements
- Articles with unsourced statements from January 2008
- Articles with invalid date parameter in template
- Articles needing additional references from February 2008
- All articles needing additional references
- Articles lacking reliable references from February 2008
- All articles lacking reliable references
- Open source database management systems
- Java platform software
- SQL