Ga Ga
    • Create new note
    • Create a note from template
      • Sharing URL Link copied
      • /edit
      • View mode
        • Edit mode
        • View mode
        • Book mode
        • Slide mode
        Edit mode View mode Book mode Slide mode
      • Customize slides
      • Note Permission
      • Read
        • Only me
        • Signed-in users
        • Everyone
        Only me Signed-in users Everyone
      • Write
        • Only me
        • Signed-in users
        • Everyone
        Only me Signed-in users Everyone
      • Engagement control Commenting, Suggest edit, Emoji Reply
    • Invite by email
      Invitee

      This note has no invitees

    • Publish Note

      Share your work with the world Congratulations! 🎉 Your note is out in the world Publish Note

      Your note will be visible on your profile and discoverable by anyone.
      Your note is now live.
      This note is visible on your profile and discoverable online.
      Everyone on the web can find and read all notes of this public team.
      See published notes
      Unpublish note
      Please check the box to agree to the Community Guidelines.
      View profile
    • Commenting
      Permission
      Disabled Forbidden Owners Signed-in users Everyone
    • Enable
    • Permission
      • Forbidden
      • Owners
      • Signed-in users
      • Everyone
    • Suggest edit
      Permission
      Disabled Forbidden Owners Signed-in users Everyone
    • Enable
    • Permission
      • Forbidden
      • Owners
      • Signed-in users
    • Emoji Reply
    • Enable
    • Versions and GitHub Sync
    • Note settings
    • Note Insights New
    • Engagement control
    • Make a copy
    • Transfer ownership
    • Delete this note
    • Save as template
    • Insert from template
    • Import from
      • Dropbox
      • Google Drive
      • Gist
      • Clipboard
    • Export to
      • Dropbox
      • Google Drive
      • Gist
    • Download
      • Markdown
      • HTML
      • Raw HTML
Menu Note settings Note Insights Versions and GitHub Sync Sharing URL Create Help
Create Create new note Create a note from template
Menu
Options
Engagement control Make a copy Transfer ownership Delete this note
Import from
Dropbox Google Drive Gist Clipboard
Export to
Dropbox Google Drive Gist
Download
Markdown HTML Raw HTML
Back
Sharing URL Link copied
/edit
View mode
  • Edit mode
  • View mode
  • Book mode
  • Slide mode
Edit mode View mode Book mode Slide mode
Customize slides
Note Permission
Read
Only me
  • Only me
  • Signed-in users
  • Everyone
Only me Signed-in users Everyone
Write
Only me
  • Only me
  • Signed-in users
  • Everyone
Only me Signed-in users Everyone
Engagement control Commenting, Suggest edit, Emoji Reply
  • Invite by email
    Invitee

    This note has no invitees

  • Publish Note

    Share your work with the world Congratulations! 🎉 Your note is out in the world Publish Note

    Your note will be visible on your profile and discoverable by anyone.
    Your note is now live.
    This note is visible on your profile and discoverable online.
    Everyone on the web can find and read all notes of this public team.
    See published notes
    Unpublish note
    Please check the box to agree to the Community Guidelines.
    View profile
    Engagement control
    Commenting
    Permission
    Disabled Forbidden Owners Signed-in users Everyone
    Enable
    Permission
    • Forbidden
    • Owners
    • Signed-in users
    • Everyone
    Suggest edit
    Permission
    Disabled Forbidden Owners Signed-in users Everyone
    Enable
    Permission
    • Forbidden
    • Owners
    • Signed-in users
    Emoji Reply
    Enable
    Import from Dropbox Google Drive Gist Clipboard
       Owned this note    Owned this note      
    Published Linked with GitHub
    • Any changes
      Be notified of any changes
    • Mention me
      Be notified of mention me
    • Unsubscribe
    # Best Graph Database for Enterprise: Neo4j vs TigerGraph vs Dgraph vs NebulaGraph Comparison In the modern business environment where data inevitably rules, traditional relational databases are no longer enough to keep up with the increasing complexity and interconnectivity of information. Enter graph databases, the revolutionary technology that has taken the tech industry by storm - for a good reason. With the ability to store and manage vast amounts of complex and interconnected data, graph databases are rapidly becoming the go-to solution for businesses and organizations of all sizes. According to a [report](https://www.databridgemarketresearch.com/reports/global-graph-database-market) by Data Bridge Market Research, the global market for graph databases was around USD 1938.20 million in 2022. The same report projects that the industry will grow at a compounded annual rate of 18.20% and reach USD 7384.79 million by 2030. But which is the best graph database for enterprise? There are a few good players, and this article is dedicated to looking at Neo4j vs TigerGraph vs Dgraph vs NebulaGraph. Whether your intention is to use [open source graph database](https://nebula-graph.io/) options or commercial ones, you'll find this useful. Meanwhile if you are just beginning out with graph databases, we recommend that you also make sure to go through this valuable [guide on how to choose a graph database](https://www.nebula-graph.io/posts/how-to-select-a-graph-database). ## **Benefits of graph databases for enterprises** These benefits represent the outstanding role that graph databases play in helping enterprises to get the most out of their big data. ### **Data Integrity** Graph databases ensure data integrity by allowing developers to define constraints that enforce data relationships and eliminate anomalies or inconsistencies. This makes them ideal for use cases where data quality and accuracy are critical, such as financial transactions or healthcare records. For example, a financial institution could use a graph database to ensure the accuracy and completeness of customer data across multiple accounts and transactions. ### **Semantic Reasoning** Semantic reasoning is a process by which a computer program or system is able to derive new facts or insights from existing data by analyzing the relationships between entities and inferring new information based on those relationships. This is done by applying logical rules and algorithms that take into account the meaning and context of the data being analyzed, as opposed to just processing the data as raw information. In the context of graph databases, semantic reasoning can be used to gain deeper insights into the relationships between entities in the graph, even when those relationships are not explicitly stated. By analyzing the semantics of the data and applying logical rules, a graph database can infer new relationships and properties between entities, leading to a richer and more comprehensive understanding of the data. This can be particularly useful in fields such as life sciences, where researchers may be trying to identify new connections between genes and diseases, or in finance, where analysts may be trying to detect patterns in market data that are not immediately apparent. ### **Data Integration** Graph databases can be used to integrate data from different sources, enabling users to analyze data from disparate sources in a single location. This enables enterprises to gain a more complete picture of their data, and also helps to identify relationships and patterns that might not be apparent when analyzing individual data sources in isolation. For example, an e-commerce company can use a graph database to integrate customer data from multiple sources, such as social media profiles, web browsing history, and purchase history, in order to better understand customer behavior and preferences. ### **Collaboration** Collaboration is a crucial element for success in many enterprises, but it can often be challenging due to siloed data and disparate systems. Graph databases offer a solution to this problem by providing a unified and comprehensive view of data that can be accessed by multiple teams and departments within an organization. For example, a pharmaceutical company may have separate teams working on drug development, clinical trials, and marketing. Each team may have its own systems and data sources, making it difficult to share information and collaborate effectively. However, by using a graph database to store all the data in a unified structure, each team can easily access and analyze the same information, regardless of where it originated. This can help to break down silos and improve collaboration across the organization, leading to more efficient drug development and faster time-to-market. Furthermore, graph databases can enable real-time collaboration by providing a single source of truth that is always up-to-date. Changes made by one team or department are immediately visible to others, allowing for faster decision-making and more agile processes. ### **Regulatory Compliance** One of the main advantages of graph databases in regulatory compliance is their ability to maintain a complete and auditable view of data. The ability to store information about data lineage and changes means that graph databases can track data as it moves through an enterprise's systems, allowing enterprises to demonstrate compliance with regulations such as GDPR and HIPAA. For example, consider a healthcare provider that uses a graph database to manage patient records. By simply tracking changes to patient records over time, the provider can demonstrate compliance with regulations that require the maintenance of an audit trail. In the event of an audit or investigation, the provider can easily provide a complete record of all changes. Another way that graph databases can help enterprises meet regulatory compliance requirements is by providing a granular level of access control. This is achieved through defining roles and permissions for each user, ensuring that only authorized personnel have access to sensitive data. This can help enterprises comply with regulations that require the protection of personal data. ## **Overview of Neo4j, TigerGraph, Dgraph ,NebulaGraph** Here is a brief view of each of the graph databases we are focussing on: ### **Neo4j** Neo4j has become one of the most popular graph databases on the market. According to the parent company Neo4j, Inc, the solution is currently being used by over 900 enterprises and enjoys a strong community of over 200,000 members. Over 30 million downloads and 150,000 instances are executed every year. ### **TigerGraph** TigerGraph was first released in 2012 by TigerGraph Inc, though in stealth mode. It came out of stealth in 2017. Information appearing on [Techtarget](https://www.techtarget.com/searchbusinessanalytics/news/252492072/TigerGraph-taking-advantage-of-graph-database-growth) indicates that TigerGraph may have had about 4000 users in TigerGraph Cloud by 2021. However, it's not clear if these are pure enterprise customers or a mix of enterprise and individuals. ### **Dgraph** Written purely in Go, Dgraph came to the market in 2017 but was first introduced in 2015 by Dgraph Labs, Inc. According to Dgraph, their community is now at 21, 000 members. Dgraph Enterprise, which is our focus, is actually built atop the open source offering. ### **NebulaGraph** NebulaGraph is also an open source graph database whose first version, Nebula Graph v0.1.0-alpha, was first released in 2019. Check out the entire [timeline of NebulaGraph](https://docs.nebula-graph.io/3.0.2/20.appendix/history/). The [NebulaGraph Enterprise](https://www.nebula-graph.io/enterprise) version gives companies access to enhanced visual tools, Analytics, enterprise-level security and dedicated support. Big companies including Tencent, Oppo, Vivo, and WeBank are already using NebulaGraph Enterprise. Others like [360 DigiTech have migrated to NebulaGraph](https://www.nebula-graph.io/posts/why-migrate-janusgraph-nebula-graph) from their previous graph solutions. NebulaGraph has now passed 200,000 pull requests and is already at over 8000 Github stars (in 2023). This is remarkable considering NebulaGraph is in fact the youngest of all the rest here. ## **Comparison across key graph database features and capabilities** The above graph databases can offer numerous benefits to your enterprise. But how do you choose between them? Below is a detailed comparison of the features and capabilities of these databases, which will help you make an informed decision when choosing the right one for your enterprise. We would also like to clarify that the details here are mostly based on publicly available information and also from the graph databases own assertions, and not on practical tests that we have done ourselves. ### **Performance** * **Neo4j:** Offers several high performance features, such as optimized indexing and query planning. Also,[ according to InfoWorld,](https://www.infoworld.com/article/3679269/neo4j-50-improves-on-scalability-performance-and-agility.html) the latest database version includes autonomous clustering (for connecting related nodes). * **TigerGraph:** According to TigerGraph's performance benchmark report, the database is up to 377 times faster than other graph databases in two-hop path queries. * **Dgraph:** Dgraph offers several performance features, such as optimized read and write speeds and concurrent caching. * **NebulaGraph:** NebulaGraph is designed to be automatically highly performant for large-scale graph data.Here is the detailed [NebulaGraph performance report](https://www.nebula-graph.io/posts/nebula-graph-v2.6.0-performance-report). The Tencent Cloud Security team tested NebulaGraph and Neo4j alongside HugeGraph. They found that while Neo4j outperformed NebulaGraph slightly with smaller data sets, NebulaGraph proved significantly faster than the others with larger data sets. Here are the [comprehensive results](https://www.nebula-graph.io/posts/performance-comparison-neo4j-janusgraph-nebula-graph) of the test. ### **Data modeling** * **Neo4j:** Neo4j is a property graph database and thus represents data in nodes, edges, and properties. The relationships are directional – either unidirectional or bidirectional. * **TigerGraph:** Like Neo4j, TigerGraph is a directional property graph representing data in nodes, edges, and properties. The edges are equally directed. * **Dgraph:** Dgraph is also a property graph database, which models data into nodes and edges. The edges are also directional and contain properties that define the relationship of the data sets. It supports reverse traversals, allowing you to follow the data flow from the end to the start nodes. * **NebulaGraph:** Users can create and modify their data models on-the-fly, without the need for any pre-defined schemas or constraints.This allows users to model their data in a way that best fits their specific use case, without being constrained by pre-existing schemas. It also supports property graphs. ### **Query language** * **Neo4j:** Neo4j uses its own query language, Cypher, which features simple and human-readable syntax and commands. * **TigerGraph:** Uses the GSQL language, which has highly-expressive syntax, leading to improved completeness of the retrieved data. The language also supports parallelism, which improves query speeds.This language has some similarities to SQL. * **Dgraph:** Uses the GraphQL language, which is highly expressive yet direct. GraphQL will enable you to define the shape of your data, leading to improved modeling. * **NebulaGraph:** Provides a powerful query language known as [nQL](https://docs.nebula-graph.io/3.0.0/3.ngql-guide/1.nGQL-overview/1.overview/), which is similar in syntax to SQL and is designed for both developers as well as operations teams. ### **Ecosystem** * **Neo4j:** Neo4j is equipped with a wide collection of libraries, tools, and drivers, enabling seamless integration. For example, the connector tools make it easy to integrate Neo4j to popular data tools including data warehouses such as Google BigQuery. * **TigerGraph:** The TigerGraph ecosystem is powered by RESTful APIs and JSON output. Also has several integration connectors, allowing you to import your data from multiple sources. * **Dgraph:** Uses proprietary software tools to offer data integration. According to a 2021 news report on DevOps, Dgraph Labs (the parent company) contracted software firm Capventis to help expand its data integration tools. One of the solutions acquired was Glu, a software that allows the database to unite data from multiple sources during analysis. * **NebulaGraph:** [NebulaGraph’s ecosystem](https://docs.nebula-graph.io/3.2.0/20.appendix/6.eco-tool-version/) allows users to seamlessly integrate NebulaGraph with other systems. For example, it integrates with Apache Spark for big data processing. This allows users to perform graph computations on NebulaGraph data using Spark's powerful parallel processing capabilities. Check out this comprehensive guide on [using NebulaGraph in Apache Spark](https://www.nebula-graph.io/posts/work-with-nebula-graph-apache-spark). ### **Analytics** * **Neo4j:** Neo4j has optimized graph algorithms, which help reveal hidden patterns and improve data visualization. The database also supports AI and machine learning integration, which allows for more optimal analytics. * **TigerGraph:** Uses algorithms with parallel computation, allowing faster and improved data retrievals. It also supports AI and Machine Learning for cloud data. * **Dgraph:** Also offers excellent analytic features, making it popular amongst businesses and enterprises that process big data. GraphQL is a potent analytical tool that offers fast and optimal data visualization with numerous analytical information. * **NebulaGraph:** Offers an enterprise analytics platform known as [NebulaGraph Analytics](https://docs.nebula-graph.io/3.4.1/graph-computing/nebula-analytics/) which is purely dedicated to graph analytics. ### **Scalability** * **Neo4j:** Neo4j is famous for, among other things, offering impressive scalability capabilities. According to a press release published on PRNewswire in 2021, the database can support up to 200 billion nodes and over one trillion relationships. * **TigerGraph:** TigerGraph is also becoming increasingly popular due to its scalability features. According to a news report on Silicon Angle, TigerGraph can support up to 70 billion nodes and 500 billion edges (relationships). * **Dgraph:** Supports horizontal scaling. According to a news report published on GlobalNewsWire, the database was used by a company in China to store 48 billion triple datasets. * **NebulaGraph:** Also offers horizontal scalability. You can expand the cluster by adding more nodes or services without impacting performance. Moreover, scaling out NebulaGraph is a breeze as it doesn't require reconfiguring existing nodes - all you need is just sufficient bandwidth. ### **Security** * **Neo4j:** Offers a comprehensive access-control security mode, which makes it possible to restrict access to individual nodes and properties. The database also has control permission features for data reading, writing, and traversing. Additionally, it allows for integrating third-party data security measures such as data encryption, BOLT and HTTPS support, and SSL certificates. * **TigerGraph:** Equally offers several security capabilities, including network-access control, authentication, and encryption. According to a news report on Datanami, TigerGraph has of late made several updates, including adding new security features to its cloud platform. The latest updates are expected to bolster the database's stability, performance, and security. * **Dgraph:** Offers diverse security features, such as network access control and data encryption. The database also allows you to create access control to the GraphQL endpoint applications, thus limiting the people who can access and query data. * **NebulaGraph:** Supports role-based [access control](https://db-engines.com/en/system/NebulaGraph%3BNeo4j%3BTigerGraph) to ensure the confidentiality, integrity, and availability of user data. The access control mechanism is [implemented](https://docs.nebula-graph.io/3.2.0/7.data-security/1.authentication/1.authentication/) through local authentication or LDAP authentication. ## **Conclusion** The graph database you choose can enormously impact the kind of value your enterprise gets from data. This is why the selection process demands careful reflection to avoid the common pitfalls that businesses often encounter. One of the most prevalent missteps is choosing a database solution that has limited scalability, thereby restricting the ability to quickly adapt to future data management needs. Another mistake is settling for a database solution that underperforms or has inadequate security features, jeopardizing the integrity and confidentiality of the data. With the above comparison and the resources provided, you should be able to make an informed decision and choose a graph database that is best suited for your enterprise's needs.

    Import from clipboard

    Paste your markdown or webpage here...

    Advanced permission required

    Your current role can only read. Ask the system administrator to acquire write and comment permission.

    This team is disabled

    Sorry, this team is disabled. You can't edit this note.

    This note is locked

    Sorry, only owner can edit this note.

    Reach the limit

    Sorry, you've reached the max length this note can be.
    Please reduce the content or divide it to more notes, thank you!

    Import from Gist

    Import from Snippet

    or

    Export to Snippet

    Are you sure?

    Do you really want to delete this note?
    All users will lose their connection.

    Create a note from template

    Create a note from template

    Oops...
    This template has been removed or transferred.
    Upgrade
    All
    • All
    • Team
    No template.

    Create a template

    Upgrade

    Delete template

    Do you really want to delete this template?
    Turn this template into a regular note and keep its content, versions, and comments.

    This page need refresh

    You have an incompatible client version.
    Refresh to update.
    New version available!
    See releases notes here
    Refresh to enjoy new features.
    Your user state has changed.
    Refresh to load new user state.

    Sign in

    Forgot password

    or

    By clicking below, you agree to our terms of service.

    Sign in via Facebook Sign in via Twitter Sign in via GitHub Sign in via Dropbox Sign in with Wallet
    Wallet ( )
    Connect another wallet

    New to HackMD? Sign up

    Help

    • English
    • 中文
    • Français
    • Deutsch
    • 日本語
    • Español
    • Català
    • Ελληνικά
    • Português
    • italiano
    • Türkçe
    • Русский
    • Nederlands
    • hrvatski jezik
    • język polski
    • Українська
    • हिन्दी
    • svenska
    • Esperanto
    • dansk

    Documents

    Help & Tutorial

    How to use Book mode

    Slide Example

    API Docs

    Edit in VSCode

    Install browser extension

    Contacts

    Feedback

    Discord

    Send us email

    Resources

    Releases

    Pricing

    Blog

    Policy

    Terms

    Privacy

    Cheatsheet

    Syntax Example Reference
    # Header Header 基本排版
    - Unordered List
    • Unordered List
    1. Ordered List
    1. Ordered List
    - [ ] Todo List
    • Todo List
    > Blockquote
    Blockquote
    **Bold font** Bold font
    *Italics font* Italics font
    ~~Strikethrough~~ Strikethrough
    19^th^ 19th
    H~2~O H2O
    ++Inserted text++ Inserted text
    ==Marked text== Marked text
    [link text](https:// "title") Link
    ![image alt](https:// "title") Image
    `Code` Code 在筆記中貼入程式碼
    ```javascript
    var i = 0;
    ```
    var i = 0;
    :smile: :smile: Emoji list
    {%youtube youtube_id %} Externals
    $L^aT_eX$ LaTeX
    :::info
    This is a alert area.
    :::

    This is a alert area.

    Versions and GitHub Sync
    Get Full History Access

    • Edit version name
    • Delete

    revision author avatar     named on  

    More Less

    Note content is identical to the latest version.
    Compare
      Choose a version
      No search result
      Version not found
    Sign in to link this note to GitHub
    Learn more
    This note is not linked with GitHub
     

    Feedback

    Submission failed, please try again

    Thanks for your support.

    On a scale of 0-10, how likely is it that you would recommend HackMD to your friends, family or business associates?

    Please give us some advice and help us improve HackMD.

     

    Thanks for your feedback

    Remove version name

    Do you want to remove this version name and description?

    Transfer ownership

    Transfer to
      Warning: is a public team. If you transfer note to this team, everyone on the web can find and read this note.

        Link with GitHub

        Please authorize HackMD on GitHub
        • Please sign in to GitHub and install the HackMD app on your GitHub repo.
        • HackMD links with GitHub through a GitHub App. You can choose which repo to install our App.
        Learn more  Sign in to GitHub

        Push the note to GitHub Push to GitHub Pull a file from GitHub

          Authorize again
         

        Choose which file to push to

        Select repo
        Refresh Authorize more repos
        Select branch
        Select file
        Select branch
        Choose version(s) to push
        • Save a new version and push
        • Choose from existing versions
        Include title and tags
        Available push count

        Pull from GitHub

         
        File from GitHub
        File from HackMD

        GitHub Link Settings

        File linked

        Linked by
        File path
        Last synced branch
        Available push count

        Danger Zone

        Unlink
        You will no longer receive notification when GitHub file changes after unlink.

        Syncing

        Push failed

        Push successfully