Connect with us

Code

Tigris – Modern, scalable backend for real-time apps

For developers who want to build scalable web and mobile apps fast!

With a zero-ops scalable pub/sub messaging system and fault-tolerant cloud-native database, Tigris provides everything you need to get up and running quickly and efficiently.

Database

A database is a group of one or many collections.

Collection

Collections are the core abstraction used by developers to model their entities. Collections are analogous to tables or column families in other systems; they represent an ordered set of structured records called documents that all follow a specific schema and whose fields are strongly typed.

Schema

A schema defines all the fields that make up the document in a collection. All documents stored in a collection must conform to the collection’s schema that follows JSON schema specification. Since schemas are a way to structure your data according to the application logic, they are described as part of your application code using its programming language constructs.

Document

Data records are stored as JSON documents. Documents are composed of field-value pairs. The value of the field can be any of the JSON data types.

{
  "field1": 1,
  "field2": "string",
  "field3": {
    "field1": "value1",
    "field2": "value2"
  },
  "field4": [
    {
      "field5": [{ "field6": 100 }]
    }
  ],
  "fieldN": "valueN"
}

Primary Key

Every collection must have a primary key. A primary key uniquely identifies a document in the collection and enforces the unique constraint. It is auto-generated by default. Instead of using the default, users can choose to define their own primary keys consisting of one or more fields from the schema. Documents are stored in sorted order according to the primary key.

Transaction

Transactions allow multiple clients to concurrently read and write data in the database with strong consistency guarantees. Transactions are globally ordered and ACID compliant with strict serializability using optimistic concurrency control.

Transactions work across collections and documents without any restrictions. Unlike some other document databases, there are no confusing read / write concerns to configure, and no cross-shard caveats.

Events

Events provide a continuous ordered stream of events in real-time for all the writes performed in the collection. The event stream can then be used for building real-time applications such as IoT platform, messaging app, monitoring, analytics and others.

Tigris on GitHub: https://github.com/tigrisdata/tigris
Platform: backend
⭐️: 188
Advertisement

Trending