Databases are used by all kinds of businesses, but deciding which one to use can be a tricky decision. Once you’ve decided on one solution, it’s a lot of work to move on to another.
But different stakeholders within the company also have different demands on a database and different views on what features are important.
So how can you make sure you select a database solution that everyone is happy with? We spoke to Suda Srinivasan, vice president of strategy and solutions on the Yugabyte SQL database platform to find out.
BN: Why are database decisions so critical to the success or failure of digital transformation or cloud migration and what are the guiding principles for choosing a solution that works for everyone?
SS: There has been a universal problem present throughout the Internet age: a mismatch between the applications and services offered by businesses and the databases that power them. Over the past decade, companies have modernized their applications and embraced the cloud and modern DevOps practices to deliver consistently available and responsive applications to their users. This kind of business transformation puts pressure on traditional record keeping systems because the traditional transactional databases that modern applications continue to use were not designed for the cloud. It really creates the need for a different kind of database – a database designed for the cloud native world and capable of handling transactional workloads. However, choosing the right database is tricky because different stakeholders within an organization prioritize different capabilities when choosing the right database.
BN: Who are the main stakeholders when it comes to making database decisions?
SS: Typically, there are three groups that will be heavily invested in your database decisions: application developers, operations teams, and technology leaders or architects. Additionally, security teams care about how data is secured and how compliance is maintained. They all have different priorities and disparate lists of capabilities, which the database solution must meet to really work for organizations.
BN: Can you give us some examples of what this means for specific teams?
SS: Well, let’s start with app developers. Developers generally want a database that minimizes disruption and frees them up to focus on building apps. A query interface that offers familiar SQL syntax and is compatible with well-known databases like PostgreSQL or MySQL allows them to reuse existing tools and code to save time. Plus, the resiliency and scalability built into the database means they don’t have to implement distributed transactions and consistency themselves. Databases that work well with modern cloud native infrastructures and DevOps tools are ideal. Developers also prefer open source databases which allow them to take advantage of the rich ecosystem for learning and support.
Most operations and platform teams in agile organizations aim to provide a private database as a service to their developers, allowing developers to quickly provision databases for different environments. Operational teams prioritize the flexibility to deploy database clusters in any private, public or hybrid cloud environment, on bare-metal, virtual machines or containers. Databases with built-in resiliency and high availability and offering effortless horizontal scaling simplify day two operations for the operations team, enabling maintenance operations such as backups , upgrades and security fixes without downtime. Databases may also need to be deployed in geo-distributed topologies to enable low latency reads and writes, improve resiliency, and maintain compliance with data sovereignty laws. And finally, data security is a fundamental requirement for mission-critical databases that store sensitive data.
BN: And what about technological leaders and architects?
SS: Tech leaders and architects are a bit different because of their habit of thinking more about the medium to long term implications of their database choice. They prefer database solutions that eliminate the lockdown with a particular cloud provider or infrastructure platform. They want to lower the total cost of ownership for development, staging, and production deployments by lowering license fees, lowering operational costs, and eliminating silos through consolidation. They also want to reduce the risk of moving applications and data to the cloud by controlling the pace of migration. This often means running applications and data in an on-premises environment with the same container orchestration technology and database solution as in the cloud. Safety is again a major concern.
Ultimately, any database solution must meet all of the above criteria, otherwise it will get one team buy-in but another reject.
Image credit: alphaspirit / Shutterstock