HSQLDB
Hyper Structured Query Language Database (HSQLDB)
is an SQL relational database management system written in
Java.
It has a JDBC driver conforming to ANSI SQL:2008 and supports a rich
subset of
SQL-92 (BNF tree format) plus SQL:1999 and SQL:2003 enhancements. It
is a small, fast, multithreaded engine and server with
in-memory and disk based tables, LOBs, transaction isolation,
encryption and ACID.
HSQLDB offers a small, fast database engine that
offers both in-memory and disk-based tables.
There are embedded and server modes available. Additionally,
this package 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.
HSQLDB is used as a database and persistence engine in many
open source software projects, such as OpenOffice.org,
Kurlo, JBoss,
Spring Framework as well as in commercial products, such as Mathematica
and Hedgehog.
Features include:
JAVA
- 100% Java
- Support JDK 1.1.x, 1.2.x, 1.3.x, 1.4.x
- Extensive JDBC interface support with batch statement and
scrollable ResultSet functionality
- Updatable, insertable ResultSet functionality
- Full JDBC DatabaseMetaData and ResultSetMetaData support
- Java stored procedures and functions
- Full support for PreparedStatement objects to speed up
query processing
SQL
- Relational Database Management System, which can store
Serializable Java objects
- Very extensive support for SQL:2008 Standard syntax,
including most optional features
- Supports all base data types of the SQL Standard,
including
BINARY, BIT, BOOLEAN, date-time, INTERVAL, BLOB, CLOB
- Supports user-defined DOMAIN types, including type
constraints
- Fast SELECT, INSERT, DELETE, UPDATE and MERGE operations
- INNER, LEFT OUTER, RIGHT OUTER and FULL joins
- NATURAL, USING and UNION joins
- UNION, EXCEPT, INTERSECT, including use of parentheses,
limits and offsets, ALL, DISTINCT and CORRESPONDING keywords
- Scalar (single value) SELECTS, row and correlated
subqueries including IN, EXISTS, ANY, ALL
- Views, Temp tables and sequences
- Updatable views
- Primary key, unique and check constraints on single or
multiple columns
- Referential Integrity (foreign keys) on multiple columns
with full cascading options (delete, update, set null, set default)
- ORDER BY, GROUP BY and HAVING
- COUNT, SUM, MIN, MAX, AVG and statistical aggregate
functions
- Full support for SQL expressions such as CASE .. WHEN ..
ELSE .. , NULLIF etc.
- SQL standard autoincrement column support plus sequences
- Transaction COMMIT, ROLLBACK and SAVEPOINT support
- Multiple schemata per database
- Triggers, implemented as Java classes, or as SQL
statements
- Database security with passwords, user rights and roles
with GRANT and REVOKE
- Extensive set of ALTER TABLE commands, including change
of
table column type
- SQL stored procedures and functions
Persistence
- In-memory tables for fastest operation
- Disk based tables for large data sets
- Text tables with external file data sources such as CSV
files
- Disk tables (CACHED TABLE) up to 16GB and text tables up
to
2GB each
- CLOB and BLOB storage up to 16 TB
- Size of each string or binary item only limited by memory
- Database dump as SQL script with or without data
Deployment
- Embedded (into Java applications) and Client-Server
operating modes
- Three client server protocols: HSQL, HTTP and HSQL-BER -
can run as an HTTP web server - all with SSL option
- Can be used in applets, read-only media (CD), inside
jars,
webstart and embedded applications
- Multiple databases per JVM
- ODBC support
Utilities
- Powerful and compact java command line and GUI tools for
database management
- Tranfer tool for conversion of databases to / from other
popular database managment systems
Return
to Relational Databases Home Page
Last Updated Monday, June 18 2012 @ 04:30 PM EDT |