У вас есть таблица sensors (500 МБ) с метаданными датчиков, обновляемыми ежечасно. Каждый датчик отправляет метрику каждые 30 секунд с отметкой времени. Вам необходимо хранить метрики в BigQuery, запускать еженедельную аналитику и минимизировать затраты. Какую модель данных вы используете?
Выберите ответ
Нажмите на вариант, чтобы проверить свой ответ.
Правильный ответ: Создайте таблицу metrics, секционированную по timestamp. Создайте столбец sensorId в таблице metrics, который указывает на столбец id в таблице sensors. Используйте оператор INSERT каждые 30 секунд для добавления новых метрик в таблицу metrics. При необходимости объединяйте две таблицы при выполнении аналитического запроса..
Почему это правильный ответ
Правильный ответ — создание отдельной таблицы metrics, секционированной по timestamp, с внешним ключом sensorId, ссылающимся на таблицу sensors. Это оптимально для BigQuery, поскольку позволяет эффективно хранить большие объемы временных рядов, используя секционирование для снижения затрат на запросы и ускорения еженедельной аналитики. Использование INSERT каждые 30 секунд является идиоматическим для BigQuery, так как он оптимизирован для потоковой вставки и аналитических рабочих нагрузок. Объединение таблиц при необходимости позволяет гибко получать метаданные датчиков. Неправильные варианты: 1. Использование UPDATE каждые 30 секунд в BigQuery крайне неэффективно и дорого, так как BigQuery не оптимизирован для частых обновлений отдельных записей. Кроме того, хранение метрик в повторных записях в таблице sensors приведет к раздуванию этой таблицы и неэффективному секционированию для временных рядов. 2. Использование INSERT в повторных записях в таблице sensors также неоптимально, поскольку это приведет к очень большим строкам и не позволит эффективно использовать секционирование по времени для метрик. 3. Использование UPDATE в таблице metrics по тем же причинам, что и в первом варианте, неэффективно и дорого. BigQuery лучше подходит для добавления новых данных, а не для частых обновлений существующих.
Сдайте экзамен — без бесконечного поиска ответов
Получите все проверенные вопросы и объяснения для этого экзамена в одном месте и сэкономьте часы подготовки. 1000+ сертификаций · 20+ языков · начните бесплатно.
Сдайте экзамен быстрее → Карта не требуется