Remote schema joins provides the most simple approach to federated data. Provide a GraphQL endpoint, identify the connection parameters, and give the new field a name and you have two disparate data sources from different systems resolving under a single API.
Federating your Data: Different Types of Data
Not all data serves the same purpose. User activity data ("Application Data") has a strict set of access requirements, time-to-live optimisations, and more. Editorial content, something that might live in a CMS, has an entirely different set of needs - more flexibility, infrequent writes, long-lived cache, etc. Often times the editing interfaces for these two different types of data vary wildly and so it is best to choose the optimal application for each, but not need to sacrifice developer velocity by managing data merging in a proxy layer between your back-end and your front-end.
Federating your Data: Bring your Old Stack with You
Another common case for federating your data is when you have existing architecture in place that you can wrap with a thin GraphQL API but want to leverage newer database technologies or design patterns for your next initiative. In this case, you can still join your data across multiple sources, leveraging the existing infrastructure and embracing the new.
In this next video in our "Learn Hasura Deep Dive", we'll walk through the basics of federating your data with Hasura Remote Joins.