synchronous-data-mesh-for-graphql-queries-ra
synchronous-data-mesh-for-graphql-queries-ra
1
Synchronous Data Mesh for GraphQL queries HTTPS API with AWS AppSync, allowing
users to dynamically query a domain’s
Use an API composition pattern to build a modern, distributed, and decentralized data architecture. It enables clients to query data where it data with GraphQL syntax.
lives, without first transporting it to a data lake or data warehouse. It also allows domain-specific teams to own and serve data as a product. Compose the returning query results with
2 a combination of resolvers built with
9 AWS Lambda functions.
AWS Cloud subscribe AWS Cloud
data lake query For data partially available in a data lake,
resolve locally 3 retrieve the data by running SQL queries
3
big data supported by Amazon Athena, running
sources the Athena jobs asynchronously with the
athena-express library.
Amazon S3 AWS Glue clients clients
(data) (data catalog) AWS Data Exchange Amazon S3 AWS AppSync For data partially available in databases,
(data set sharing) (data) (GraphQL API) 4
7 retrieve the data either directly from AWS
Amazon Athena resolve AppSync, or by using Lambda functions
(athena-express) GraphQL Resolve as proxy resolvers to your databases.
6 externally externally
API server-side
For data partially available in external
query caching query 5 sources, use Lambda resolvers to fetch
the data by invoking remote HTTP APIs.
resolve resolve GraphQL To improve your API’s performance,
2 1 clients 6
query externally API enable server-side caching on AWS
AWS Lambda AWS AppSync
AppSync.
(resolver) (GraphQL API) 8
resolve
externally Other parties using AWS can replicate this
7
architecture in their domains, also
database query optional
external
5 clients allowing clients to query their APIs using
sources sources GraphQL, and composing the results with
resolver
internal and external resolvers – including
4 resolve your domain’s GraphQL API.
externally
Parties that don’t AWS can also expose
Resolver 8
their domains with GraphQL APIs built
AWS
Amazon Lambda
Aurora Amazon DynamoDB GraphQL local with other technologies. This provides a
AWS Lambda API database
(relational (key-value store) (external resolver) seamless experience to clients, while
database) composing query results with data sets
resolved from multiple external APIs.
Reviewed for technical accuracy April 25, 2022 To retrieve large datasets, clients can
Reviewed for technical accuracy Month Day, 2021 9
© 2022, Amazon Web Services, Inc. or its affiliates. All rights reserved. AWS Reference Architecture subscribe to AWS Data Exchange instead.