Thanks. I've been migrating a side project to be fully serverless, which includes moving from a traditional Postgres DB to Fauna, so I've gotten to know it a lot better since writing this post. I still like it a lot and see no reason to prefer DynamoDB from a strictly technical perspective.
One thing I've changed my mind on is Fauna's GQL interface vs using FQL. My project's data model is very simple, but I have some reasonably complicated queries, and I quickly found the GQL interface to be too limited when trying to filter documents by more than one field. There are ways to work around this either by creating a ton of different one-use GQL queries or filtering data in-memory. Rather than make these compromises, I've dug into FQL for interacting with Fauna, and if you're willing to get past the initial learning curve, it's really powerful and reasonably pleasant to work with.
One thing I've had some trouble with since adopting FQL, though, is how best to fetch data, because Fauna gives you a few different ways of doing it, and each has tradeoffs in terms of performance, complexity, and cost. Also, the way they base fetching and filtering on the use of indexes was new for me and took some getting used to. I'm still figuring out which approach works best for my use case.
For further actions, you may consider blocking this person and/or reporting abuse
We're a place where coders share, stay up-to-date and grow their careers.
great article, may I ask you about your experience with FaunaDB? what are the things you don't like or have issues with?
Thanks. I've been migrating a side project to be fully serverless, which includes moving from a traditional Postgres DB to Fauna, so I've gotten to know it a lot better since writing this post. I still like it a lot and see no reason to prefer DynamoDB from a strictly technical perspective.
One thing I've changed my mind on is Fauna's GQL interface vs using FQL. My project's data model is very simple, but I have some reasonably complicated queries, and I quickly found the GQL interface to be too limited when trying to filter documents by more than one field. There are ways to work around this either by creating a ton of different one-use GQL queries or filtering data in-memory. Rather than make these compromises, I've dug into FQL for interacting with Fauna, and if you're willing to get past the initial learning curve, it's really powerful and reasonably pleasant to work with.
One thing I've had some trouble with since adopting FQL, though, is how best to fetch data, because Fauna gives you a few different ways of doing it, and each has tradeoffs in terms of performance, complexity, and cost. Also, the way they base fetching and filtering on the use of indexes was new for me and took some getting used to. I'm still figuring out which approach works best for my use case.