Yo. OtterTune is a database optimization service. It uses machine learning to automatically tune your MySQL and Postgres configuration (i.e., RDS parameter groups) to improve performance and reduce costs. It does this by only looking at your database's runtime metrics (e.g., INNODB_METRICS, pg_stat_database, CloudWatch). We don't need to examine sensitive queries or user tables. We spun this project out of my research group at Carnegie Mellon University in 2020.
This week we've announced that OtterTune is now available to the public. We are offering everyone a starter account to try it out on their Postgres RDS or MySQL RDS databases (all versions, AWS US AZs only). We have seen OtterTune achieve 2-4x performance improvements and 50% cost reductions for these databases compared to using Amazon's default RDS configuration.
I am happy to answer any questions that you may have about how OtterTune works here.
-- Andy
================
More Info:
* 5min Demo Video: https://ottertune.com/blog/ottertune-explained-in-five-minutes
* Free Account Sign-up: https://ottertune.com/try
I'm a little curious why AWS is free/cheap, but anything other than AWS ends up in the "Enterprise, contact us for pricing" bucket. It might simply be based on your costs. I don't know if the on-prem stuff is expensive since your software needs to be in the same datacenter or if it's just a pricing differentiator.
I'm also wondering if you've thought of going the DBaaS route. It looks like AWS is charging an ~80% premium for RDS over regular on-demand instances. If you're managing a fleet of them and getting lower pricing (through committed-use discounts and negotiation) you could potentially get good margin there. For example, AWS charges $280/mo (on-demand) for an M5.2xLarge and $500/mo (on-demand) for the same instance for MySQL RDS (single AZ). So Amazon is already asking for an additional $220 and then you'd like $90/database ($450 / 5 databases on the standard plan). It seems like there might be more opportunity in the DBaaS markup than in trying to convince someone to use your tuning engine.
From your video, it doesn't sound like OtterTune does this, but it might be worth thinking about: maybe not just tuning the database, but also offering suggestions on potential anti-patterns happening. For example, if someone has code that should be using connection pools and isn't, it could be helpful to present it as something potentially important. Likewise, let's say that there are unindexed queries. Detecting that and recommending solutions is helpful. That seems like it could offer ongoing benefit.
Speaking of ongoing benefit, would there be a lot of benefit to paying for more than one month? In the 5 minute video, it showed the configuration stabilizing pretty quickly once it reached a good place. Assuming that my access patterns remain relatively the same, it seems like I could just continue with that configuration. Maybe I could sign up for one month every year to get a check-up. This isn't meant to be a criticism. It's more that I've seen so many customers exploit holes in SaaS pricing. If you're counting on recurring revenue, what happens if a customer notices that after a day they don't need the knobs tuned anymore? Can I get that $450 5-DB plan and run it on 5 databases on Monday, remove it from those 5 databases on Tuesday and apply it to 5 new databases on Tuesday (effectively getting 150 databases per month for the price of 5)? Or maybe there is a need to be tuning the configuration hourly/daily (though that seems less likely).
I do like the idea of auto-tuned knobs and it seems like a great service. I guess it's just hard to try if, like me, you're not on AWS. I'm sure that most people are so I'm not suggesting it's an inappropriate restriction for the free tier. Really cool and congrats on VLDB!