Yes, our defaults are way better than an out-of-the-box Postgres. That said, we are acutely aware that significant further tuning specific to a particular database's workload can deliver even better performance. We are investigating the best way to deliver this to a broad audience now. Do you have any suggestions?
Amazon RDS uses Elastic Block Store (EBS) as its disk. EBS is extremely slow relative to the SSD drives used at DigitalOcean. Worse, unless you buy very expensive provisioned IOPS, you are competing for network bandwidth with all other EC2 customers in the physical network segment where your RDS database is hosted every time you do a disk access. This means your database will randomly become very slow at peak load times, with no visibility and no way to control it other than spending a whole lot of money on provisioned IOPS.
We've also gotten good feedback from a number of customers who simply do not want to deal with the complexity of AWS. Our API is far simpler; we don't have security groups and so on. If you actually need all that complexity, that's fine, but many people don't.
Finally, RDS does not support read replicas for Postgres (at all); you are limited to one database server. We are currently setting up replicas manually as requested, and will be building them into the user interface in the near future.
Using an SSD for your database is tempting, but please be aware you must use an SSD that can flush to disk in case of power loss. You should read here:
Hi everyone, I'm Eric, another one of the Database Labs founders.
We asked for and received written confirmation from Digital Ocean on this question. Currently, all of their newer hardware uses full Battery Back Up (BBU) and RAID on all SSD arrays. Data centers where you are guaranteed to be on a box with their newer hardware are: NYC3, LON1, and AMS3. These locations are supported in the Database Labs interface.
Digital Ocean's other data centers have a mix of hardware. All hardware at a minimum has dual redundant power supplies and hardware RAID with SSD drives, however, not all hardware has a BBU on the RAID card. While it is extremely unlikely that there will be a full power outage that overlaps with a write time on a database, it is possible. We recommend, if this is a concern for anyone, that deployments be restricted to NYC3, LON1, and AMS3.
We will be monitoring this issue with Digital Ocean, and will let everyone know as more of their centers are guaranteed to be SSD + RAID + BBU.
Thanks for the suggestion of documenting this on the web site, we will be adding some information about this in the near future.
"Amazon RDS now supports General Purpose (SSD) Storage
You can now launch DB Instances that use General Purpose (SSD) storage, a new SSD-backed storage option for Amazon RDS"
Are the SSDs at Digital Ocean enterprise grade and RAIDed? They won't corrupt data under power loss etc? Bearing in mind you're probably using asynchronous replication, people you can't rely on that for durability; people will expect that once it's committed, it's on on (at least 2) disks.
Hello, Database Labs founder here. DigitalOcean users are indeed a key market for us, for this reason.
Besides DigitalOcean users, if your app is in a reasonably well connected data center, in many scenarios the additional network latency incurred by traversing the network from your data center to DigitalOcean is going to be minimal compared to the speed gain you get by running your database on SSD drives rather than on spinning disks or Amazon EBS.
that being said, don't know how this is any different than Amazon RDS