В стандартной версии 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 удалений.