-
Notifications
You must be signed in to change notification settings - Fork 69
[update] Dgraph Overview #416
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
Merged
Changes from all commits
Commits
Show all changes
4 commits
Select commit
Hold shift + click to select a range
File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -21,27 +21,6 @@ Dgraph is different from other graph databases in a number of ways, including: | |
| - **Fully Transactional and ACID Compliant**:   *Dgraph satisfies demanding OLTP workloads that require frequent inserts and updates.* | ||
|
|
||
| - **Text Search**:   *Full-text searching is included.* | ||
| ## Who is using Dgraph & How | ||
| Dgraph is a graph database with some special differentiators. Any graph database is better when relationships and connections really matter. For example, when querying across links in a social network, or detecting networks of interconnected fraudsters in a fraud application - these are natural graph use cases. | ||
|
|
||
| Dgraph particularly excels when teams need simplicity and elegance to start fast, or anticipate large data sets and loads down the road. | ||
|
|
||
| To get a sample of the kinds of things that are natural with Dgraph, consider the following real-world scenarios | ||
| (and click the embedded links): | ||
|
|
||
| * [Data unification](https://dgraph.io/case-studies/factset/) | ||
| * [Customer 360](https://dgraph.io/capventis) | ||
| * [Fraud detection](https://www.youtube.com/watch?v=rAuDfb1dhl0) <!-- Knights Analytics Dgraph Day video --> | ||
| * Ecommerce stores | ||
| * [Entity resolution](https://dgraph.io/blog/post/introducing-entity-resolution/) | ||
| * [HR management applications](https://www.idgconnect.com/article/3615990/why-graphs-will-form-the-basis-for-a-new-hr-industry.html) | ||
| * [Master data management (MDM)](https://dgraph.io/blog/post/introducing-entity-resolution/) | ||
| * Product recommendation engines | ||
| * Real-time chat applications | ||
| * [Logistics](https://dgraph.io/case-studies/ke-holdings/) | ||
|
|
||
| To learn more about how organizations are using Dgraph, read more | ||
| [Dgraph Case Studies](https://dgraph.io/case-studies). | ||
|
|
||
| ## Dgraph and GraphQL | ||
| In Dgraph, GraphQL is not an afterghtough or an add-on; it is core to the product. GraphQL developers can get started in minutes, and need not concern themselves with the powerful graph database running in the background. | ||
|
|
@@ -90,20 +69,11 @@ In addition, Dgraph supports [RDF triples]({{< relref "mutations/triples/" >}}) | |
|
|
||
| Dgraph relationships are directed links between nodes, allowing optimized traversal from node to node. Dgraph allows a bidirectional relation via directed relationships in both directions if desired. | ||
|
|
||
| ## App developers and data engineers work together seamlessly | ||
| ## Application developers and data engineers work together seamlessly | ||
| Dgraph allows a particularly smoooth interaction among data teams or experts and data consumers. GraphQL's flexibility empowers data consumers to get exactly the data they want, in the format they want it, at the speed they need, without writing custom REST APIs or understanding a new graph query language. | ||
|
|
||
| Database experts can focus on the data, schema and indexes, without maintaining a sprawling set of REST APIs, views, or optimized queries tailored to each data consumer or app. | ||
|
|
||
| ## Hosting options | ||
| Dgraph is typically deployed as a service in the cloud (Graph as a Service) - [click here to get started in minutes](https://cloud.dgraph.io/). This is the fastest and easiest way to get started with Dgraph, and is recommended since it includes hosting, security, monitoring, support, and upgrades, from the Dgraph team. | ||
|
|
||
| - **Managed**: Our **Dgraph Cloud** offering provides the flexibility and performance of a horizontally-scalable and distributed graph database with native GraphQL services out of the box, so you don’t need to configure and manage VMs, pods, containers, servers, firewalls, monitoring, load balancers, API gateways, or HTTP endpoints to power a modern data infrastructure. | ||
|
|
||
| To learn more about Dgraph Cloud, see the [Dgraph Cloud Overview](https://dgraph.io/docs/cloud/introduction). | ||
|
|
||
| - **Self-hosted**: For organizations who require or prefer to **keep data on premise,** or in their own cloud-based servers, dgraph can also be downloaded and installed as a docker image, or as a binary to install directly on a Linux machine. | ||
|
|
||
| ### Dgraph Cloud Cluster Types | ||
|
|
||
| - **Shared Instance**: Dgraph Cloud with [shared instances](https://dgraph.io/graphql) is a | ||
|
|
@@ -112,17 +82,18 @@ managing infrastructure. This is a fast and easy way to get started with GraphQL | |
|
|
||
| Shared instances run in a common database using Dgraph multi-tenancy. Your data is protected but you share resources and will have limited scale. | ||
|
|
||
| Try [[this ]](https://dgraph.io/tour/graphqlintro/2/) to define a GraphQL schema, insert and query data in just a few minutes. | ||
| Try the [Introduction to GraphQL](https://dgraph.io/tour/graphqlintro/2/) tutorial to define a GraphQL schema, insert and query data in just a few minutes. | ||
|
|
||
| - **Dedicated instances** run on their own dedicated hardware to ensure consistent performance. This option extends the capabilities of the lower-cost shared instances to support enterprise, production workloads, and includes a high availability option. | ||
|
|
||
| Dgraph's cloud offering is currently available in AWS and Google Cloud (GCP), with an Azure version coming soon. | ||
| ## Internal architecture | ||
|
|
||
| ## Dgraph Architecture | ||
| Dgraph scales to larger data sizes than other graph databases because it is designed from the groud up to be distributed. Therefore Dgraph runs as a cluster of server nodes which communicate to form a single logical data store. There are two main types of processes (nodes) running: Zeros and Alphas. | ||
|
|
||
| - **Dgraph Zero** server nodes hold metadata for the Dgraph cluster, coordinate distributed transactions, and re-balance data among server groups. | ||
|
|
||
| - **Dgraph Alpha** server nodes store the graph data and indices. Unlike non-distributed graph databases, Dgraph alphas store and index "predicates" which represent the relations among data elements. This unique indexing approach allows Dgraph to perform a database query with depth N in only N network hops, making it faster and more scalable for distributed (sharded) data sets. | ||
| {{<figure class="medium image" src="/images/overview/dgraph-architecture.png" title="Dgraph Internal Architecture" alt="Architecture of Dgraph">}} | ||
|
|
||
|
Collaborator
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Replace what's next links by ( I did not manage to do a suggestion for that part).
|
||
| In addition, people use common tools to define schemas, load data, and query the database: | ||
|
|
||
|
|
||
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.