9 ms·
And very wide choice of hardware and tuning abilities. Also network config can speed up overall performance greatly.
by glintik 4y ago
And very wide choice of hardware and tuning abilities. Also network config can speed up overall performance greatly.
- Nextgrid 4y agoDirect-attach storage is a major improvement for things like databases, etc which you pretty much never have in the cloud, at least not in a persistent form.
- glintik 4y agoDon’t agree. Multiple database nodes with enterprise grade SSDs is a way better in many terms.
- Nextgrid 4y agoFor conventional relational databases like Postgres, multiple nodes only give you reliability, not performance (ignoring things like read-only replicas which your application explicitly has to choose to query), so horizontal scaling doesn't help there. Enterprise-grade SSDs is what I meant by direct-attach storage - I was comparing against network storage which is what all cloud providers use (your EBS volume is accessed over the network internally, which incurs some latency, ultimately limits IOPS and destroys random access performance which can't be cached or read-ahead by the underlying hypervisor).
- glintik 4y ago«is what all cloud providers use» - many cloud providers can offer local ssds, i.e.: https://cloud.google.com/local-ssd https://cloud.google.com/local-ssd “multiple nodes only give you reliability, not performance” - this, actually, is not true. Even mysql can offer ways to tune and gain performance improvements.
- Nextgrid 4y agoThose SSDs are ephemeral, so unsuitable for long-term storage. If you wanted to use them you’d need a task that copies the entire persistent volume into the ephemeral SSD at boot, and then the reverse on shutdown (and pray that the machine doesn’t die abruptly as that would mean you lose the SSD without doing that reverse copy operation). Presumably they would also lack the durability guarantees of the normal block storage offered by the provider.