Applications are making ever greater demands on the database management systems that support them, which nevertheless have to be easy to administer with little effort. Couchbase explains the most important requirements.
The new generation of applications depends on a high degree of flexibility. They run on a wide variety of mobile or stationary devices and must offer a consistent user experience at all times – ideally in real time and without latencies. In mobile operation, they are increasingly dependent on wireless networks such as 5G and should be able to use the associated possibilities of IoT and edge computing. The applications must be able to support both traditional, transaction-oriented databases and to transform their relational structures into more flexible NoSQL databases. They are needed, among other things, to be able to personalize applications more without a database administrator having to intervene. Couchbase, provider of a modern data management platform, has identified the five fundamentally necessary database skills:
1. Multi-Model Data Access
As a platform, a modern database must be able to cover all functionalities and data models. To do this, it needs data engines for key value, SQL queries, text processing, eventing and analytics, as well as support for relational structures from SQL databases. This avoids the need for separate databases to be used and combined with one another for certain functions – with the corresponding losses in flexibility, stability and effort.
2. Scalable performance
Modern applications have to be fast and scalable, so does the database. A memory- and network-centric shared-nothing architecture, combined with horizontal scaling, delivers the necessary linearly increasing performance. By isolating the various processes, scaling can be multidimensional, i.e. selectively limited to the resources actually required.
3. Structural flexibility
SQL databases work with rigid table schemas. NoSQL, on the other hand, uses JSON as a flexible data model, but requires database administrators with the appropriate specialist knowledge. It is therefore important that SQL can continue to be used as a widely used programming and query language for NoSQL databases.
4. Operational Automation
The automation of admin tasks, for example through the separation of index and data management, provides another important relief for database operations. The most important step, however, is the use of Kubernetes for the autonomous control of typical admin tasks, right through to the self-controlling and optimizing database.
5. Run Anywhere
Applications operate in distributed environments with physical servers, virtual machines, containers, cloud instances and edge devices. Databases must reflect and support this mix accordingly. The ability to run in multi-cloud environments, in combination with the flexible provision as Database-as-a-Service (DBaaS), helps to avoid vendor lock-in.
“As the demands on modern applications grow, so do the demands on the databases that support them,” explains Paul Salazar, Senior Director Central Europe at Couchbase. “This applies to the various functional levels as well as the simplification of administrative tasks and the flexibility of the deployment models.”