🚀 White Paper: Fauna Architectural Overview - A distributed document-relational database delivered as a cloud API.
Download free
Fauna logo
Product
Solutions
Pricing
Resources
Company
Log InContact usStart for free
Fauna logo
Pricing
Customers
Log InContact usStart for free
© 0 Fauna, Inc. All Rights Reserved.

A distributed, document-relational database

Combining the power of sophisticated querying and strong consistency with a document-oriented data model and flexible schema

START FOR FREEVIEW DOCUMENTATION

Relational power

Developers can leverage declarative queries, utilizing robust filtering and joining capabilities. Declarative queries allow developers to efficiently transform query results and traverse relationships to access associated data, eliminating the need for custom join logic in application code and enhancing application performance.

Product.byType("Computers").map(p => {
  let totalSold = Order.byProduct(p).count()
  let recentOrders = Order.byProduct(p)
    .order(desc(.date))
    .take(3)
    .toArray()
  
  let reviews = Review.byProduct(p)
    .order(desc(.stars))
    .take(3)
    .toArray()

  {
    name: p.name,
    sold: totalSold,
    recentOrders: recentOrders {
      date,
      country: .customer.address.country
    },
    reviews: reviews {
      stars,
      message
    }
  }
})

Multi-region, ACID consistency

Fauna ensures strict ACID (atomicity, consistency, Isolation, durability) guarantees within transactions, providing robust data integrity and reliability for applications across multiple regions. This level of consistency ensures data accuracy and maintains transactional integrity, making Fauna a trusted choice for mission-critical applications.

JSON documents, flexible schema

A JSON document model provides the agility and adaptability needed in early application development while flexible schema support allows you to add structure over time. This unique combination of flexibility and scalability empowers businesses to evolve their data models and applications seamlessly.

1Product.where(.type == "Book" && .quantity > 0)
2  .order(type.price)
3  .take(10) 
4  {
5    name, price, quantity 
6  };
7    
{
  data: [
    {
      name: "The Doors of Stone",
      price: 20.6,
      quantity: 100
    }
  ]
}

Modern query language

The Fauna Query Language (FQL) empowers developers with the ability to access and manipulate data using complex logic. FQL not only allows you to store data in documents but also enables intuitive modeling of data as separate entities, akin to relational data modeling. This comprehensive language brings together powerful data access and flexible data structuring.

Get started for free

Ready to ship apps faster? Start today.

Quick start

Get up and running quickly with an interactive introduction to Fauna.

READ MORE

Sample apps

Get how-to guidance for building applications with Fauna.

Build Sample app

New to Fauna Query Language?

This guide can help you get started with FQL in under 10 minutes.

read more

Workshops

Build complete applications using technology like AWS Services, Cloudflare, and more.

read more

“Leveraging Fauna’s document-relational model allows us to forget about schema changes and focus just on deploying the code, which allows us to deploy faster without timing the deployments or schema changes. At the same time, we can still apply relations. The word that comes to mind when I think about Fauna is ‘flexible’.”

Steve Lam

CTO

“Adopting Fauna and Fastly Compute@Edge has been instrumental in our ability to test and release features quickly. It allows us to maintain our data logic in a single place, and provides enough flexibility to adapt to different requirements across our application.”

Isis Baulig

CTO

Request a demo.

We're happy to give you a personalized walkthrough with one of our Fauna experts.

FAQ

What is Fauna?

Fauna is a distributed relational database with a document data model delivered as a cloud API. Fauna offers advanced querying capabilities, robust consistency guarantees, and comprehensive support for data operations. Developers can leverage Fauna’s strongly typed database language, FQL v10, to express complex business logic in transactions. With multi-region, active-active compute and a distributed transaction engine, Fauna ensures fast, reliable, and secure performance. Fauna provides flexible data modeling, global data access, and integrates seamlessly with various development tools and platforms. Fauna empowers developers to build new powerful applications faster, scale existing applications with confidence, and eliminates the need for server management with its serverless native approach. Fauna is designed to handle complex data models and supports real-time data synchronization across multiple devices and regions.

How much does it cost?

Fauna offers flexible pricing options to cater to the diverse needs of businesses. The cost of using Fauna primarily depends on factors such as data storage, data transfer, and request volume. For detailed information on pricing plans and to estimate costs for your specific use case, please visit our pricing page on the Fauna website.

How much bandwidth do I get?

Fauna ensures high-performance and low-latency data access by leveraging its global edge computing infrastructure. The bandwidth available to you depends on your chosen Fauna plan. We offer scalable bandwidth options to accommodate the needs of various applications. For more details on bandwidth allocation and limitations, please refer to our documentation or contact our support team.

If I decide to cancel, how can I cancel?

Canceling your Fauna account is a straightforward process. Simply log in to your account and navigate to the account settings page. From there, you can find the option to cancel your subscription. If you have any questions or need assistance during the cancellation process, our dedicated support team is available to guide you through the steps.

What does document-relational mean?

Although Fauna is a JSON-document database, it has relational capabilities, like foreign keys and joins, that are first-class entities. This means that when using relational capabilities to normalize data for deduplication of data, Fauna’s query language and transaction engine will not limit you.

Why is this different than relational databases that handle JSON documents?

In typical legacy databases, JSON documents are embedded in a column of a table, but the database engine still expects to create indexes and manipulate data in the context of tables with rigid schema. In some cases, JSON indexes are possible, but operating on JSON fields inside a column is far from simple in most cases. 

How does Fauna support multiple tenants for my service?

Fauna allows you to have a hierarchy of databases that can create silos for your customers. Fauna’s attribute-based access control and integrations with identity providers provide multiple levels of security. Further, if you need to geographically restrict data locality, Fauna is fully compliant with GDPR, and you can choose to have dedicated topologies across the globe.

What Is edge computing?

Edge computing refers to the practice of processing and analyzing data closer to its source or the "edge" of the network, rather than sending it to a centralized cloud server. This approach brings computation and storage capabilities closer to the devices generating the data, reducing latency and improving real-time responsiveness.

How does edge computing work?

In edge computing, data is processed and analyzed at or near the edge devices, such as IoT devices, sensors, or edge servers, rather than being sent to a central data center. By bringing computation closer to the data source, edge computing minimizes network latency and bandwidth usage, allowing for faster data processing and more efficient use of resources. This distributed architecture enables real-time decision-making and supports applications that require low latency and high availability.

What are som examples of edge computing?

Edge computing finds applications in various domains. Some examples include:

  1. Smart cities: Edge computing enables real-time monitoring and control of traffic, energy consumption, and public safety systems.
  2. Industrial IoT: Edge devices in factories can analyze sensor data in real-time, optimizing production processes and enabling predictive maintenance.
  3. Autonomous vehicles: Edge computing empowers self-driving cars to process sensor data locally, enabling quick decision-making without relying solely on cloud connectivity.
  4. Healthcare: Edge devices in hospitals and remote patient monitoring systems can process critical health data in real-time, ensuring timely diagnosis and treatment.
  5. Retail: Edge computing facilitates personalized shopping experiences, inventory management, and efficient supply chain operations.


What are benefits and disadvantages of edge computing?

Benefits of edge computing include:

  1. Reduced latency: By processing data closer to the edge, edge computing minimizes network latency, enabling faster response times.
  2. Improved reliability: Edge computing distributes computation, reducing reliance on a single point of failure and increasing system resilience.
  3. Enhanced privacy and security: Local data processing can provide added privacy and security by reducing the amount of sensitive data transmitted over networks.
  4. Bandwidth optimization: Edge computing reduces the need to transmit large amounts of data to centralized servers, optimizing bandwidth usage.

Disadvantages of edge computing include:

  1. Limited processing power: Edge devices often have limited computational capabilities compared to centralized cloud servers, which may constrain certain applications.
  2. Scalability challenges: Managing and scaling a distributed edge infrastructure can be complex, requiring careful planning and resource allocation.
  3. Increased maintenance: Deploying and managing edge devices across a distributed network may require additional maintenance efforts compared to centralized systems.
  4. Data synchronization complexities: Ensuring consistent and synchronized data across edge devices can be challenging, especially in scenarios with intermittent connectivity.

Remember, Fauna's global edge computing infrastructure leverages the benefits of edge computing while providing a reliable and scalable data storage and querying solution.

Ready to get started? Launch a new app, modernize an existing app, and scale seamlessly across regions with FQL.

Request demoStart for freeRead documentation