# A Derby database

A Derby database contains dictionary objects such as tables, columns, indexes, and jar files. A Derby database can also store its own configuration information.

- The database directory
  A Derby database is stored in files that live in a directory of the same name as the database. Database directories typically live in system directories.
- Creating, dropping, and backing up databases
  You create new databases and access existing ones by specifying attributes to the Derby connection URL.
- Single database shutdown
  An application can shut down a single database within a Derby system and leave the rest of the system running.
- Storage and recovery
  A Derby database (unless it is an in-memory database) provides persistent storage and recovery. Derby ensures that all committed transactions are durable, even if the system fails, through the use of a database transaction log.
- Log on separate device
  You can put a database's log on a separate device when you create it.
- Database pages
  Derby tables and indexes, known as conglomerates, consist of two or more pages.
- Database-wide properties
  You can set many Derby properties as database-level properties. When set in this way, they are stored in the database and "travel" with the database unless overridden by a system property.
- Derby database limitations
  Derby databases have a few limitations.

Parent topic: Derby embedded basics
Related concepts
Derby JDBC driver
Derby JDBC database connection URL
Derby system
Connecting to databases
Working with the database connection URL attributes