1

Мы хотели бы кэшировать некоторые данные в Google Compute Engine (около 100 000 строк данных). Каждая строка имеет 3-4 столбца. Вы порекомендовали бы загрузить эти данные из Google Cloud Datastore или BigQuery?Извлечь около 100 000 записей из BigQuery или Datastore

BigQuery выполняет работу по «созданию» этих данных. Тем не менее, мы не уверены, что это хорошая практика для чтения среднего объема данных из него удаленно.

ответ

1

BigQuery действительно ориентирован на аналитические запросы (то есть SELECT user_agent, SUM(request_cost) FROM my_table_of_requests WHERE user_agent != NULL GROUP BY user_agent), а не на экспорт 100 тысяч тысяч строк.

Datastore ориентирован на поиск данных на уровне приложений (т. Е. «Получить эти точные строки»), а не аналитические запросы, но он обеспечивает вторичное индексирование (например, фильтрацию), а также другие причудливые OLTP-вещи (такие как транзакции ACID, автоматическая репликация данных и т. д.). Для ваших 100k строк вы будете платить $ 0,06, чтобы получить их все раз.

Если вы просто хотите сбросить 100 тыс. Строк данных во что-то, а затем прочитать его обратно (без фильтрации на стороне сервера или необходимости для транзакций или репликации), ни один из них не кажется правильным выбором. Возможно, вы захотите рассмотреть возможность хранения выходного файла CSV данных в Google Cloud Storage и называть его днем.

Если вам нужны расширенные запросы, транзакции и т. Д., Datastore выполнит эту работу, но может оказаться более дорогостоящей, чем вы ожидали. Возможно, вам захочется загрузить эти данные в базу данных SQL (то есть PostgreSQL или MySQL), которая должна легко обрабатывать строки 100k.

Смежные вопросы