Chapter 1. Introduction

Table of Contents

Available formats for this document
Purpose of HSQLDB-BER
License and Documentation

If you notice any mistakes in this document, please email me at blaine.simpson@admc.com so that I can correct them. You can also email me if you have problems with the procedures explained herein, or if you have questions, comments, suggestions or complaints.

Available formats for this document

This document is available in several formats.

You may be reading this document right now at http://hsqldb-ber.sourceforge.net/HSQLDB-BER, or in a distribution somewhere else. I hereby call the document distribution from which you are reading this, your current distro.

http://hsqldb-ber.sourceforge.net/HSQLDB-BER hosts the latest versions of all available formats. If you want a different format of the same version of the document you are reading now, then you should try your current distro. If you want the latest version, you should try http://hsqldb-ber.sourceforge.net/HSQLDB-BER.

Sometimes, distributions other than http://hsqldb-ber.sourceforge.net/HSQLDB-BER do not host all available formats. So, if you can't access the format that you want in your current distro, you have no choice but to use the newest version at http://hsqldb-ber.sourceforge.net/HSQLDB-BER.

Table 1.1. Alternate formats of this document

formatyour distroat http://hsqldb-ber.sourceforge.net/HSQLDB-BER
Chunked HTML index.htmlhttp://hsqldb-ber.sourceforge.net/HSQLDB-BER/index.html
All-in-one HTML HSQLDB-BER.htmlhttp://hsqldb-ber.sourceforge.net/HSQLDB-BER/HSQLDB-BER.html
PDF HSQLDB-BER.pdfhttp://hsqldb-ber.sourceforge.net/HSQLDB-BER/HSQLDB-BER.pdf

Purpose of HSQLDB-BER

HSQLDB can be used with Perl via the DBI and DBD::JDBC modules, without this HSQLDB-BER product. You don't need HSQLDB-BER to access a fantastic database (HSQLDB) by coding perl to the DBI API. And, even though the DBD::JDBC documentation implies otherwise, you can even run HSQLDB database instances directly in the DBD::JDBC-supplied proxy server (by just using "mem", "file", or "resource" HSQLDB JDBC URLs). The purpose of HSQLDB-BER is to add the following important features.

Unique features of HSQLDB-BER

Ready-to-run yet Ultimately Extensible
You get a fully functional SQL database ready-to-run out of the box. Just extract the distribution zip file, run one command to start the preconfigured database server, and one command to run the sample perl script. Then, if you wish, you can then customize the database all you want (change persistence methods, import data, serve different protocols, embed other applications, etc.), and write all of the perl scripts you want (perhaps starting with the supplied sample perl script as a template).
No Proxy Server to Configure
You get the most inuitive-to-configure SQL database in existence (for anybody who isn't afraid to edit a couple simple properties files), without needing to learn how to configure and administer Vizcom's proxy server (which comes with DBD::JDBC). Unlike the Vizcom server, HSQLDB-BER's BerServer is administered exactly the same way as a traditional HSQLDB Server.

HSQLDB is better than any other database for use with DBD::JDBC because there will be no proxying involved. HSQLDB is already known for being the fastest of the fast databases. Whether you use the DBD::JDBC-supplied server or HSQLDB-BER, you can access HSQLDB directly from your perl scripts without the performance and resource cost of a proxy server.

The same HSQLDB JVM can serve the normal "hsql" protocol, the "ber" protocol for Perl clients, "hsqls", "http", "https", etc., all at the same time. This package comes with utilities which make it easy to run any of these combinations and to embed your own Java applications if you wish.

The auto-of-the-box configuration runs one Java JVM that serves both "hsql" JDBC requests, and "ber" perl requests. Client perl code just uses DBI with a resource locator string beginning with ber:hsqldb:. Java client code just uses JDBC with a JDBC URLs beginning with jdbc:hsqldb:hsql:.

License and Documentation

This project may be distributed according to the terms of the GNU GPL or the Perl Artistic License, with some portions also being covered by the HSQLDB license. The text of both licenses reside in distributed with HSQLDB-BER in the same directory as this file.

This document you are reading is the primary documentation for HSQLDB-BER. Documentation for the component technologies is not duplcated here. If you want documentation for HSQLDB, the DBD::JDBC or DBI perl modules, or perl programming, see the documentation for that product. See the Resources appendix below. You're better off to go by this document than the README.txt in the doc subdirectory of the HSQLDB-BER distribution, because this is the one that will be maintained most vigorously.