3 ms·
Er, so, are they using a separate database application to abstract the mysql operations? They don't mention it in the article. Not abstracting your database lea
by peterwwillis 10y ago
Er, so, are they using a separate database application to abstract the mysql operations? They don't mention it in the article. Not abstracting your database leads to major issues from unusual load and operations. And there's a lot of performance, portability, release engineering, etc wins. I don't see what other companies are doing so i'm not sure how common it really is.
- sciurus 10y agoWhat do you mean by "a separate database application"?
- peterwwillis 10y agoInstead of: web app -> haproxy -> mysql Doing this: web app -> backend app -> haproxy -> mysql It allows a dedicated application layer to handle database communication/changes in a more intelligent way than a proxy/load balancer can. Helps account for scaling issues, batches transactions, retries on failure/inconsistency, throttles, caches, advanced logic, schema/application change resiliency/consistency, network segregation, restricts operations, etc etc. Nobody seems to implement it unless there's a wide range of applications with different needs, or when things break.