O'Reilly logo

Deploying OpenStack by Ken Pepple

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

Database

As stated earlier, Nova uses a Python library called SQL-Alchemy for database abstraction and access. As such, Nova can theoretically support any database product that SQL-Alchemy supports. However, in practice, there are only three with any level of testing and support within the Nova community:

sqlite3

While sqlite3 is the default database for development and testing, it is unsuitable for production installation due to scalability, availability, and performance concerns.

MySQL

MySQL is far and away the most popular database for Nova production deployments. It is also arguably easiest to setup with Nova, and almost all of the documentation assumes you are using it. It should be the default choice for most users.

PostgreSQL

PostgreSQL is a distant third in usage within the Nova community. However, there is a dedicated group using it and it does possess many advantageous features for use in large-scale production sites. Users with strong experience in deploying and tuning PostgreSQL may find this an attractive option.

Assuming that you are looking for a production deployment, the decision for database product should come down to PostgreSQL or MySQL. Unless you have significant experience with PostgreSQL, MySQL will be a better choice, as all documentation is written with MySQL in mind and there is a larger support community.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, interactive tutorials, and more.

Start Free Trial

No credit card required