cncf / landscape-graph

CNCF Landscape Graph, data model, and applications.
https://github.com/orgs/cncf/projects/7/views/6
Other
37 stars 11 forks source link

Spike: Evaluate dgraph.io as an apache 2.0 alternative for back end store #94

Open halcyondude opened 1 year ago

halcyondude commented 1 year ago

Given #4, #54 and present direction usage of GraphQL as the interface definition language for the landscape-graph project, we should explore DGraph.


CNCF Landscape: DGraph Labs

image

--

https://dgraph.io/docs/dgraph-overview/#dgraph-architecture

<snip>

Dgraph is a single layer in your tech stack, but inside the inner workings of a Dgraph database instance, there are three distinct entities:

  • Badger - Dgraph’s custom-built key-value store
  • Ristretto - Dgraph’s custom-built cache
  • Dgraph - the methods and algorithms used to parse DQL (and now GraphQL) and act accordingly

External to the core Dgraph database instance, you will find tools and communication clients to support Dgraph:

  • Ratel - a GUI Layer to work directly with DQL. (Ratel does not work with the graphql)
  • DQL Clients written in Go, C#, Java, JavaScript, and Python. </snip>

https://dgraph.io/docs/graphql/overview

<snip>

Welcome to the official GraphQL documentation for Dgraph.

Designed from the ground up to be run in production, Dgraph is the native GraphQL database with a graph backend. It is open-source, scalable, distributed, highly available and lightning fast.

  • These docs tell you all the details. If you are looking for a walk through tutorial, then head over to our tutorials section.

Dgraph gives you GraphQL. You're always working with GraphQL, not a translation layer. When you build an app with Dgraph, Dgraph is your GraphQL database.

Exploring the docs

  • How it Works - Once you've got yourself started with tutorials, you might need to review how it works.
  • Schema - You'll need the schema reference to find out about all the options of what can be in your schema.
  • The API - The API section tells you about how the GraphQL API is served and how you can access it.
  • Queries - Everything you need to know about writing GraphQL queries.
  • Mutations - Everything you need to know about writing GraphQL mutations with Dgraph.
  • Subscriptions - GraphQL subscriptions help you make your APP more responsive or, for example, add live feeds. Dgraph can generate subscriptions for you.
  • Custom Logic - Dgraph's auto generated GraphQL API is fantastic, but as your app gets more complicated, you'll need to add custom business logic to your API.
  • Authorization - Find out how Dgraph can add automated authorization to your GraphQL API.
  • Local Administration - Once you're up and running you might also need to know a few details about administering your Dgraph instance if you are running locally.
  • Dgraph Cloud - If you are using hosted Dgraph on Dgraph Cloud, then head over here to learn about administering your backend.

<snip>