What is OtterTune?
OtterTune is automatic database tuning software. It uses machine learning to automatically tune the configuration knobs of your database to achieve the best performance possible for its current workload. OtterTune can keep your database tuned as the workload changes over time. The goal of the service is to reduce your operating costs and make life easier for DBAs.
What is a configuration knob?
A “knob” is a configuration parameter that a database exposes that can control some aspect of its runtime behavior, such as buffer pool sizes, caching policies, and other features. Most databases have lots of knobs. There are over 500 knobs in MySQL and 300 knobs in PostgreSQL.
What data does OtterTune analyze?
OtterTune collects configuration knobs (e.g., the size of the buffer pool or redo log) and runtime metrics (e.g., the number of transactions executed or dirty pages in the buffer pool) from the target database, nothing else. It does not access any sensitive application or user data.
What databases does OtterTune support today?
As of May 2021, OtterTune supports the following databases running on-premises or via Amazon RDS:
- PostgreSQL (versions 9.6, 10, 11, 12, 13)
- MySQL (versions 5.7 and 8.0)
What databases will OtterTune support next?
As of May 2021, OtterTune is adding support for MariaDB and Amazon Aurora (MySQL and PostgreSQL). If you have a database or platform you’d like OtterTune to support or want an update on our supported DBMS list, please contact us.
How long does it take to optimize a database?
Many factors will affect how long it takes for OtterTune to generate a better configuration for your database. Some of these factors include:
- How many knobs is the service tuning?
- How complex is the workload?
- How often does the service try a new configuration?
- How many databases that OtterTune has tuned in the past that are similar to the new database?
Database tuning is a complex problem. With that said, in practice, we have found that OtterTune produces some initial improvement within hours.
Does OtterTune tune queries or indexes?
As of May 2021, OtterTune only analyzes and adjusts database configuration settings. It does not analyze or recommend changes to queries, indexes, or database design.
Does OtterTune plan to automate other DBMS operations in the future?
OtterTune was founded by researchers at Carnegie Mellon University working on autonomous and self-driving databases. We have spent over a decade working on DBMS automation, so yes, we plan to extend OtterTune to support automating more DBMS operations over time.
Does OtterTune restart my database to implement config changes?
Some knob settings require a restart to take effect. OtterTune will only tune knobs that require a restart if you allow it to. Otherwise, OtterTune will only adjust “dynamic” knobs that take effect without restarting the database.
Note that some of the knobs that require a restart are often important to tune. That is, they have a significant impact on performance when tuned correctly for some applications. Given this, you can control OtterTune’s restart policy, setting it to restart the database any time, or only during specific time windows, or never (it will just advise you to restart manually).
Does OtterTune require me to install software or make changes to my application?
Nope. OtterTune runs on its own as a separate service and connects and interfaces with the target database to collect metrics and change settings via standard SQL. You do not need to install any additional third-party extensions in your database.
What access privileges does OtterTune require?
The privileges that OtterTune needs depend on the database system, service provider, and tuning options. OtterTune requires user credentials that it uses to connect to the database. This user only has permissions to retrieve metrics and not any sensitive user data. For Amazon RDS, additional information, such as the database identifier, region, and login permissions, is required. OtterTune can be configured to either tune or only monitor your database. If you enable tuning, you can also decide whether to allow OtterTune to restart the database and provide OtterTune with the correct permissions.
How much does OtterTune cost?
There’s a setup fee to get started with OtterTune. If you run OtterTune 24x7 to keep your database optimized continuously, there’s a small monthly fee. Please contact us if you need more pricing details for your situation.
How do I get started?
Press the “Try OtterTune” button. After that, we’ll have a quick chat with you to help you pick a good first database to optimize with OtterTune and get you set up and running.
What’s with the otters?
Well, we auto-tune databases. So, auto-tune...OtterTune. Get it? Plus, otters are cute. But sometimes aggressive, which should only worry you if you’re a seal, sea lion, or beaver.