HSQLDB - 100% Java Database
<
Download
> <
Support
> <
License
>
<
Features
> <
FAQ
> <
Documentation
> <
Changes
>
<
Developers
> <
Software using HSQLDB
>
<
SourceForge Project Page
>
Features Summary
General
Original code, based on in-depth study of database theory and the SQL Standard
Ahead of other open-source solutions in supported SQL features
The fastest overall open-source SQL implementation for small and medium sized databases
Three transaction control models, including lock based and MVCC models
Fully multithreaded
Compact code footprint
JAVA
100% Java
Support JDK 1.1.x, 1.2.x, 1.3.x, 1.4.x, 1.5.x, 1.6.x in HyperSQL 1.8.1 and 1.5.x and 1.6.x in HyperSQL 2.0
Extensive JDBC interface support with batch statement and scrollable ResultSet functionality
Updatable, insertable ResultSet functionality
Full JDBC DatabaseMetaData and ResultSetMetaData support
User-defined Java stored procedures and functions, including aggregate functions
Supports procedures with multiple INOUT params, and functions returning ResultSet and Array objects
Java triggers, including synchronous and asynchronous execution
Full support for CallableStatement and PreparedStatement, including batch execution to speed up data 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 datetime arithmetic with and without time zone
Full support for powerful INTERVAL expressions, such as (CURRENT_DATE - 3 MONTH)
Supports user-defined DOMAIN types, including type constraints
Supports ARRAY objects of other data types
Fast SELECT, INSERT, DELETE, UPDATE and MERGE operations
INNER, LEFT OUTER, RIGHT OUTER and FULL joins
NATURAL, USING and UNION joins
LATERAL and UNNEST in joins
UNION, EXCEPT, INTERSECT, including use of parentheses, limits and offsets, ALL, DISTINCT and CORRESPONDING keywords
Scalar (single value) SELECTS, row, table and correlated subqueries including IN, EXISTS, ANY, ALL
Views and temporary tables
Updatable, insertable into, deletable 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, HAVING, FETCH (LIMIT) and OFFSET
COUNT, SUM, MIN, MAX, AVG and statistical aggregate functions
Full support for SQL expressions such as CASE .. WHEN .. ELSE .. , NULLIF , BETWEEN, MATCHES, etc.
Extended SQL standard autoincrement IDENTITY column
Extended SQL stanaded support for sequences
SQL standard GENERATED columns calculated using other columns and function calls
Very extensive set of built-in functions
Transaction COMMIT, ROLLBACK and SAVEPOINT support
Multiple schemata per database
Triggers as blocks of SQL statements, including IF conditions
Database security with passwords, user rights and roles with GRANT and REVOKE down to column level
Extensive set of ALTER TABLE commands, including change of table column type
SQL user-defined stored procedures and functions with full SQL procedural language support
SQL user-defined aggregate functions
INSTEAD OF triggers which enable insert, update and delete on several tables with a single statement
Full set of SQL Standard INFORMATION SCHEMA views
Query optimizer can use indexes for AND, OR, IN predicates, also ORDER BY, MAX, MIN
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 can be used as SQL tables
Fast CLOB and BLOB storage up to 64 TB with no memory limit on individual LOB size
Disk tables (CACHED TABLE) up to 256GB and text tables up to 2GB each
Size of each string or binary item only limited by memory
Fast startup and shutdown with internal incremental backup feature
Online and offline backup capability
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
SQLTool, powerful and compact Java command line tools for database management, supports most leading databases
Two simple GUI database management tools
Transfer tool for conversion of databases to / from other popular database management systems
Test / script utility that can run SQL scripts with user-defined checks
This page last updated 8 June 2010
Java is a Trademark of Sun Microsystems, Inc. (under various licenses).
Contents of this page are ©2001-2010
The hsql Development Group.
All rights reserved under the terms of the applicable
Licenses
.