Glossary

A    C    D    E    F    G    I    J    L    M    N    O    P    Q    R    S    T    U    V

A

AccessProvider

The AccessProvider document configures one-half of the relationship required to access authentication information from an external identity provider. The other half of the relationship is configured in the identity provider.

ABAC

Attribute-based access control.

ACID
ACID consistency

The guarantee that every transaction includes atomicity, consistency, isolation, and durability.

Anonymous function

An anonymous function, also known as a Lambda expression, is a function without a name. Many built-in methods accept a function as input. Examples include the where() function and the map() method. FQL uses the JavaScript arrow functions syntax to define function blocks.

Atomicity

The guarantee that each transaction is treated as a single block of work, which succeeds or fails in its entirety.

C

Cardinality

Cardinality refers to the number of elements in a set or group as a property of that group. Low cardinality refers to a small number of distinct items, whereas high cardinality refers to many items. For example, a Boolean field has a cardinality of 2, which is low.

Child database

See Database.

Collection

A collection is a database, categorized document grouping. Documents in a collection usually have a common structure, but this constraint isn’t required. A collection is equivalent to a traditional database table without a structured schema and has the following attributes:

  • A set of documents that are persisted to storage and on which a common set of indexes are built.

  • Is a Collection type and has the methods and properties of the Collection type.

  • Can be serialized as a JSON object. The JSON object conforms to the shape of the Collection schema type and includes the collection type schema and optional index definitions. The JSON object can be persisted in the Collection Native collection.

  • Documents persisted in the database are of a type named after that collection name. For example, documents that persist the Author collection are instances of the Author type. A document can be persisted to a collection if the document adheres to that collection type schema.

  • The natural order of documents persisted in a collection is by id order when performing a full scan.

CollectionDef

A SchemaDef document subtype that represents a Collection schema type. A CollectionDef can be persisted in a Native collection.

Collection Document Type Definition

Also known as shape or type schema, a component of a collection definition, which is a set of field declarations that includes the name and type of each field and defines the document type persisted in the collection. For example, the Author Collection type definition defines the Author document type, which is persisted in the Author Collection.

Collection type

A Collection type has a CollectionDef document stored in a database and has properties and methods that give ways to query, create, and mutate documents present in the collection. Documents persisted to a Collection type are said to be of a type name after that collection name.

A Native collection is a special instance of the Collection type where database schema elements are persisted as Schema type definitions.

Consistency

Consistency is the promise that any data written to the database must be valid according to all defined rules, such as unique indexes.

Cursor

A cursor marks a position in set Pagination. When you paginate a Set, and the total number of results exceeds the current page size, an after cursor marks the position for the next page of results. You use the after cursor in subsequent queries to request more results.

D

Database

Databases are containers for data with access control. Fauna databases can be hierarchical, with multiple child databases nested in parent databases, each with its own permissions and security settings. This structure is ideal for multitenant scenarios.

See also: Multitenancy

DatabaseDef

A SchemaDef document subtype that represents a Database schema type. A DatabaseDef can be persisted in a Native collection.

Document

A document is a single, changeable record in the Fauna database. The equivalent term in other database systems is a row. An update to the document results in a new version of the document.

A document is an Object with an id field unique identity, a primary key identifier, and value and can be persisted in a Collection. The term document is synonymous with a database record. A document is of the Document type and has member methods, such as update(), replace(), delete(), and properties, such as id, coll, and ts.

Document ID

The unique numeric identifier for a document in a collection or database.

Document type

Describes the document type persisted in a collection. For example, the Author Collection type definition defines the Author Document type, which is persisted in the Author Collection.

A Document type has the following attributes:

  • a unique id value.

  • coll and ts metadata fields.

  • update(), replace(), and delete() member functions.

Dot notation

Dot notation distinguishes a field name from a variable name: Customer.all().

Dot notation is also used to invoke object methods: Customer.all().where().

Durability

Durability guarantees that after a transaction is committed, it is permanent. If a system crash, power failure, or other unexpected failure occurs, all committed transactions are saved.

E

Extended type
Intelligent type

A scalar value that can be instantiated and persisted in a document, which has static functions associated with it, but can’t be directly serialized into a JSON type without information loss. These must be serialized with metadata that identifies the type they represent. Examples include Date and String types.

F

Field

The generic term for a property in an object.

FQL

Fauna Query Language is a NoSQL query language that combines the productivity and flexibility of a general-purpose programming language with purpose-built features that enables developers to take advantage of the unique Fauna properties. FQL is similar to JavaScript with influences from TypeScript and GraphQL. The language differs from these languages to the extent that it is optimized for database applications.

FSL

Fauna Schema Language is a declarative language that enables you to define all your database elements.

FunctionDef

A SchemaDef document subtype that represents a function schema type. A FunctionDef can be persisted in a Native collection.

G

Granular identity management, authentication, and access control

Granular identity management, authentication, and access control, built on top of an enterprise-class, multitenant foundation, provides a secure platform for companies of all sizes. Fauna has administrative and application-level identity and security that provides a layer of separation between applications and administration. This gives developers more time to focus on building applications without spend time securing the overall datastore.

I

identity document

A unique document in Fauna associated with a Token used in access control. Typically, an identity document represents a person who is a user but can also be a service, system, or process that needs access to resources.

IdP
Identity provider

An identity provider is a system that creates, maintains, and manages identity information and provides authentication and authorization services. For more information, see Auth0.

Index

An index is a database entity that facilitates data lookup. Indexes are used to find data without searching every document in a collection and to sort documents by their field values.

Index term

When you define an index, you can increase query performance by declaring a term, which directs the query engine to use only that part of the index needed to fulfill the query. If terms are defined for the index, you can use equality matches only on the terms of the index and can’t do range-based queries on the terms.

J

JSON

JSON (JavaScript Object Notation) is a lightweight data-interchange format. A human-readable, plain-text format for expressing structured data. For more information, see http://www.json.org/.

JWT
JSON Web Token

A JSON Web Token, or JWT, is a digitally signed object, which is typically used to communicate verified and trusted information about a user to indicate that a user has authenticated. For more information, see https://jwt.io/introduction/.

L

Lambda

A lambda is an expression that creates functions, also known as an Anonymous function. A lambda function can be passed as an argument to other functions or assigned to variables.

M

Math object

Built-in static functions and constants related to mathematical operations.

Method chaining

On the Set returned by a collection method, you can chain method calls to further refine and compose complex queries, similar to using pipelines,.

Method

A Field in an Object whose value is a function.

Multitenancy

Multitenancy is the ability to have child databases in a Fauna database. Access keys for child databases can be distributed to multiple tenants, such as companies, applications, programmers, and users. Each child database is isolated from other databases, except for its child databases. Each tenant has complete administrative control, a private security model, and programmatic creativity over their databases, free of interference from users of other databases.

See also: Database

Multivalued attribute (MVA)

A Field that can have more than one value associated with it. See Indexes definition.

N

Named collection

A Native collection subset, DatabaseDef, CollectionDef, FunctionDef, AccessProvider, Role, whose documents have names instead of IDs.

Native collection

A special Collection type instance that can’t be dropped or modified. You can add definitions to a native collection, but those definitions must conform to the schemas of the DatabaseDef, CollectionDef, FunctionDef, AccessProvider, Role, Key, Token, and Credential types.

A native collection has the following constraints:

  • You can’t extend the set of schema types in the set of native collections beyond what Fauna has defined.

  • You can’t mutate a schema type schema definition.

  • You can insert, read, update, or delete documents in a native collection but can’t create, delete, or mutate a native collection.

Nested object

An object that exists entirely in a parent object and doesn’t have a unique identity independent of the parent object. A document reference or relationship isn’t a nested object because the referenced document exists as an independent, individually identifiable document outside of the document where the reference exists.

O

Object

A value that consists of a set of fields. Object fields preserve creation order, and updating an existing object field maintains its position with new fields appended to the field set. Field order doesn’t affect equality, so two objects are considered equal if they have the same fields with the same values. Documents and Nested objects are objects.

organizational account

The username/password combination used to sign up to Fauna. This account has admin-equivalent access to every database in Fauna.

P

Pagination

Pagination chunk a large query result set one page at a time. Using pagination, you can iterate through result sets in pages of a defined size.

Projection

Queries project every field in each document that matches the query. A projection provides field selection to make returned object or type fields available to a new context, such as a new object or type.

Property

An object Field whose value isn’t a function.

Pure function

A pure function has the following properties:

  • The function return values are identical for identical arguments.

  • The function execution causes no side effects. Side effects would include document writes, streaming events, or other externally noticeable mutations.

Q

Query

A query is a way to ask a database for, or to change, data. FQL provides a strong set of features to help you form any kind of query you require.

R

Role

A user-defined role provides configurable domain security rules. Roles are the core schema for ABAC. Roles can be assigned to User-defined functions for better security.

S

Schema definition document

Documents that define core features in a Fauna database, including Collection and Function.

Schema Collection

A special instance of the Collection type where all database schema elements are persisted as schema type definitions. You can add, change, and remove definitions contained in a Native collection, but can’t add, remove, or change a Native collection, itself.

SchemaDef

A document subtype that represents the definition of a named schema entity. A fixed family of SchemaDef document subtypes represents the different schema types and can be persisted in Native collections. These include CollectionDef, FunctionDef, and DatabaseDef.

Schema Entity

A user database component, including database, child database, Collection, Index, User-defined function (UDF), Role, access provider, and other Fauna objects.

Schema type

A fixed family of types of values that are used to manipulate database entities. Collection and Database are examples of schema types.

SchemaDef type

A document subtype that represents the definition of a named schema entity. The fixed family of SchemaDef subtypes that represent a schema type and can be persisted in a Native collection are CollectionDef, FunctionDef, and DatabaseDef.

scoped key

An access key used to impersonate database access. Scoped keys are created from an existing key.

Set

A Set is a sorted group of objects derived from documents in a collection.

Set object

A built-in, iterable type that has methods for working with Set values, and includes Set.paginate(cursor) for set Pagination.

Shape

See Collection Document Type Definition.

T

Temporal documents

Fauna documents are temporal, meaning each creation, change, or deletion event is assigned a transaction timestamp and inserted in the document history. Approaching documents temporally allows event sourcing, reactive programming, and various audit and stream-oriented data architectures.

Term

See Index term.

Type

A defined set of possible values. Types can be built-in or a User-defined function in terms of other types. Examples are Boolean, Array<Boolean>, and { a: int, b: string }. Expressions and Values have an associated static type. The Any type is a special type that matches against all other types and acts as an escape from static type checking.

Type schema

See Collection Document Type Definition.

U

User-defined function
UDF

A function defined by an FQL user to run commonly used Fauna queries to query and update a database.

V

Value

The representation of an entity or data value.

Is this article helpful? 

Tell Fauna how the article can be improved:
Visit Fauna's forums or email docs@fauna.com

Thank you for your feedback!