Applications serving financial data such as realtime stock quotes, finance portfolio management and related news. These applications offer a good degree of customization for the end user, for example allowing users to subscribe to realtime updates for certain stock symbols.
The application needs to evolve rapidly based on usage patterns, and therefore the database layer should be able to scale out easily.
One challenge with current solutions is that the entire data needs to fit in memory in the cache tier.
Reads for recent data should have predictably low latencies. For instance, reads for older data should not cause reads for recent data to have high latencies.
The underlying database should support low-latency reads and writes to ensure a good user experience.
These applications may evolve rapidly or may get a sudden increase in the number of queries due to a higher than expected adoption by end users (this is a good thing). With YugaByte DB, the database layer can be scaled out reliably and efficiently without any impact to the currently running application.
A lot of these applications have fast growing data, and therefore would need to keep storage costs under control. YugaByte DB offers both the ability to automatically tier colder data to cheaper storage layer as well as the ability to efficiently expire older data.
YugaByte DB has an internal scan resistant cache while ensures that larger reads do no pollute the cache. This means that the common read pattern such as reads for recent data are not impacted by a larger read.
With YugaByte DB, the entire data set does not need to fit in memory (unlike with a traditional cache like Redis often used to serve reads in such applications). Older or inactive data is automatically paged out of RAM to persistent storage. This allows for a larger data to be served with fewer machines.