Neo4j as an Embedded Database: The Key Use Cases of Graph Databases



An embedded database is a database used inside another company’s application, providing added value and functionality. It enhances the functionality of the “host” application, usually without the end user realizing they are engaging with the embedded database.

In this blog series, we’ll discuss how the Neo4j graph database can be used as an embedded database. In the final part of the series, we’ll examine the use cases where graph databases have become extremely popular – you can better understand if your use case will be a good fit.

Fraud Detection and Investigative Analysis


Graph technology allows organizations to view a single person’s information, and more critically, start connecting that individual to a variety of common elements. For example, it’s easy to spot when multiple people are connected to the same email, address, phone number, or bank account; these patterns can indicate fraud when combined with other insight.

Specific examples include fraud detection and investigative analysis. Fraud detection monitors business events and customer data such as new accounts, loan applications, and credit card transactions for current patterns and emergent or new patterns. Investigative analysis tracks bad actors by analyzing phone calls, emails, financial transactions, and suspects in specific locations as well as “skips” or hops in pattern behaviors that indicate something is potentially amiss.

Graph databases also help identify networks of people that are a little less obvious by enabling better visibility into coordinated activity. Detecting financial fraud is vital and can be hindered and delayed by the sheer volume of documents. In the Panama Papers case, a vast amount of information was gleaned by putting the source files into a graph database to reveal shell corporations used for tax evasion.

In isolation, some of these activities appear natural and normal. It’s not until you see everything connected that a circular money flow pattern becomes evident. It becomes easier to detect layering, where the same synthetic ID or behavior is noticeable.

For instance, if the same password hash or PIN are all generated from a single mobile device resulting in multiple bank cards getting opened up, that’s a pattern that becomes visible through disparate data connections. In isolation, nothing looks out of order. But, when looked at collectively, it reveals that this person now has a 100,000 dollars-worth of credit line because they’ve opened up 20 credit cards. If all this activity gets generated using the same cell phone or the same laptop, it is likely that a single person is responsible.

Network and IT Operations


Many organizations use graph technology to visualize connections across networks or collections of devices. Visualization can help detect network threats across an expanding cyber-physical estate. Having a graph-based visualization enables the organization to see that network or group of devices easily.

Neo4j functionality is also used on the backend to do calculations, running algorithms behind the scenes. For example, an organization might use Neo4j to calculate the shortest path between point A and point B in the supply chain. They don’t want the graph visualization up front; they need a graph behind the scenes to do the calculations in a performant way.

In other instances, organizations create interactive visualizations of their network to enable somebody to click on a network device, expanding that view to find out what threats exist or where potential threats might emerge. They can also use similar graph visualizations to assess the knock-on impact of a device going offline quickly; how will the downstream be affected if a product goes offline for maintenance, for example.

An industry spin on a similar concept is used in the telecommunications and utility sectors. Telco/Utility System Resource Management analyzes relationships among system components to identify which resources are overloaded, reallocate traffic to reduce risk, and reconfigure the topology to improve operations.

Cybersecurity: React Faster and Prevent Attacks


Cybersecurity is a vitally important global issue with substantial consequences to our individual and collective safety, as well as human and economic prosperity. The COVID-19 pandemic exponentially changed the cybersecurity landscape. People and businesses are at greater risk of cyberintrusion today, requiring advanced data solutions to analyze complex connections at scale.

Neo4j is an excellent match for connecting this data – a key technology enabler for collection, analysis, and research. Graph technologies offer new ways to tackle security data and use it to prevent attacks or react faster.

Using Graphs to Analyze the Origin of an Attack and Block Potential New Mails

A zero-day exploit is a previously undiscovered security flaw in a software. Between the moment it is discovered and until the software is patched by those who use it, hackers can use the flaw to compromise systems. The flaw can be used in a phishing attack where a criminal masquerades as a trustworthy entity to obtain sensitive information.

In 2014, an Internet Explorer zero-day exploit (CVE-2014-1776) became public. Following the announcement of the IE security flaw, a group of hackers sent mails to victims who were asked to login into a website where their identification information was captured.

In this instance, a Neo4j graph was used to analyze the origin of an attack and block potential new mails. After the initial emails were sent, domains used in the phishing attack were collected and stored in Neo4j. Open source information was then added, and graph analysis was conducted to identify potential links to other domains. Based on this analysis, potential threats were identified before they became active.

Retail and Real-Time Recommendations


Real-time recommendations can increase revenue, optimize margins, and improve customer experiences. Retailers use graph databases to power real-time recommendation engines. Native graph databases, like Neo4j, are ideally suited as the engine underpinning recommendations for retail and commerce sites because they create real-time data connections across disparate data sources, including contextual information.

Graph technology enables the recommendation system to build a profile of a consumer’s behavior, preferences, purchase history, inventory, and search terms in real time. As a result, the system can generate a more relevant set of results specific to the user’s query.

With graph technology, searches are refined against inventory to represent connections inside data sources based on shopper intent. As a result, the system swiftly builds up a picture of the customer on the fly, working with that portrait as the primary way relevant hits are generated for the consumer.

Next-Generation Identity and Access Management


Managing multiple changing roles, groups, products, and authorizations is an increasingly complex task for enterprise organizations. Identity and access management (IAM) solutions store information about parties (e.g., administrators, business units, end users) and resources (e.g., files, shares, network devices, products, agreements), along with the rules governing access to those resources. IAM solutions apply these rules to determine who can access or manipulate a resource.

Traditionally, IAM is implemented either by using directory services or building a custom solution inside an application’s backend. Using relational databases for IAM can result in performance, speed, and response issues.

As the number of users grows, custom solutions that use non-graph databases to store identity and access data become slow and unresponsive. Queries take too long because hierarchical directory structures can’t cope with the complex dependency structures found in multi-party distributed supply chains.

Graph technology can be used to create next-generation IAM solutions. Neo4j enables companies to seamlessly track all identity and access authorizations and inheritances with substantial depth and real-time results. Neo4j provides an interconnected view of all these relationships and dramatically improves organizational insight and control.

Some of the top IAM solutions are built on Neo4j, and many OEMs use Neo4j to build IAM functionality into their applications because it is such a natural fit. Organizations using Neo4j for IAM have significantly reduced query time. Graph database access lookups over large, complex structures execute in milliseconds, not minutes or hours.

Augmented Master Data Management


Augmented master data management (MDM) is a common use case for graph technology. Organizations are leveraging graph-powered MDM to unify and connect multiple sources of master data including customer, product, supplier, and logistics information.

Connecting disparate data sources and silos uncovers opportunities and markets. A holistic view of data eases compliance with regulations such as GDPR while enabling data governance.

Neo4j has several successful OEM organizations that offer MDM offerings using graph as a natural extension of their MDM solution. MDM and data quality tools aim to ensure the correct data is available and that the information is clean. Once clean data is available, you can apply a graph on top of it to benefit from looking at the connectivity of everything across those data sources.

Using Neo4j, users can create a 360° view of the master data made available in real time to all operational applications.

Conclusion


Embedding a graph database into your application enables you to take advantage of the use cases where graphs are a good fit. From fighting fraud and protecting your digital presence to giving real-time recommendations and a 360° view of your master data, the flexibility and functionality is what makes graph database technology so wonderful.

We highlighted some of the key use cases, but there are even more ways to use graph databases, such as supply chain management, compliance, graph data science and AI/ML, and knowledge graph. If what you’re looking for wasn’t mentioned above, we recommend you to read the Top 10 Use Cases of Graph Database Technology white paper and explore our use cases and case studies pages.


Want to learn more about embedded graph databases? Get this free white paper Neo4j Inside: A Guide to Neo4j as an Embedded Database now.

Get the White Paper