Обзор основных операций

В стандартной версии Firestore Core предоставляет широкий набор возможностей в качестве документоориентированной базы данных, включая удобные SDK для большого количества языков программирования, поддержку работы в реальном времени и в автономном режиме, высокую доступность в одно- и многорегиональных конфигурациях, а также удобную бессерверную модель работы с бесшовным автомасштабированием.

Основные характеристики

Стандартная версия представляет собой интерфейс Firestore, оптимизированный для быстрой разработки приложений с использованием основных операций.

  • Модель данных: Cloud Firestore использует гибкую иерархическую структуру данных NoSQL, в которой данные хранятся в документах, организованных в коллекции и подколлекции.
  • Работа в режиме реального времени и в автономном режиме: эти операции включают встроенную поддержку запросов в режиме реального времени, которые мгновенно обновляют клиентские приложения при изменении данных, а также надежное сохранение данных в автономном режиме для мобильных и веб-клиентов.
  • Выполнение запросов: Основные операции поддерживают выразительные и эффективные запросы, позволяя использовать цепочки фильтров и сортировки. Ключевой характеристикой является то, что производительность запроса пропорциональна размеру результирующего набора данных, а не общему размеру набора данных.

Индексирование

В стандартной версии индексирование строго контролируется с использованием основных операций.

  • Обязательное индексирование: Все запросы должны быть подкреплены индексом. Если основная операция попытается выполнить запрос без соответствующего индекса, она завершится с ошибкой, а не выполнит сканирование коллекции.
  • Автоматическое создание индексов: Для упрощения разработки Firestore автоматически создает индексы для каждого поля документа.
  • Создание составных индексов вручную: Для сложных операций ядра, затрагивающих несколько полей, разработчикам необходимо вручную создавать составные индексы. Примером может служить запрос, фильтрующий по одному полю и сортирующий по другому. Клиентский SDK упрощает этот процесс, предоставляя ссылку на сообщение об ошибке, которая направляет разработчика в консоль Firebase для создания конкретного отсутствующего индекса.

Оплата и лимиты

В стандартной версии модель выставления счетов за основные операции основана на количестве обработанных документов или индексов, а не на размере обработанных данных (за исключением хранилища). Следующие цены указаны в us-central1 .

  • Оплата по количеству документов: с вас взимается плата за количество прочитанных, записанных и удаленных документов.

    • Стоимость прочтения: 0,03 доллара за 100 000 прочтений или 0,30 доллара за миллион прочтений, взимается за каждый документ.
    • Стоимость записи: 0,09 доллара за 100 000 записей или 0,90 доллара за миллион записей, взимается за каждый документ.
    • Удаления: 0,01 доллара за 100 000 удалений или 0,10 доллара за миллион удалений.
  • Стоимость записи в индексы: В отличие от версии Enterprise, за запись записей в индексы отдельная плата не взимается; обновления индексов включены в стоимость записи документов. Однако с вас взимается плата за занимаемое этими индексами место в хранилище.

  • Запросы в режиме реального времени: Обновления в режиме реального времени оплачиваются как стандартные операции чтения документов. С вас взимается плата за одну операцию чтения каждый раз, когда документ добавляется или обновляется в результирующем наборе данных обработчика.

  • Чтение записей индекса: Хотя большинство основных операций оплачиваются по количеству документов, за выполнение сложных операций, таких как агрегирующие запросы (подсчет, сумма, среднее) или векторный поиск, взимается плата за количество прочитанных записей индекса.

  • Бесплатная квота: Стандартная версия включает в себя ежедневный бесплатный лимит в 50 000 прочтений, 20 000 записей и 20 000 удалений.