When building a product or application, most systems designers understand that you can’t have it all. Creating a high-performing and scalable system can be a daunting challenge since those considerations are often in opposition to one another—typically high performance in a single machine’s memory space or scalable across several servers.
This has a business impact. In fact, Gartner’s recent data uncovered that 58% of IT executives reported an increase or a plan to increase emerging technology investment in 2021, including databases. Whether it’s a brand new software startup or a Fortune 500 SaaS company, the early days of product development focus more on meeting current customer demand instead of lifetime scalability. But, an application is only as strong as the database that supports it. As organizations grow, so do the databases and scaling needs, but to scale naively increases costs and complexity faster than throughput.
Database and systems researchers spend their days thinking about how systems grow over time and how to ensure that at whatever scale a database system deploys, the data entrusted by users remains safely stored and rapidly queried even as throughput demands grow.