hsqldb
- 100% Java Database
HyperSQL 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
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 datetime and interval arithmetic with and without time zone
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, table and correlated subqueries including IN, EXISTS, ANY, ALL
Views, temporary 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, 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.
SQL standard autoincrement IDENTITY column support plus 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, implemented as Java classes, or as SQL statements
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 stored procedures and functions
INSTEAD OF triggers which enable insert, update and delete on several table with a single statement
Full set of SQL Standard INFORMATION SCHEMA views
Query optimizer can use indexes for AND, OR, IN predicates
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
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
Powerful and compact Java command line and GUI tools for database management
Transfer tool for conversion of databases to / from other popular database management systems
This page last updated 10 Dec 2009
Java is a Trademark of Sun Microsystems, Inc. (under various licenses).
Contents of this page are ©2001-2009
The hsql Development Group.
All rights reserved under the terms of the applicable
Licenses
.