Application programmers can not live with out database engines. Especially the Java/J2EE developers. There are of course biggies like Oracle, MS SQL, Sybase, so on and so forth. But, many a times, we may develop smaller lightweight applications that may not need complex database engine at the backend. You may want to embed or use a smaller database engines that are of few MBs or lesser than 10MB in size. Distribution of App becomes easy, less system requirements, probably it will cost nothing to maintain these small databases, the advantages are many. Here is a list of such lightweight Database Engines written entirely in Java and that can be embedded in Java programs.
Apache Derby
Apache Derby, an Apache DB subproject, is an open source relational database implemented entirely in Java and available under the Apache License, Version 2.0. Some key advantages include: 
-
Derby is tiny - about 2 megabytes for the base engine and embedded JDBC driver.
-
Derby is based on the Java, JDBC, and SQL standards.
-
Derby provides an embedded JDBC driver that lets you embed Derby in any Java-based solution.
-
Derby also supports the more familiar client/server mode with the Derby Network Client JDBC driver and Derby Network Server.
-
Derby is easy to install, deploy, and use.
-
Active forum for help.
More here.
H2 Database Engine
-
Very fast, open source, JDBC API
-
Embedded and server modes; in-memory databases
-
Browser based Console application
-
Small footprint: around 1 MB jar file size
More here.
HSQLDB – HyperSQL
A small, fast, multithreaded engine and server with in-memory and disk based tables, LOBs, transaction isolation, encryption and ACID.
More here.
SmallSQL
-
It is embeddable in you application. There is no additional setup required. 100% java!
-
It is a very small Java library.
-
The quality is tested with JUnit and Emma Coverage.
More here.
Axion
Axion is a small, fast, open source relational database system (RDBMS) supporting SQL and JDBC written in and for the Java programming language.
More here.
TinySQL
tinySQL is a lightweight, 100% Java SQL engine that also includes a JDBC driver. It was featured in the book Java Database Programming.
More here.
McKoi SQL
Mckoi SQL Database is an Open Source SQL Database System written in Java. Mckoi SQL Database was started in 1998, and the goal was to build a database management system in a traditional shared disk/shared memory style architecture. Mckoi SQL Database includes some nice features such as write-ahead-logging. Many of the design ideas implemented in this project were carried through into MckoiDDB, the evolution of this project.
More here.
NeoDatis Database
NeoDatis ODB is a very simple Object Database that currently runs on the Java, .Net, Google Android, Groovy and Scala.
More here.
JODB Mini
Mini is the reduced version of JODB suitable for environments with especially restricted resources. The Android mobile platform is one of the obvious examples of such an environment.
More here.
Jalisto
Jalisto from Xcalia (www.xcalia.com) is a lightweight transactional database written entirely in Java. Jalisto comes in two versions: Jalisto SE (Standard Edition) and Jalisto ME (Micro Edition for J2ME).
More here.
Aviantes
A 100% pure Java, lightweight, single file embeddable database. Similar to a combination of SQLite and BerkeleyDB. Developed for use with PDA and Mobile applications.
More here.
Ashpool
A light weight, Open Source XML based Database system.

[…] This post was mentioned on Twitter by Open-Tube.com. Open-Tube.com said: 10+ Great Open Source Tiny #Database Engines Entirely Written In #Java | Open Source Technology Blog http://bit.ly/adq8ll #OpenSource […]
Hi.
Can’t believe you left db4o out! (http://developer.db4o.com)
Can you extend the list? =D
Best!
German
Good point, sure!
Most of your db’s seems to be abandoned projects without activity. Latest releases:
McKoi: 2004
JODB: 2008
TinySQL 2007
Axion 2003
SmallSQL 2005
The other projects seem more or less active…