Search posts, tags, users, and pages
Apollo is built on top of GraphQL which is a declarative way to specify the data an application needs and obtain it from (potentially) multiple sources. Jonas wrote a great post that describes how a GraphQL turns into a response that may contain data from a bunch of different places.
This means that Apollo doesn't have to make any assumptions at all about where your data is held or how you intend to access it. Apollo Client in particular focuses on caching and fetching the GraphQL query results as well as updating your UI with new data and doesn't care about where your data comes from.
For example, you might hold some of your application data (e.g. notifications) in Redis and other parts of your application data (e.g. user information) in MySQL. As long as you have the ability to retrieve the data from these data sources to fulfill the GraphQL queries you define, the fact that you're using those particular data sources isn't relevant to Apollo. Data sources aren't even limited to databases. In our GitHunt example, data is fetched from the GitHub API as well as a SQL database.
To summarize, Apollo can support pretty much any data source as long as you can implement GraphQL resolvers for the data source.