dgraph
dataloader
Our great sponsors
dgraph | dataloader | |
---|---|---|
34 | 47 | |
20,046 | 12,632 | |
0.6% | 0.5% | |
8.8 | 3.3 | |
5 days ago | 29 days ago | |
Go | JavaScript | |
GNU General Public License v3.0 or later | MIT License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
dgraph
- DGraph – GraphQL Database
-
How to choose the right type of database
Dgraph: A distributed and scalable graph database known for high performance. It's a good fit for large-scale graph processing, offering a GraphQL-like query language and gRPC API support.
- Is Dgraph dead? (should I continue using it)
-
Database Review: Top Five Missing Features from Database APIs
Dgraph (GraphQL, DQL)
-
Learning Graph Database data design & data modeling
Have you tried dgraph.io?
-
Getting Started with Serverless Edge - Exploring the Options
DGraph – A distributed GraphQL database with a graph backend.
-
Fluree DB - A datomic like database that I just discovered
How does it compare to, say grakn (renamed https://vaticle.com/, I think?), or draph (https://dgraph.io/), or Ontotext's GraphDB (https://www.ontotext.com/products/graphdb/), or Datomic?
-
GKE with Consul Service Mesh
Consul Connect service mesh has a higher memory footprint, so on a small cluster with e5-medium nodes (2 vCPUs, 4 GB memory), you will only be able to support a maximum of 6 side-car proxies. In order to get an application like Dgraph working, which will have 6 nodes (3 Dgraph Alpha pods and 3 Dgraph Zero pods) for high availability along with at least one client, a larger footprint with more robust Kubernetes worker nodes were required.
- Show HN: We have built a benchmark platform for graph databases
- What's the big deal about key-value databases like FoundationDB ands RocksDB?
dataloader
-
Delving into the Black Magic of GraphQL DataLoader! 🌌✨
When I began working with GraphQL, I had concerns about the N+1 query problem. In my research, I came across the DataLoader pattern and its implementation on GitHub. While I explored various examples of its usage, I still struggled to grasp how it operates internally. Join me in delving a bit deeper into GraphQL DataLoader! :)
-
How to use DataLoader with Mercurius GraphQL
DataLoader: it is the standard solution to N+1 problem.
-
Best Practices in Testing GraphQL APIs
Additionally, you can use DataLoader or similar tools to optimize data fetching and avoid over-fetching or under-fetching data. Ultimately, performance and load tests ensure that your GraphQL API delivers optimal performance, meets response time expectations, and provides a smooth experience for users, even under heavy loads.
-
Migrating Netflix to GraphQL Safely
The most common practice is to turn N+1 into 1+1 using dataloaders (https://github.com/graphql/dataloader for JS, there are equivalents for most implementations). The N resolvers invoke a single batched loader which receives a list of keys and returns a list of values.
-
SQL vs. NoSQL - cutting through the Tech Twitter noise
Let's take Payload, for example. Surprise, surprise. We have a relationship field, and it can store IDs to other related documents which are seamlessly merged in when you retrieve documents from the DB. We leverage the dataloader pattern to batch together all "populations" required for a given query, returning them all super fast and with as few separate queries to the DB as possible. We actually even outperform SQL-based frameworks quite a bit. In a purely relational test, we were 3x faster than Directus and 7x faster than Strapi while both were running Postgres, and we were on MongoDB.
- NoSQL vs. SQL - cutting through the Tech Twitter noise with a real-world use case
-
We Ditched REST and Went with GraphQL: Here’s Why
Also, have a look at Facebook's Dataloader[0].
[0] https://github.com/graphql/dataloader
-
Implementing logger with metadata
In the next article, I'm going to implement a GraphQL server with dataloader using the tools we introduced.
-
Typesafe, (almost) Zero Cost Dependency Injection in TypeScript
The one example of using Scoped dependency that comes to my mind, it's HTTP request level caching for libs like dataloader.
-
GraphQL Trades Complexity
you would fetch these 1000 rows via dataloader that batches all requests for this relation to a single query... solving the n+1 issue
What are some alternatives?
cockroach - CockroachDB - the open source, cloud-native distributed SQL database.
Redis - Redis is an in-memory database that persists on disk. The data model is key-value, but many different kind of values are supported: Strings, Lists, Sets, Sorted Sets, Hashes, Streams, HyperLogLogs, Bitmaps.
Hasura - Blazing fast, instant realtime GraphQL APIs on your DB with fine grained access control, also trigger webhooks on database events.
react-relay - Relay is a JavaScript framework for building data-driven React applications.
spicedb - Open Source, Google Zanzibar-inspired permissions database to enable fine-grained access control for customer applications
Knex - A query builder for PostgreSQL, MySQL, CockroachDB, SQL Server, SQLite3 and Oracle, designed to be flexible, portable, and fun to use.
tidb - TiDB is an open-source, cloud-native, distributed, MySQL-Compatible database for elastic scale and real-time analytics. Try AI-powered Chat2Query free at : https://tidbcloud.com/free-trial
jest - Delightful JavaScript Testing.
TinyGo - Go compiler for small places. Microcontrollers, WebAssembly (WASM/WASI), and command-line tools. Based on LLVM.
Sequelize - Feature-rich ORM for modern Node.js and TypeScript, it supports PostgreSQL (with JSON and JSONB support), MySQL, MariaDB, SQLite, MS SQL Server, Snowflake, Oracle DB (v6), DB2 and DB2 for IBM i.
go-mysql - a powerful mysql toolset with Go
gRPC - The C based gRPC (C++, Python, Ruby, Objective-C, PHP, C#)