As remote work continues to boom, enterprises are seeing increasing demand for SaaS products. SaaS apps are data-intensive, generating and accessing massive volumes of data in real time. Because of that, most organizations build SaaS apps on data warehouses instead of HTAP databases.
For one, since SaaS apps operate on larger volumes of data, data warehouses provide cost-effective storage for this purpose. In addition, data warehouses are used for many analytical workloads, such as BI and Data Science. So engineers naturally presume that SaaS apps, which run many analytical queries, will also run well on data warehouses.
TAKE A LOOK AT OUR DATA ARCHITECTURE TRAINING PROGRAM
If you find this article of interest, you might enjoy our online courses on Data Architecture fundamentals.
But this is a mistake. SaaS apps (and other data-intensive apps) should not be built on data warehouses for two key reasons. The first is query performance. Data warehouses simply are not designed for low query latency, relying on scans to locate data. To optimize a database for query speed, it needs to employ indexing instead.
The other issue is data freshness. It takes time to transform data and batch data into a data warehouse before it can be queried. In many instances, this additional latency, which may be in the tens of minutes, will not meet the requirements of the data app.
The HTAP Alternative
From the user perspective, a positive SaaS experience depends on data being highly available, consistent, fresh, and secure – without compromising performance. To deliver all of that, engineers must support their SaaS apps with a database that is extremely consistent, highly available, durable, and resilient while providing a real-time view of data. Data warehouses do not meet these requirements. But modern hybrid transactional and analytical processing (HTAP) databases – purpose-built for SaaS and other data-intensive apps – can.
Enterprises should consider HTAP databases that deliver the following:
Consistency: Maintaining consistency in an application is hard. Application developers find it much easier to depend on the data infrastructure to guarantee the data is consistent, rather than have to do the checks in their application. A good HTAP database should incorporate comprehensive ACID transaction support. That means data-intensive apps can rely on it to handle data consistency, improving developer velocity and user experience. This way, developers don’t need to spend hours or even days debugging data anomalies caused by data consistency issues. Meanwhile, users will not be impacted by these issues.
High Availability: When offering a SaaS product, the provider is responsible for the availability of service level agreements (SLAs). Customers have come to expect 24×7 access, no matter what happens on the backend. The right HTAP database should ensure high availability in all its components and offer no downtime operations such as upgrade, scaling, and schema changes. It should feature built-in mechanisms to handle transient and permanent failures such as machine failure and network issues, while also providing data replication and fine-grained data placement capabilities to ensure high data availability. These features are critical to meeting customer SLAs.
Scalability: Databases have to scale rapidly to accommodate rising SaaS app usage. To do this, data infrastructure should be a distributed system whose compute and storage resources can be easily scaled (preferably in an online way) to handle the growth. Organizations should look for an HTAP database that is horizontally scalable, allowing engineers to immediately add new nodes on demand in order to store more data, process more reads and writes, and handle more complex queries. A horizontally scalable HTAP database should also make it easy to add new tenants and provide user-facing APIs that require complex queries such as joins and aggregations.
Timeliness: SaaS apps must provide users a real-time view of data, even as data changes immediately following a transaction. For example, when someone buys something using a credit card, the purchase should instantly appear in their banking app. If the application can’t deliver this information in milliseconds, user experience, app adoption, and business revenue are all significantly impacted. A modern HTAP database should support any real-time updates, enabling fine-grained indexing and parallel query execution. To ensure timeliness, the database architecture must leverage both a row store and column store to allow the best data access path based on queries.
The trend of digital transformation has been accelerated more than ever during COVID, creating challenges for SaaS companies. With every business and user interaction on the internet being captured and processed as transactions, the underlying databases that support SaaS services must be able to handle a much higher throughput, provide rapid scalability as the data storage engine, and offer real-time analysis across data resources and platforms. Data warehouses lack the performance and flexibility to deliver these critical needs. However, modern HTAP databases provide the consistency, availability, scalability, and timeliness that booming SaaS apps demand.