Movatterモバイル変換


[0]ホーム

URL:


Jump to content
WikipediaThe Free Encyclopedia
Search

HSQLDB

From Wikipedia, the free encyclopedia
Java-based database engine
This article has multiple issues. Please helpimprove it or discuss these issues on thetalk page.(Learn how and when to remove these messages)
icon
This articleneeds additional citations forverification. Please helpimprove this article byadding citations to reliable sources. Unsourced material may be challenged and removed.
Find sources: "HSQLDB" – news ·newspapers ·books ·scholar ·JSTOR
(February 2008) (Learn how and when to remove this message)
icon
This articlerelies excessively onreferences toprimary sources. Please improve this article by addingsecondary or tertiary sources.
Find sources: "HSQLDB" – news ·newspapers ·books ·scholar ·JSTOR
(February 2008) (Learn how and when to remove this message)
(Learn how and when to remove this message)
HSQLDB (HyperSQL DataBase)
HSQL Database Manager
Initial release2001; 25 years ago (2001)
Stable release
2.7.4 / 3 November 2024; 15 months ago (3 November 2024)
Written inJava
Operating systemCross-platform
Size10.8 MB (2.6.0 ZIP file)[1]
TypeRDBMS
LicenseBSD
Websitehsqldb.org Edit this on Wikidata
Repository

HSQLDB (HyperSQLDatabase) is arelational database management system written inJava. It has aJDBC driver and supports a large subset ofSQL-92,SQL:2008,SQL:2011, andSQL:2016 standards.[2] It offers a fast,[3] small (around 1300 kilobytes in version 2.2)database engine which offers bothin-memory and disk-based tables. Both embedded and server modes are available.

Additionally, it includes tools such as a minimalWeb server, command line and GUI management tools (can be run as applets), and a number of demonstration examples. It can run on Java runtimes from version 1.1 upwards, includingfree Java implementations such asKaffe.

HSQLDB is available under aBSD license. It is used as a database and persistence engine in manyopen source software projects, such as descendants ofOpenOffice.org Base (i.e.,Apache OpenOffice Base,LibreOffice Base, etc.), and theJitsi VoIP and video-conference client since version 2.6.[4] It is also used in commercial products, such asMathematica and InstallAnywhere (starting with version 8.0).[5]

Transaction support

[edit]

HSQLDB version 2.0 has three transaction control modes. It supports read committed and serializabletransaction isolation levels with table level locks or withmultiversion concurrency control (MVCC), or a combination of locks and MVCC. Version 1.8.1 supports transaction isolation level 0 (read uncommitted) only.[6]

Data storage

[edit]

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

The default MEMORY type stores all data changes to the disk in the form of aSQL script. During engine start-up, these commands are executed and data are reconstructed into the memory.

Another table type is CACHED, which allows one to store more data, at the cost of the slower performance. The 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 access tocomma-separated values (CSV) files. These tables can participate, for example, in queries with JOINs and simplify spreadsheet processing and read-write non-durable in-memory data storage.

SQL features

[edit]

HSQLDB 2.0 supports all the core features and many optional features ofSQL:2008. Advanced features include user-defined SQL procedures and functions, schemas, datetime intervals, updatable views, arrays, lobs, full and lateral joins andset operations. Many non-standard functions such as TO_CHAR and DECODE are also supported. Extensions to standard SQL include user-definedaggregate functions.

Releases

[edit]

Several versions of HSQLDB have been released since 2001. Early versions were based on the discontinued HypersonicSQL database engine. Version 2.0, released in 2010, is mostly new code, written to conform to StandardSQL andJDBC 4 Specification.[8]

Version 2.3.2 (released in 2014) is fully multi-threaded and supports high performancetwo-phase locking andMVCC (multiversion concurrency control) transaction control models.

See also

[edit]

References

[edit]
  1. ^"Home / hsqldb / hsqldb_2_6".HyperSQL Database Engine (HSQLDB). SourceForge. 21 March 2021. Retrieved1 April 2021.
  2. ^"HSQLDB SQL Syntax". hsqldb.org.
  3. ^"PolePosition Performance Comparison". polepos.org.
  4. ^"Jitsi build 5390 release notes". Jitsi.org. Archived fromthe original on 2015-02-02. Retrieved2015-02-01.
  5. ^"Software using HSQLDB". hsqldb.org.
  6. ^"HSQLDB Documentation". hsqldb.org.
  7. ^"HSQLDB Documentation". hsqldb.org. Archived fromthe original on 2015-05-02. Retrieved2007-11-11.
  8. ^"The new HSQLDB". hsqldb.org.

External links

[edit]
Retrieved from "https://en.wikipedia.org/w/index.php?title=HSQLDB&oldid=1331405214"
Categories:
Hidden categories:

[8]ページ先頭

©2009-2026 Movatter.jp