If you’ve been following this blog for long, you know what’s about to happen: another look at one-click installers available with the WebFaction control panel. This entry covers private database instances for MySQL and PostgreSQL.

For most applications, the shared MySQL and PostgreSQL databases are appropriate and easy to use. Routine database management, like creating databases and database users, can be done with the WebFaction control panel. The shared databases are also available by way of the phpMyAdmin and phpPgAdmin web-based administration tools for running queries and exploring your data. For the vast majority of use cases, the shared databases are a sensible choice.

But in some circumstances, we recommend the use of the private database instance installers for MySQL and PostgreSQL. In particular, private database instances are known to be useful in two special cases: custom configuration and the “bad neighbor” problem.

Private databases are handy when you want to take control of your database configuration. The shared databases are managed by the system administration team, so you cannot alter their settings. With a private database instance, you can change configuration values to your own specific needs, but without the hassle of compiling up from scratch.

Private databases are also useful when the “bad neighbor” problem presents itself. A “bad neighbor” appears when one database user consumes significantly more of the shared database’s resources than others. Switching that user from a shared database to a private instance makes performance expectations more consistent for all users on the server.

Both the PostgreSQL and MySQL installers benefit from using the server’s globally installed binaries and libraries, so you don’t have to worry about updating the database after security releases. When a private instance is installed, the installer creates two cronjobs: one to make sure the database is up and running every 20 minutes, and another to dump all of the instances databases to a file once per day. For more information, check out our private database documentation, including sample usage for Django and WordPress applications.

If a private database instance sounds like it might be useful to you, give it a try, and if you have any questions or need any help, join us in the Q&A Community.