Вы можете рассмотреть BigQuery.
Что касается 2), существует интерфейс BigQuery для потоковой передачи .
И 4) вы можете поиграть с публичными данными BigQuery (например, популярной таблицей транзакций BitCoin), чтобы увидеть, насколько быстрым может быть BigQuery.
Ниже приведен пример запроса с использованием BigQuery standardSQL, показывающий, как фильтровать данные, хранящиеся в строке JSON.
#standardSQL
SELECT JSON_EXTRACT(json_text, '$') AS student
FROM UNNEST([
'{"age" : 1, "class" : {"students" : [{"name" : "Jane"}]}}',
'{"age" : 2, "class" : {"students" : []}}',
'{"age" : 10,"class" : {"students" : [{"name" : "John"}, {"name": "Jamie"}]}}'
]) AS json_text
WHERE CAST(JSON_EXTRACT_SCALAR(json_text, '$.age') AS INT64) > 5;