2014-06-24 3 views
6

Mi chiedevo se potessi avere un'idea di quanto sia fattibile utilizzare BigQuery come motore di query primario per uno strumento di analisi che stiamo sviluppando. La nostra API pubblica dovrà eseguire realisticamente almeno centinaia di query SELECT simultanee utilizzando l'SDK PHP (su righe potenzialmente 100M +), ma dalla documentazione corrente sembra che BigQuery sia più orientato verso query non frequenti che fornire un volume elevato e un carico elevato su richiesta interrogazioni.È possibile utilizzare BigQuery come motore di query principale?

Alcune delle attività elencate sul sito Web di Google sembrano fare cose simili, ma ho anche visto le cifre limite di 20 richieste simultanee, che sembra escludere questo caso d'uso per il prodotto?

risposta

2

Sono contento che tu abbia chiesto. Gli utenti normali di BigQuery sono soggetti a limiti di velocità di richiesta simultanei, ma esiste un'opzione che si adatta al caso d'uso esatto che si descrive: Capacità riservata.

Con la capacità riservata, si ottiene il proprio "cluster separato", non soggetto agli stessi limiti, ma a quelli definiti dall'utente.

Verificare https://developers.google.com/bigquery/pricing#reserved_cap per ulteriori informazioni.

+0

Grazie per aver chiarito questo Felipe! – Andy

+0

Cosa succede se creo diversi ID progetto? Il limite di concorrenza è basato sul progetto, basato sulla tabella o sulla sessione di oauth? – amenadiel

+0

Cercare di eludere i limiti individuando scappatoie potrebbe essere qualificato come abuso dai termini del servizio. Meglio contattare le vendite per trovare soluzioni e alternative appropriate. –

1

Questa è una decisione architettonica. La mia opinione personale è: NON prenderei in considerazione BigQuery se ci si aspetta che diversi utenti utilizzino l'API contemporaneamente. Sarebbe costoso e rischioso. Penso che dovresti avere i dati grezzi su Big Query e cercare di capire un meccanismo per servire i client in un modo più efficiente, magari usando la cache o salvando alcuni risultati/istantanee sul datastore o forse su CloudSQL.

+2

Grazie per il vostro feedback, sto anche considerando questo stile di strategia come un'opzione, magari usando qualcosa come ElasticSearch per i "dati caldi" e BQ come magazzino/fallback. – Andy