Graph databases have matured into mainstream information technology. They are no longer esoteric software that’s just emerging from the lab of a startup no one has ever heard of.
Many CIOs are wondering where the development of graph databases is headed. In general, the direction is to add functionality to the graph database and thereby reduce what application software must address. Shifting functionality to operating systems and databases is an information technology trend that’s been underway for decades.
Here are some ideas about the future direction of graph databases.
We’re all impatient. We don’t want to wait for answers. We really don’t care how many millions of rows or relationships a query has to traverse to complete. We want an answer now.
Today graph databases can materially outperform relational databases in many applications. In the future, graph databases will increase their response time lead and satisfy our impatience.
We’re being inundated by more and more data. Data warehouses have turned into data lakes. New data sources such as IIoT data, e-commerce data, images, audio, and videos are now turning data lakes into data oceans.
In the future, graph databases will continue to increase their ability to cope with, manage, and deliver value from these skyrocketing data volumes.
We all clamour for more flexibility because we live in a competitive environment of rapidly changing business requirements. Flexibility requires applications that can respond quickly with:
- Low disruption to daily operations.
- An acceptable software development cost.
- Smooth, non-disruptive transition to new functionality.
- Low risk of triggering an unplanned application outage.
Responding to changing business requirements almost invariably requires:
- Database schema changes.
- Software changes.
- Data transformations.
- New data values.
In the future, graph database software will meet these technical requirements with:
- The capability to respond to schema changes more easily than relational databases.
- A more intelligent integrated development environment.
- Enhanced extract, transform, and load (ETL) software.
- Increasingly efficient, high-performance data loaders.
These graph database features will enable applications to be more responsive to rapidly changing business requirements with lower risk and cost.
Diverse data integration
Let’s face it. Today’s corporate data is scattered all over the place. For example:
- There are major datastores associated with important software packages that underlie critical operational applications.
- Several departments have signed up for various Software-as-a-Service (SaaS) applications.
- Mountains of Excel workbooks contain critical bits of information on network drives.
- Some groups license useful external data and integrate it with internal data to create informal applications.
- Various document management systems contain huge stores of unstructured data.
- Important vendors manage some of our data for better or for worse.
The information technologies associated with these applications span almost everything known to man. Some of these applications are hosted on-premises. Others are hosted in hybrid or cloud environments.
Graph databases typically come with a rich library of tools to integrate data from diverse sources. In the future, this data integration software will:
- Become easier to use.
- Point out illogical constructs to software developers.
- Alert end-users about data quality issues and data integration disconnects.
- Automate high effort, mind-numbing data wrangling work.
This graph database capability will enable organizations to squeeze more value from their data regardless of how or where it is stored.
Systems development velocity
Management thinks that every system development project timeline they’ve ever seen is too long. Management understands and is focused on achieving the business value of the first-mover advantage. Ambitious schedule demands from management turn into incredible pressure on software development teams to develop more functionality faster. Sometimes the result is poor quality software. At other times, the result is high project team staff turnover and burnout.
In the future, graph databases will come packaged with components to boost software development productivity and ensure acceptable software quality. The components include:
- An increasingly capable integrated development environment (IDE).
- A capable graph query language.
- A powerful algorithm library.
- Enhanced database operation tools.
Many experienced software developers are not conversant with the advanced math required to program most algorithms. To fill this gap, today’s graph databases come with algorithm libraries. Example capabilities include:
- Rich set of graph algorithms.
- Customizability of graph algorithms through parameters.
- Extensibility of graph algorithms through code.
In the future, algorithm libraries will continue to expand to include in-database support for:
- Machine learning.
- Handling data quality issues.
- Handling some types of software inadequacies.
These libraries will contribute to the goals of more intelligent applications and significantly reducing the need for custom software development and testing.
Graph query language
Today graph databases from different vendors come with different graph query languages, unlike relational databases that come with largely standardized SQL. These graph query languages, syntactically much like SQL, vary in their capability including the extent of their:
- Ability to express graph computations.
- Ability to process analytics natively.
- Support for ad hoc queries.
- Support for complex, parameterized procedures.
In the future, graph database standards will emerge that will make it easier to:
- Compare the functionality of graph database products.
- Train and redeploy staff.
Database operation consumes significant staff effort that is often tedious work. Typical tasks include:
- Revising database resources allocation.
- Running the batch job schedule.
- Starting backups, restores, and read replicas.
- Promotion and demotion of database images.
- Troubleshooting job crashes and hung sessions.
- Performing database and application performance monitoring and analysis.
In the future, graph database operations will become more sophisticated and less tedious with enhanced tools for:
- Work automation.
- Intuitive database and application performance analysis.
- Data access contention alerts.
- Workload and model management recommendations.
- Data and application anomaly detection powered by machine learning.
- Query performance analysis with tuning recommendations.
- Real-time database health monitoring with results displayed on dashboards.
- Problem analysis of log entries.
More sophisticated graph database operations reduce staff effort and improve overall application availability.
We all want systems that are responsive, resilient, and elastic to deliver high performance and high availability. Graph databases are starting to respond to these goals.
In the future, graph databases will include more features that achieve these demanding goals.
Today, ensuring adequate application security is a headache. Most applications require role-based security that defines what data every end-user attached to a role can create, read, update, and delete (CRUD). This security requirement adds significant amounts of software development complexity to every application.
Graph and relational databases already offer some features to address role-based security. In the future, graph databases will include more features that respond to this requirement to reduce software development effort and operational effort.
What graph database capabilities are you looking for to advance your organization’s data management goals? Let us know in the comments below.