Making use of in-process databases
In-process databases provide the full database server experience running inside the same process as Python execution, which means you have access to the full capabilities of the database engine but without the network latency, authentication and authorization, or protocol change trade-offs. Figure 8.1 shows the basic scheme for this type of deployment:

Figure 8.1: In-process database engines
Running a database server this way doesn’t limit the capabilities of the database engine, and there’s a wide range of in-process databases that provide the same features as their external-server counterparts. Several popular in-process databases are available commercially, while the following list shows some of the open-source alternatives for various use cases:
- Sqlite: The most popular Python embedded database (https://sqlite.org/mostdeployed.html). It is an OnLine Transactional Processing (OLTP) system, which means you...