Yandex.Cloud
  • Services
  • Why Yandex.Cloud
  • Pricing
  • Documentation
  • Contact us
Get started
Yandex Database
  • Getting started
    • Overview
    • Create databases
    • Examples of YQL queries
    • Examples of operations in the YDB CLI
    • Launch a test app
    • Document API
    • Developing in NodeJS through the Document API
  • Step-by-step instructions
    • Database management
    • How to connect to a database
    • Table management
    • Reading and writing data
    • Working with secondary indexes
  • Working with the SDK
  • Concepts
    • Overview
    • Data model and schema
    • Serverless and Dedicated operation modes
    • Data types
    • Transactions
    • Secondary indexes
    • Time to Live (TTL)
    • Terms and definitions
    • Quotas and limits
  • Access management
  • Pricing policy
    • Overview
    • Serverless mode
    • Dedicated mode
  • Recommendations
    • Schema design
    • Partitioning tables
    • Secondary indexes
    • Paginated output
    • Loading large data volumes
    • Using timeouts
  • YDB API and API reference
    • Database limits
    • Handling errors in the API
  • Amazon DynamoDB-compatible HTTP API
    • API reference
      • All methods
      • Actions
        • BatchGetItem
        • BatchWriteItem
        • CreateTable
        • DeleteItem
        • DeleteTable
        • DescribeTable
        • GetItem
        • ListTables
        • PutItem
        • Query
        • Scan
        • TransactGetItems
        • TransactWriteItems
        • UpdateItem
      • Common errors
  • YQL reference guide
    • Overview
    • Data types
      • Simple
      • Optional
      • Containers
      • Special
    • Syntax
      • Unsupported statements
      • For text representation of data types
      • Expressions
      • CREATE TABLE
      • DROP TABLE
      • INSERT INTO
      • UPSERT INTO
      • REPLACE INTO
      • UPDATE
      • DELETE
      • SELECT
      • GROUP BY
      • JOIN
      • FLATTEN
      • ACTION
      • DISCARD
      • PRAGMA
      • DECLARE
      • OVER, PARTITION BY, and WINDOW
    • Built-in functions
      • Basic
      • Aggregate
      • Window
      • For lists
      • For dictionaries
      • For JSON
      • For structures
      • For types
    • Preset user-defined functions
      • HyperScan
      • Pcre
      • Pire
      • Re2
      • String
      • Unicode
      • Datetime
      • Url
      • Ip
      • Digest
      • Math
      • Histogram
    • For text representation of data types
  • YQL tutorial
    • Overview
    • Creating a table
    • Adding data to a table
    • Selecting data from all columns
    • Selecting data from specific columns
    • Sorting and filtering
    • Data aggregation
    • Additional selection criteria
    • Joining tables by JOIN
    • Data insert and update by REPLACE
    • Data insert and update by UPSERT
    • Data insert by INSERT
    • Data update by UPDATE
    • Deleting data
    • Adding and deleting columns
    • Deleting a table
  • Maintenance
    • Backups
  • Diagnostics
    • System views
  • Questions and answers
    • General questions
    • Errors
    • YQL
    • All questions on the same page
  • Public materials
  1. Pricing policy
  2. Serverless mode

Pricing policy for serverless mode Yandex Database

  • What goes into the cost of using serverless mode Yandex Database
    • Data operations and the request unit
    • The amount of stored data
    • Creating backups
    • Restoring data from backups
  • Discount for committed volumes of services (CVoS)
  • Pricing

When using Yandex Database in serverless mode, a fee is charged for each request made to the database. You don't need to specify what resources are required, as the database quickly adapts to changes in the user load within the quotas allocated to the user. Apart from requests, the user pays for the data stored in Yandex Database on an hourly basis. Other operations, such as restoring data from backups, are charged additionally.

What goes into the cost of using serverless mode Yandex Database

When using Yandex Database in serverless mode, you pay for the following:

  • Data operations.
  • The amount of stored data, including service data, such as indexes.
  • Additional user operations, like restoring data from backups.

Other consumed resources to be additionally paid for:

  • The space used in Object Storage to store on-demand backups.
  • Outgoing traffic from Yandex.Cloud to the internet.

In all calculations, 1 GB = 210 MB = 220 KB = 230 bytes.

Data operations and the request unit

Yandex Database serverless operation mode supports multiple ways to work with data:

  • Document API: Amazon DynamoDB-compatible HTTP API. You can use this API to perform operations on document tables.
  • The YDB API and its implementations like the YDB CLI and YDB SDK for Java, Python, Node.js, and Go. You can use this API to perform operations on YDB tables.

To calculate the cost of requests in YDB, we use a concept called request units (RU). Each executed request, depending on its type, complexity, and data size, consumes a certain number of RU. The total cost of all executed requests to YDB is the sum of the cost of each request in RU.

Document API

The cost of requests to the Document API depends on the type of DB operations that are performed within the request and the amount of data that the operation is performed on. If the request consists of multiple operations (for example, BatchWriteItem), its cost is the sum of operation costs.

Operation type Data size Cost in request units (RU)
Item read operation (GetItem, BatchGetItem, Query, and Scan methods) 4 KB 1
Item read operation performed within a transaction (TransactGetItems) 4 KB 2
Item write operation (PutItem, BatchWriteItem, and UpdateItem) 1 KB 2
Item write operation performed within a transaction (TransactWriteItems) 1 KB 4
Item delete operation (DeleteItem) ignored 2
DB schema operation (CreateTable, DeleteTable, DescribeTable, and ListTables) Free Free

When estimating the cost of a request:

  • A read request that returned no result is always valued at 1 RU.
  • An item write request that returned no results is always valued at 2 RU.
  • An item write request within a transaction that returned no result is always valued at 4 RU.
  • Read requests are rounded up to a multiple of 4 KB.
  • Write requests are rounded up to a multiple of 1 KB.

YDB API

The cost of a request to the YDB API factors in the following:

  • CPU usage time

    The CPU time used for parsing and compiling a request is taken into account. The CPU usage time is rounded down to a multiple of 1.5 ms.

  • Read operations

    The cost of read operations is assessed three ways:

    • The total amount of data read. The amount is rounded up to a multiple of 4 KB.
    • Number of rows read.
    • The CPU time used for read operations. The CPU usage time is rounded down to a multiple of 1.5 ms.

    All values are converted to RU. The total cost of read operations is assumed to be equal to the largest of these values.

  • Write operations

    The cost of write operations is assessed three ways:

    • The total amount of data written. The amount is rounded up to a multiple of 1 KB.
    • Number of rows written.
    • The CPU time used for write operations. The CPU usage time is rounded down to a multiple of 1.5 ms.

    All values are converted to RU. The total cost of write operations is assumed to be equal to the largest of these values.

  • Delete operations

    The cost of delete operations is assessed three ways:

    • The total amount of data deleted. The amount is rounded up to a multiple of 1 KB.
    • Number of rows deleted.
    • The CPU time used for delete operations. The CPU usage time is rounded down to a multiple of 1.5 ms.

The total cost of the request is calculated as the sum of all components.

Estimated parameter Unit size Cost in request units (RU)
Amount of data read 4 KB 1
Amount of data written 1 KB 2
Amount of data deleted 1 KB 2
Item read operation 1 item 1
Item write operation 1 item 2
Item delete operation 1 item 2
CPU usage time 1.5 ms 4
Creating, updating, and deleting table schemas, getting a table description, getting a list of tables, creating and deleting directories Free Free
Specifics of cost calculation for certain operations
  • ReadTable
    The ReadTable operation lets you efficiently read large ranges of data from a table. The cost of the query only depends on the amount of data read and is 128 RU per 1 MB. When calculating the cost, the amount is rounded up to a multiple of 1 MB.

  • BulkUpsert
    BulkUpsert lets you efficiently upload data to the database. The cost of writing a row using the BulkUpsert operation is 0.5 RU per 1 KB of written data. When calculating the cost, the data amount is rounded up to a multiple of 1 KB. The total cost of the operation is calculated as the sum of the cost of all rows written, rounded up to the nearest integer.

    Example of cost calculation

    For example, as part of a BulkUpsert operation, you write four rows of data of 2500 bytes, 100 bytes, 1200 bytes, and 1024 bytes.

    The cost of such an operation is:

    0.5 RU × 3 + 0.5 RU × 1 + 0.5 RU × 2 + 0.5 RU × 1 = 3.5 RU

    Total, after rounding up: 4 RU

    Where:

    • 0.5 is the cost in request units per 1 KB of written data.
    • 3 is the first row size in KB after rounding up (2500 bytes = 1024 bytes + 1024 bytes + 452 bytes).
    • 1 is the second row size in KB after rounding up.
    • 2 is the third row size in KB after rounding up (1200 bytes = 1024 bytes + 176 bytes).
    • 1 is the fourth row size in KB.
  • Building a secondary index
    The cost of building an index is the sum of the cost of ReadTable from the source table and BulkUpsert to the index table. The total amount of work is charged: the number and size of rows read from the source table and written to the index table. The index building process can be canceled by the user. The canceled index-building operations are also charged based on the amount of work done before the operation was canceled.

The amount of stored data

In serverless mode, data storage capacity is allocated automatically. The amount of stored data is calculated as the total amount of user and service data that is stored in the database. For example, creating a global index increases the storage size by the size of this index.

Creating backups

Automatic backups

Yandex Database automatically creates and stores two full backups for the last two days for free. No fee is charged for storing automatic backups.

On-demand backups

You can force a database backup with a copy saved in Yandex Object Storage. The cost of this operation depends on the amount of data copied. When calculating the cost, the actual amount is rounded up to a multiple of 1 GB.

Yandex Object Storage. The cost of storing backups is calculated according to the pricing policy for Yandex Object Storage.

Warning

If you upload data using the ydb tools dump utility, billing is based on the rates for the ReadTable operation.

Restoring data from backups

You can restore databases and individual tables from backups that are stored in Object Storage. The cost of this operation depends on the amount of data restored. When calculating the cost, the actual amount is rounded up to a multiple of 1 GB.

Warning

If you restore data using the ydb tools restore utility, billing is based on the cost of writing a row to the DB for each restored row.

Discount for committed volumes of services (CVoS)

You can get a guaranteed discount on service resource usage when you plan for a month, a year, or three years ahead.

Yandex Database serverless mode provides a CVoS for a particular number of requests in RU per second. You can choose the committed volume in 100 RU/s increments.

When calculating the actual consumption, the number of requests is averaged every five minutes. That is, for example, if the committed volume is 100 RU/s, it isn't necessary to consume 100 RUs per second. Within the averaging interval, the load may change and amount to 150 RU/s during one minute and 50 RU/s another.

Pricing

All prices are shown with VAT. Prices are given for a 30-day month. For shorter months, the price is higher. For longer months, it's lower.

Prices in USD
Prices in roubles
Service Cost, without VAT
Data operations, less than 1 million RU per month Free
Data operations, over 1 million RU per month $0.171282 per 1 million RU
Data operations with a 1-month commitment $0.028461 per hour per 100 RU/s
Data storage, less than 1 GB per month Free
Data storage, more than 1 GB per month $0.171923 per 1 GB per month
Making on-demand backups $0.004359 per 1 GB
Restoring data from backups $0.082051 per 1 GB
Storage of on-demand backups in Yandex Object Storage $0.016166 per 1 GB per month
Service Cost, with VAT
Data operations, less than 1 million RU per month Free
Data operations, over 1 million RU per month ₽13.36 per 1 million RU
Data operations with a 1-month commitment ₽2.22 per hour per 100 RU/s
Data storage, less than 1 GB per month Free
Data storage, more than 1 GB per month ₽13.41 per 1 GB per month
Making on-demand backups ₽0.34 per 1 GB
Restoring data from backups ₽6.40 per 1 GB
Storage of on-demand backups in Yandex Object Storage ₽1.261 per 1 GB per month

When using the service, you pay for traffic from Yandex.Cloud to the internet. Traffic between Yandex.Cloud services and incoming internet traffic are free.

The minimum billable unit is 1 MB.

Prices in USD
Prices in roubles
Resource category Cost of 1 GB, without VAT
Outgoing traffic, up to 10 GB Free
Outgoing traffic exceeding 10 GB $0.012307
Resource category Cost of 1 GB, with VAT
Outgoing traffic, up to 10 GB Free
Outgoing traffic exceeding 10 GB ₽0.960
In this article:
  • What goes into the cost of using serverless mode Yandex Database
  • Data operations and the request unit
  • The amount of stored data
  • Creating backups
  • Restoring data from backups
  • Discount for committed volumes of services (CVoS)
  • Pricing
Language
Careers
Privacy policy
Terms of use
© 2021 Yandex.Cloud LLC