# Introduction to Derby

Welcome to Derby! Derby is a full-featured, open source relational database management system (RDBMS) that is based on Java technology and SQL.

Derby is written and implemented completely in the Java programming language. Derby provides users with a small-footprint standards-based database engine that can be tightly embedded into any Java based solution. Derby ensures data integrity and provides sophisticated transaction support. In the default configuration there is no separate database server to be installed or maintained by the end user.

The on-disk database format used by Derby is portable and platform-independent. You can move Derby databases from machine to machine without needing to modify the data. A Derby application can include a pre-built, populated database if it needs to, and that database will work in any Derby configuration.

For more information about Derby, visit the Derby website at http://db.apache.org/derby. The website provides pointers to the Derby Wiki and other resources, such as the derby-users mailing list, where you can ask questions about issues not covered in the documentation.

Before you install Derby, you should understand the deployment options and system requirements.

- CLASSPATH vs. MODULEPATH
  Derby software can be run with either a CLASSPATH or a MODULEPATH.
- Deployment options
  The Derby software distribution provides two basic deployment options (also referred to as frameworks), the simple embedded option and the Derby Network Server option.
- System requirements
  Derby is a database engine written completely in the Java programming language. The database will run in any certified Java Virtual Machine (JVM).
- Product documentation for Derby
  The Derby product documentation consists of the Derby manuals and the API reference.