There are types of databases called embedded databases. Such databases run inside the application process itself and do not require any communication over the network. For embedded databases, there is no hard requirement to have a wire protocol, even though some have or may run both as an embedded mode or as a separate service. Later in the chapter, we are going to use the H2 embedded database in a few examples.
However, most software uses databases that run in separate processes on separate servers (or in separate containers). An application uses a specialized client library called a database driver to communicate with an external database. Furthermore, the wire protocol defines how the database driver and ...