Weekly discussion thread: Nov 17th - Nov 23rd

Are your OLTP databases slowing down and running out of steam :steam_locomotive:?

Transactional databases like PostgreSQL and MySQL are typically used to record, reverse, or modify a transaction or activity if something happened – pretty fast. They are built to be ACID compliant. Some companies have a database replica to handle analytical computations, so it doesn’t impede production queries. At some point, they may encounter some growing pains, because transactional databases have subpar performance when it comes to supporting high-scale analytical use cases. As a result, you may need to vertically scale by paying for more CPU resources. Other transactional databases like MongoDB and DynamoDB scale easily. However, they don’t handle complex SQL analytics.

While transactional databases are fast in performing transactions, they may get hung up on analytical queries where you need to scale out and or support JOINs. This is where a real-time analytics database can complement a transactional database. A real-time analytics database should support ingesting streaming data, have fast query performance in seconds, easily scale, and be SQL-based to support complex analytics with JOINs.

Are you using a transactional database to handle low-latency analytics - such as user-facing analytics? If not, how are you handling it?

Think Cbs GIF by HULU