In our digitized, data-fueled world, enterprises must create unique assets — and make the most of them — in order to remain competitive. This puts developers front and center when it comes to managing and optimizing database performance. Developers not only shape the underlying technologies throughout the stack, they now drive efficiency and best-practices from a variety of hybrid roles (DevOps, Full-Stack, etc.). But developers are often forced to choose between data productivity or their own. 

Oracle’s converged database has rendered that dilemma obsolete.

Developers know better than anyone that the digital landscape is ever-changing. New languages, new frameworks, new tools, new protocols — the demands and opportunities can quickly become overwhelming unless there’s a clear signal amid the noise. In keeping with the KISS (“keep it simple”) principle, developers strive for modern development while not sacrificing operational efficiencies required to keep their companies competitive.

Single-purpose databases, often known as purpose-built databases, are engineered to solve targeted problems. However, when operations grow, integration of multiple single-purpose databases is required. 

Enter Oracle’s converged database — a platform loaded with a suite of capabilities that are simpler, easier, and far less error-prone than multiple single-purpose databases combined. 

In this article, we’ll highlight a few key advantages delivered by Oracle converged database that help our customers keep it simple while staying smart. Development Smart. Especially when developing with multiple data types.

As companies pursue the efficiency and relevancy necessary for their success, they must digitize complex processes and data-integration at scale. As a result, developer teams are faced with a difficult choice: optimize for fast application-development now, or prioritize easier data-capture later. Developer productivity or data productivity. It’s a difficult either/or.

In the first case (developer productivity), developer teams might spin-up single-purpose databases for specific projects (especially when it comes to greenfield development). Each database offers a low barrier for entry that often includes a convenient data model for the purpose at hand along with related APIs. Development moves quickly, as each database has its own operational characteristics that are useful in the immediate. But as a project grows and additional databases or cloud services are required, complexity multiplies and data fragments. Efficiencies gained are quickly lost, as each database’s once-enticing characteristics no longer function at scale. As a result, developer teams face long-term difficulties such as lack of standardization (APIs, query languages, etc.), data fragmentation, security risks, and management gaps.
 

A snapshot of some of the integration difficulties produced by single-purpose databases.

A snapshot of some of the integration difficulties produced by single-purpose databases.

In the second case (data productivity), especially when it comes to brownfield projects, developers might build on a corporate standard database that’s usually a generic relational or relational multi-model database. But while the corporate standard database enforces official policies and simplifies things such as operations, security, and data reuse (reporting, analytics, etc.), limited functionality can often slow and even prevent innovation. This risks putting the entire business at a disadvantage in a fast-paced, highly competitive market landscape.

Neither of the above scenarios are ideal, and both are limiting in their own ways. Which begs an important question: What if there were a third option? 

That option is Oracle’s converged database — a first-in-class solution that balances both developer and data productivity.

At its highest level, a converged database is a multi-model, multi-tenant, multi-workload architecture (see the graphic below). More specifically, Oracle’s converged database delivers the data models and access methods needed for modern development on all workloads (OLAP, OLTP, IoT, etc.). Better, it delivers the specific tooling, security, integration, and operational characteristics developers and developer teams are seeking — powerful, smart capabilities that simplify, streamline, and out-perform at scale.

The Oracle Converged Database 19c is the world’s first converged database — one that balances developer and data productivity for a powerful solution at scale.

Oracle Database 19c is the world’s first converged database — one that balances developer and data productivity for a powerful solution at scale.

As any developer will tell you, talk is cheap; show me the code. So let’s take a look at two different environments, along with a few code examples, to better understand how Oracle’s converged database streamlines the data-tier for development.

We will illustrate the inherent simplicity of using Oracle’s converged database on two three-tier environments within a vacation-rental online-marketplace application. (In this case, we’ll use an Airbnb clone named “Host-a-bnb,” depicted in the graphic below.)

The unique data assets required for this application are:

1.    Key-Value (used to store users’ search-histories in order to deliver them quick, personalized future searches)
2.    Graph (used to store users’ relationships with one another in order to optimize and enhance social-media features and functionality)
3.    Relational (used to store users’ transactions for booking and payments)

The requirements generated by the above translate to the following (for simplicity, we’ll forego including a caching layer):

1.    The single-purpose database deployment will consist of MongoDB (key-value), Neo4j (graph), and Firebird (relational) databases.
2.    The Oracle Database deployment will consist of a single pluggable database with corresponding tables for key-value, graph, and relational data.

A simplified example of Host-a-bnb’s three-tier environment when run on multiple single-databases versus Oracle's converged database.

A simplified example of Host-a-bnb’s three-tier environment when run on multiple single-databases versus Oracle’s converged database.

Within this construct, let’s zero-in on something that should be relatively painless: connecting the “Host-a-bnb” web-application to the corresponding data tiers.

A comparison of data-tier connection across single-purpose databases versus the Oracle converged Database.

A comparison of data-tier connection across single-purpose databases versus the Oracle converged Database.

As you’ll see in the graphic immediately above, some additional work is required when connecting single-purpose databases. Granted, while this example is trivial, it foreshadows the complexity to come. Looking at the code (below), which demonstrates simple queries from each single-purpose database, things start to get messy – fast.

A simplified example of querying within a single-purpose database data-tier.

In contrast, Oracle’s converged database unified approach can query this data as one would expect. In one query the data is joined together and the desired result is returned. No hassle or transformation between databases or data types.

A simplified example of querying within the Oracle converged database data-tier.

A comparison of querying (QL) within a single-purpose DB versus the Oracle converged DB data-tiers.

A comparison of querying (QL) within a single-purpose Databases versus the Oracle converged database data-tiers.

The most notable thing to unpack here is that single-purpose databases put developer teams at a disadvantage when querying data. Each database requires its own specific Query Language (QL, referenced in the graphic above). Beyond that, once queried, the data is pulled in pieces, many times, serially. This is in no way efficient from a dev perspective, as each developer must figure out how to minimize three separate datasets for a single application. Moreover, developers must then perform data-integration manually in order to produce the desired result.

As we can see in the query-code example above, Oracle’s converged database solves this problem at the root by using one QL to perform all queries across the database. This allows the database, instead of the developer, to do the heavy lifting.

Side-by-side comparison of querying data within single-purpose databases versus the Oracle converged Database data-tiers.

Side-by-side comparison of querying data within single-purpose databases versus the Oracle converged database data-tiers.

Highlighted in the table above, fragmented behavior is systemic in single-purpose database products and significant effort is spent on engineering integrations. As a solution, Oracle’s converged database avoids these pitfalls by providing an inclusive product that not only requires minimum integration but merges cutting-edge functionality across the platform’s architecture. For example, different data types can live in the same table, or can easily be joined together. This cleanly eliminates the need to spin-up another product just to add another data type. Instead, it’s as easy as creating a column or table.

Side-by-side comparison of querying analytics within single-purpose databases versus Oracle's converged database data-tiers.

Side-by-side comparison of querying analytics within single-purpose databases versus Oracle’s converged database data-tiers.

Operational use of the data is only one aspect of data management. With Oracle’s converged database, developers can avoid expensive ETL (Extract, Transform, and Load) operations, often required to move data from one database to another (such as from OLTP to OLAP in order to enable analytics and reporting). This pattern of intuitive, simple, high-quality integration extends throughout Oracle’s converged database.

Oracle’s converged database is built upon years of innovation and sits alongside a full array of tools designed to maximize efficiency and performance. As the second-largest software company in the world, Oracle provides a variety of products that empower developers across the CI/CD process. These include:

  1. Helidon.io
    • A lightweight, microservice Java-framework that provides simplified microservice development. Best of all, it runs anywhere.
  2. Coherence
    • A scalable, fault-tolerant, cloud-ready, distributed platform for building grid-based applications that store data reliably.
  3. Docker/cri-o and Kubernetes
    • Enables cloud-native applications to be built and deployed alongside monolithic applications via Oracle’s support for containerization and orchestration.
  4. WLS Kubernetes Operator
    • Facilitates the easiest way to develop, deploy, and manage Oracle WebLogic. WLS Kubernetes Operator makes it easy to modernize while broadening existing skill-sets.
  5. Verrazzano
    • An enterprise container platform for deploying traditional and cloud-native applications in multi-cloud and hybrid scenarios.
  6. Terraform and  Oracle Cloud Infrastructure (OCI)
    • Allows developers to safely and predictably create, change, and improve Oracle Cloud Infrastructure.

The role of the developer is ever-expanding. And now more than ever, IT processes are driven by code. Oracle understands this. This is why we provide a developer-friendly environment throughout the CI/CD process. No matter the task, and no matter where you sit, our toolsets will help you keep it simple while staying smart. Development Smart. With simple, secure technologies that offer rock-solid reliability.

In a world of increasing complexity that demands ever-increasing efficiency, that’s a powerful thing indeed.

If you’re ready to learn about the latest Oracle technology, take a look at Oracle LiveLabs and try it for free on Oracle Cloud Free Tier. We’re here and ready to help.