Search code examples
redisfaunadb

FaunaDB as redis/ssdb replacement?


We did hear about FaunaDB product on one of a recent meetup :) by Maciej Winnicki from Serverless. Presentation

We take it into consideration. Could FaunaDB be a replacement of the SSDB that we are currently using (as a replacement of Redis)? Changing our current api is an option.

We are expecting a 500GB-1TB of data that we would like to cache, but hopefully without sharding. SSDB supposed to be a great Redis replacement, since it can dump part of the cache into a disk (we do not need extremely fast cache, and just % of the data is used frequently, the rest could be released from the memory).

Unfortunately, SSDB's nodes happens to get out_of_sync during heavy writes, and we did already use parameters greater that SSDB developers suggest. Currently the sync delay of 60-100s is acceptable in our use-case, but a node getting out_of_sync require a manual fix - so we have to look around for other solutions.

Sharding with redis seems inevitable, but maybe Faunadb could solve it?

One remark - we prefer to keep the data close to our services (not to pay AWS data transfers) so it should be installed on our servers. Additionally, the price is an important factor - adding Redis with sharding to our stack, is a reasonable cost and workload - so FaunaDB should be competitive to this scenario.

How do you see our case?


Solution

  • FaunaDB does all data distribution for you, so you won't need to worry about sharding. Queries run in transactions, so you always see a consistent view of your data.

    It's not clear what query patterns you are using, but FaunaDB's query language can match most of the Redis features. Learn about the language here.

    The easiest way to get started is by signing up for FaunaDB Serverless Cloud, which is free to get stated with, and pay-per-request when you are in production. We also offer enterprise licenses for running on-premise if you have particular deployment requirements.

    When you are ready to import your data for the first time, we have an import tool that might be useful. Also, a whole lot of client libraries on github.