Start for free
Table of Contents
Why Fauna: The limitations of alternative databases and the Fauna advantage
Developer experience in alternative databases
- SQL databases lack observability, do not support composability, and do not provide fine-grained control over the shape of data that is returned. They come with a query optimizer that is useful for analytical querying, but provides less value for transactional use cases and makes debugging performance issues extremely difficult. Features take longer to build and Mean Time To Repair (MTTR) is much higher for specific classes of production issues.
- The rigid, tabular nature of schemas in tabular relational databases creates friction with the object orientation of application stacks and does not fit with real-world situations where schema is not well-understood up front. Unstructured or semi-structured data needs to be shoehorned into columns, which blocks new features that require non-trivial queries over that data.
- Data access is handled via session-based protocols that leverage long-lived transactions and require connection management. Applications cannot be deployed to modern serverless environments with ephemeral compute, removing the ability to rightsize fleets and save on cost.
- NoSQL/document databases are missing important functionalities such as triggers, stored procedures, and views. These features need to be built into the application layer, which takes a lot of time and results in managing an unwieldy codebase.
Performance and correctness in alternative databases
- SQL query performance is highly variable and onerous to debug, particularly at scale. Features work fine initially but grind to a halt under load and create a negative customer experience.
- The object-relational mapping (ORM) abstraction on top of SQL hides capabilities of the underlying database and makes query optimization impossible. Engineers move more slowly because they can’t leverage powerful database features, and applications are less performant.
- Distributed databases require complex configuration for sharding, cross-region data replication, data locality (for data privacy and GDPR), and consistency levels. Enterprises need to staff the modern equivalent of database administrators (DBAs) that cost money and gate features.
- NoSQL/document databasess lack support for ACID transactions, forcing developers to handle edge cases (particularly for multi-document transactions) in application code. Unforeseen edge cases result in broken customer experiences, and custom transaction logic is hard to reason about and burdensome to maintain.
Scalability in alternative databases
- Alternative SQL databases scale vertically, which creates a mismatch with applications that scale horizontally. Applications work until they get broad adoption and tip over, requiring a battlefield rip and replace onto a more scalable solution.
- Modern NoSQL and distributed SQL databases require complex configuration to scale out, and capacity prediction is difficult. Enterprises lack the ability to right size fleets and either underspend and create performance problems, or overspend and waste money to ensure that they have enough capacity.
Operations in alternative databases
- Databases across all categories require varying levels of maintenance including machine provisioning, patching, vulnerability management, monitoring, and incident response. Engineering teams are stuck doing an immense amount of undifferentiated heavy lifting and only a small percentage of firepower is allocated for new features that move the needle for the business.
- Disaster recovery (DR) is complicated and error prone. DR plans sit untested and often fail when needed, resulting in catastrophic extended outages.
Developer experience in Fauna
Performance and correctness in Fauna
Scalability in Fauna
Operations in Fauna
- User-centric apps that require consistency and data privacy
- Distributed real-time apps that need swift data access at the edge
- Stateful serverless apps that demand faultless state changes
- Secure multi-tenant apps that call for robust data isolation
If you enjoyed our blog, and want to work on systems and challenges related to globally distributed systems, and serverless databases, Fauna is hiring!
Subscribe to Fauna's newsletter
Get latest blog posts, development tips & tricks, and latest learning material delivered right to your inbox.