SlideShare une entreprise Scribd logo
1  sur  37
Télécharger pour lire hors ligne
Dans les coulisses de Google BigQuery
“Fully managed data warehouse”
2/34
Qui suis-je ?
Aurélie Vache
Lead Developer chez
@aurelievache
#BigQuery #DevFestToulouse @aurelievache
“Big Data” != “Hadoop”
3/34#BigQuery #DevFestToulouse @aurelievache
GFS
MapReduce
Dremel
2004 2010 2015
BigQueryBeta
BigQuery
Dremel X
Google et la révolution Big Data
2002 2006 2012 2016
Capacitor
4/34#BigQuery #DevFestToulouse @aurelievache
● AaaS (Analytics as a Service)
● stocker, analyser, exécuter des requêtes sur des grands volumes de
données et partager ses données structurées
Qu’est ce que BigQuery ?
5/34#BigQuery #DevFestToulouse @aurelievache
SQL QueryPetabit Network
BigQuery
Storage Compute
Streaming Ingest
Fast Batch Load
Qu’est ce que BigQuery ?
6/34#BigQuery #DevFestToulouse @aurelievache
Pourquoi utiliser BigQuery ?
- Hautement disponible. SLA 99.9%
- Infrastructure de Google
- Pas de coût de serveurs, d'opération et de maintenance
- Moins complexe écosystème Hadoop
- BigQuery + Standard SQL
7/34#BigQuery #DevFestToulouse @aurelievache
Pourquoi utiliser BigQuery ?
- Scalabilité
- Rapide
- “Pay only for what you use”
- Données encryptées
- Facilité d’interconnexion avec outils tiers
8/34#BigQuery #DevFestToulouse @aurelievache
BigQuery: 5 ans d'innovation transparente
9/34#BigQuery #DevFestToulouse @aurelievache
2010 2011 2012 2013 2014
Public launch
Large query results
2015 2016
900
300
0
1,200
Beta Release at Google I/O
Dremel X
Big JOIN support
Dynamic Execution
Capacitor
Faster shuffle
100k qps streaming
User-defined functions
Code Submits
Inconvénients/Limitations
- “ Append-only tables ” *
- Performant sur des énormes tables (Go, To, Po),
moins sur des petites tables
- Les données doivent être structurées
10/34#BigQuery #DevFestToulouse @aurelievache
* BigQuery DML
Usages
11/34#BigQuery #DevFestToulouse @aurelievache
Quotas
Requêtes
● 1000 tables /query
● query size limit:
unlimited
● 100 000 lignes insérées
/sec / table *
● 1 000 000 lignes /sec
/projet
StreamingChargement
● 1 000 jobs /table / jour
● 10 000 colonnes /table
● ...
12/34#BigQuery #DevFestToulouse @aurelievache
https://cloud.google.com/bigquery/quota-policy
Coûts
Gratuit : Chargement des données + Export des données + tables lues + copies de tables +
données dans le cache.
Requêtes
5$ par To de requêtes 0,05$/Go
Stockage Insertion
● 0,02$/Go/mois
● 0,01$/Go/mois
long term storage
13/34#BigQuery #DevFestToulouse @aurelievache
https://cloud.google.com/bigquery/#pricing
Moteur de stockage : ColumnIO (2006-2015)
14/34#BigQuery #DevFestToulouse @aurelievache
SELECT play_count FROM songs WHERE name = “Here Comes The Sun”;
Decompress Filter
xc*@6j
c8!af
8ec2(*&
7h!%d2A
a7c%a1
c-%1G!
F$#h5
rm7y5
a%6%#
H#$$i
4t#@h
@#Ds
{5375, Hey Jude}
{2188, I Want to Hold Your Hand}
{9363, While My Guitar Gently Weeps}
{9502, My Michelle}
{7383, Here Comes The Sun}
{3912, Strawberry Fields Forever}
Here Comes The Sun
Moteur de stockage : Capacitor (2016-now)
15/34#BigQuery #DevFestToulouse @aurelievache
SELECT play_count FROM songs WHERE name = “Here Comes The Sun”;
Filter CompressDecompress
{7833}
xc*@6j
c8!af
8ec2(*&
7h!%d2A
a7c%a1
c-%1G!
F$#h5
rm7y5
a%6%#
H#$$i
4t#@h
@#Ds
4t#@h Here Comes The Sun
Dremel == BigQuery
16/34#BigQuery #DevFestToulouse @aurelievache
● Long-lived Serving Tree
Distributed Storage
Leaf Leaf LeafLeaf
Mixer 1Mixer 1
● Partial Reduction
● Columnar Storage
● Diskless data flow
Mixer 0
Architecture de Dremel : 2006 - 2015
Dremel X == BigQuery
17/34#BigQuery #DevFestToulouse @aurelievache
Architecture de Dremel X : 2015 - maintenant
Master
Distributed Storage
Shard Shard ShardShard
● Columnar Storage
● Dynamic Serving Tree
Shard Shard
Shard Shard Shard Shard
Shard Shard
Composants
Project (billing, top-level container)
Dataset (organization, access control)
Job (query, import, export, copy)
Table (data with schema)
<project>:<dataset>.<table_name>
18/34#BigQuery #DevFestToulouse @aurelievache
Comment charger vos données ?
19/34#BigQuery #DevFestToulouse @aurelievache
CSV
JSON
Avro
Google Sheets
Comment charger vos données ?
20/34#BigQuery #DevFestToulouse @aurelievache
JSON
Avro
L’API REST
21/34#BigQuery #DevFestToulouse @aurelievache
Exemple en JAVA
// insert data
List<TableDataInsertAllRequest.Rows> rowList = new
ArrayList<TableDataInsertAllRequest.Rows>();
rowList.add(new TableDataInsertAllRequest.Rows()
.setInsertId(""+System.currentTimeMillis())
.setJson(new TableRow().set("adt", null)));
TableDataInsertAllRequest content = new TableDataInsertAllRequest().setRows(rowList);
TableDataInsertAllResponse response = bigquery.tabledata().insertAll(
PROJECT_NUMBER, DATASET_ID, TABLE_ID, content).execute();
System.out.println("kind="+response.getKind());
System.out.println("errors="+response.getInsertErrors());
System.out.println(response.toPrettyString());
22/34#BigQuery #DevFestToulouse @aurelievache
Fonctions intéressantes :
- TOP
- TABLE_DATE_RANGE
- REGEXP_MATCH / REGEXP_REPLACE / REGEXP_EXTRACT
BigQuery SQL
Variante de l’instruction SELECT SQL standard
… FROM (TABLE_DATE_RANGE(DevFest.toulouse_,
TIMESTAMP('2016-11-02'), TIMESTAMP('2016-11-03')))
23/34#BigQuery #DevFestToulouse @aurelievache
Demo Time !
24/34#BigQuery #DevFestToulouse @aurelievache
Mais attention :
- Activer Standard SQL
- Quotas
- /! UPDATE tables partitionnées NOK
https://cloud.google.com/bigquery/sql-reference/data-manipulation-language
Data Manipulation Language
INSERT, UPDATE et DELETE dans BigQuery !!!
QueryResponse query = bigquery.jobs().query(
this.projectId,
new QueryRequest()
.setTimeoutMs(timeout)
.setQuery(query)
.setUseLegacySql(useLegacySql))
.execute();
25/34#BigQuery #DevFestToulouse @aurelievache
Visualisation et BI ETL
Third-party tools
Connecteurs
26/34#BigQuery #DevFestToulouse @aurelievache
État des lieux - Cluster Hadoop
- 12 serveurs sous Cloudera Manager v4.6 et CDH 4.3.0
- Facturation de l'électricité pour une dizaine de serveurs :
environ 2 000 kilowatt heure / semaine : soit une centaine d'euros par mois
- Coût hardware
- Coût opérationnel
- Évènement : Changement et réduction d’équipe
27/34#BigQuery #DevFestToulouse @aurelievache
- Coût hardware : 0 €
- Coût opé : 0 €
Passage à Google BigQuery
28/34#BigQuery #DevFestToulouse @aurelievache
Utilisation
29/34#BigQuery #DevFestToulouse @aurelievache
=> 6.2 milliards msg/an
- Bien structurer ses données
- Table sharding (old way)
- Table partitioning (new way)
- Utiliser le query cache
- Définir une date d’expiration lors de la création de la table
Astuces/Tips
30/34#BigQuery #DevFestToulouse @aurelievache
20160101
20160102
20160131
sales
- Attention aux jointures
- Possibilité de partager un dataset/des rows à des collaborateurs
- Format date : UTC !
- Ne pas utiliser l'instruction SELECT * FROM
- UDF (User-Defined Functions)
Astuces/Tips
31/34#BigQuery #DevFestToulouse @aurelievache
- Google presentation : https://www.youtube.com/watch?v=eyBK9nj-7AA
- SLA : https://cloud.google.com/bigquery/sla
- Pricing calculator : https://cloud.google.com/products/calculator/
- SQL : https://cloud.google.com/bigquery/query-reference
- Table partitioning : https://cloud.google.com/bigquery/docs/partitioned-tables
- Tuto : Real-time data analysis with Kubernetes, Cloud Pub/Sub, and
BigQuery
- Moving tables from Redshift to BigQuery : https://github.com/iconara/bigshift
Liens
32/34#BigQuery #DevFestToulouse @aurelievache
Pour aller plus loin ...
33/34#BigQuery #DevFestToulouse @aurelievache
SELECT
questions
FROM
DevFest:Toulouse.bigquery
34/34#BigQuery #DevFestToulouse @aurelievache
#BigQuery #DevFestToulouse @aurelievache
Bonus Track
Performances
#BigQuery #DevFestToulouse @aurelievache +1
Ils utilisent BigQuery
+2#BigQuery #DevFestToulouse @aurelievache

Contenu connexe

En vedette

Inverser sa classe : leurre ou véritable innovation pédagogique ?
Inverser sa classe : leurre ou véritable innovation pédagogique ? Inverser sa classe : leurre ou véritable innovation pédagogique ?
Inverser sa classe : leurre ou véritable innovation pédagogique ? Université de Sherbrooke
 
trabajo power point
trabajo power pointtrabajo power point
trabajo power pointJuan Riveros
 
Possible Locations Slide
Possible Locations SlidePossible Locations Slide
Possible Locations Slidematty002
 
AGA 2010 - Station Familles
AGA 2010 -  Station Familles AGA 2010 -  Station Familles
AGA 2010 - Station Familles Karine Trudel
 
Luc Fievet - Membre du conseil d'administration de l'APRIL, acteur de la prom...
Luc Fievet - Membre du conseil d'administration de l'APRIL, acteur de la prom...Luc Fievet - Membre du conseil d'administration de l'APRIL, acteur de la prom...
Luc Fievet - Membre du conseil d'administration de l'APRIL, acteur de la prom...TechnoArk
 
Bien utiliser l’email et les plateformes d’emailing
Bien utiliser l’email et les plateformes d’emailingBien utiliser l’email et les plateformes d’emailing
Bien utiliser l’email et les plateformes d’emailingLozere Développement
 
Atelier Image Employeur Weavlink - Traces & visibilité sur le Web
Atelier Image Employeur Weavlink - Traces & visibilité sur le WebAtelier Image Employeur Weavlink - Traces & visibilité sur le Web
Atelier Image Employeur Weavlink - Traces & visibilité sur le WebWeavlink
 
CURRICULUM RAMIRO ZUÑIGA SALOMON
CURRICULUM RAMIRO ZUÑIGA SALOMONCURRICULUM RAMIRO ZUÑIGA SALOMON
CURRICULUM RAMIRO ZUÑIGA SALOMONRamiro Zúñiga
 
Noel A Quebec (Nx Power Lite)
Noel A Quebec (Nx Power Lite)Noel A Quebec (Nx Power Lite)
Noel A Quebec (Nx Power Lite)guest76d80e4
 
Rapport%20public%20 Bead Air A 2006 004 A
Rapport%20public%20 Bead Air A 2006 004 ARapport%20public%20 Bead Air A 2006 004 A
Rapport%20public%20 Bead Air A 2006 004 Aguestcbd9a0
 
Enseigner et apprendre ensemble: Expériences à l'EPFL
Enseigner et apprendre ensemble: Expériences à l'EPFLEnseigner et apprendre ensemble: Expériences à l'EPFL
Enseigner et apprendre ensemble: Expériences à l'EPFLDenis Gillet
 
T P F O R M A T I O N E X C E L
T P  F O R M A T I O N  E X C E LT P  F O R M A T I O N  E X C E L
T P F O R M A T I O N E X C E Lguest1b358d
 

En vedette (20)

El machismo
El machismoEl machismo
El machismo
 
Inverser sa classe : leurre ou véritable innovation pédagogique ?
Inverser sa classe : leurre ou véritable innovation pédagogique ? Inverser sa classe : leurre ou véritable innovation pédagogique ?
Inverser sa classe : leurre ou véritable innovation pédagogique ?
 
voila pourquoi etre depute c SUPER !
voila pourquoi etre depute c SUPER !voila pourquoi etre depute c SUPER !
voila pourquoi etre depute c SUPER !
 
trabajo power point
trabajo power pointtrabajo power point
trabajo power point
 
Antecedents art romà
Antecedents art romàAntecedents art romà
Antecedents art romà
 
Argentina
ArgentinaArgentina
Argentina
 
Test ppt
Test pptTest ppt
Test ppt
 
Possible Locations Slide
Possible Locations SlidePossible Locations Slide
Possible Locations Slide
 
AGA 2010 - Station Familles
AGA 2010 -  Station Familles AGA 2010 -  Station Familles
AGA 2010 - Station Familles
 
Luc Fievet - Membre du conseil d'administration de l'APRIL, acteur de la prom...
Luc Fievet - Membre du conseil d'administration de l'APRIL, acteur de la prom...Luc Fievet - Membre du conseil d'administration de l'APRIL, acteur de la prom...
Luc Fievet - Membre du conseil d'administration de l'APRIL, acteur de la prom...
 
Bien utiliser l’email et les plateformes d’emailing
Bien utiliser l’email et les plateformes d’emailingBien utiliser l’email et les plateformes d’emailing
Bien utiliser l’email et les plateformes d’emailing
 
Quiz
QuizQuiz
Quiz
 
Atelier Image Employeur Weavlink - Traces & visibilité sur le Web
Atelier Image Employeur Weavlink - Traces & visibilité sur le WebAtelier Image Employeur Weavlink - Traces & visibilité sur le Web
Atelier Image Employeur Weavlink - Traces & visibilité sur le Web
 
CURRICULUM RAMIRO ZUÑIGA SALOMON
CURRICULUM RAMIRO ZUÑIGA SALOMONCURRICULUM RAMIRO ZUÑIGA SALOMON
CURRICULUM RAMIRO ZUÑIGA SALOMON
 
Noel A Quebec (Nx Power Lite)
Noel A Quebec (Nx Power Lite)Noel A Quebec (Nx Power Lite)
Noel A Quebec (Nx Power Lite)
 
Rapport%20public%20 Bead Air A 2006 004 A
Rapport%20public%20 Bead Air A 2006 004 ARapport%20public%20 Bead Air A 2006 004 A
Rapport%20public%20 Bead Air A 2006 004 A
 
Enseigner et apprendre ensemble: Expériences à l'EPFL
Enseigner et apprendre ensemble: Expériences à l'EPFLEnseigner et apprendre ensemble: Expériences à l'EPFL
Enseigner et apprendre ensemble: Expériences à l'EPFL
 
Proceso tecnologico
Proceso tecnologicoProceso tecnologico
Proceso tecnologico
 
Quiz Correction
Quiz   CorrectionQuiz   Correction
Quiz Correction
 
T P F O R M A T I O N E X C E L
T P  F O R M A T I O N  E X C E LT P  F O R M A T I O N  E X C E L
T P F O R M A T I O N E X C E L
 

Similaire à Dans les coulisses de Google BigQuery - DevFest Toulouse 2016

Meetup Google Cloud
Meetup Google CloudMeetup Google Cloud
Meetup Google CloudPierre Coste
 
Présentation BigQuery et comparatif avec RedShift
Présentation BigQuery et comparatif avec RedShiftPrésentation BigQuery et comparatif avec RedShift
Présentation BigQuery et comparatif avec RedShiftPierre Coste
 
Azure Data Lake, le big data 2.0 (Global Azure Bootcamp Paris 2017)
Azure Data Lake, le big data 2.0 (Global Azure Bootcamp Paris 2017)Azure Data Lake, le big data 2.0 (Global Azure Bootcamp Paris 2017)
Azure Data Lake, le big data 2.0 (Global Azure Bootcamp Paris 2017)Jean-Pierre Riehl
 
GAB 2017 PARIS - Azure Data Lake La Big Data 2.0 par Jean-Pierre Riehl et Fab...
GAB 2017 PARIS - Azure Data Lake La Big Data 2.0 par Jean-Pierre Riehl et Fab...GAB 2017 PARIS - Azure Data Lake La Big Data 2.0 par Jean-Pierre Riehl et Fab...
GAB 2017 PARIS - Azure Data Lake La Big Data 2.0 par Jean-Pierre Riehl et Fab...AZUG FR
 
Open XKE - Google Compute Engine par Jean-Baptiste Claramonte et Eric Briand
Open XKE - Google Compute Engine par Jean-Baptiste Claramonte et Eric BriandOpen XKE - Google Compute Engine par Jean-Baptiste Claramonte et Eric Briand
Open XKE - Google Compute Engine par Jean-Baptiste Claramonte et Eric BriandPublicis Sapient Engineering
 
Morning tech #2 - Démarche performance slides
Morning tech #2 - Démarche performance slidesMorning tech #2 - Démarche performance slides
Morning tech #2 - Démarche performance slidesOxalide
 
Oxalide Morning tech #2 - démarche performance
Oxalide Morning tech #2 - démarche performanceOxalide Morning tech #2 - démarche performance
Oxalide Morning tech #2 - démarche performanceLudovic Piot
 
[JSS2015] Azure SQL Data Warehouse - Azure Data Lake
[JSS2015] Azure SQL Data Warehouse - Azure Data Lake[JSS2015] Azure SQL Data Warehouse - Azure Data Lake
[JSS2015] Azure SQL Data Warehouse - Azure Data LakeGUSS
 
SQL Saturday Haïti 2022 - Débuter avec Azure pour les DBA.pptx
SQL Saturday Haïti 2022 - Débuter avec Azure pour les DBA.pptxSQL Saturday Haïti 2022 - Débuter avec Azure pour les DBA.pptx
SQL Saturday Haïti 2022 - Débuter avec Azure pour les DBA.pptxPhilippe Geiger
 
Démo Gatling au Performance User Group de Casablanca - 25 sept 2014
Démo Gatling au Performance User Group de Casablanca - 25 sept 2014Démo Gatling au Performance User Group de Casablanca - 25 sept 2014
Démo Gatling au Performance User Group de Casablanca - 25 sept 2014Benoît de CHATEAUVIEUX
 
Kiwiparty 2011 - Optimisation des sites internet
Kiwiparty 2011 - Optimisation des sites internetKiwiparty 2011 - Optimisation des sites internet
Kiwiparty 2011 - Optimisation des sites internetDevclic
 
Présentation Big Data et REX Hadoop
Présentation Big Data et REX HadoopPrésentation Big Data et REX Hadoop
Présentation Big Data et REX HadoopJoseph Glorieux
 
Stream processing et SQL
Stream processing et SQLStream processing et SQL
Stream processing et SQLBruno Bonnin
 
Dw521 g formation-ibm-puredata-system-for-analytics-pour-developpeurs-et-admi...
Dw521 g formation-ibm-puredata-system-for-analytics-pour-developpeurs-et-admi...Dw521 g formation-ibm-puredata-system-for-analytics-pour-developpeurs-et-admi...
Dw521 g formation-ibm-puredata-system-for-analytics-pour-developpeurs-et-admi...CERTyou Formation
 
#OOW15LeOff Breakfast EASYTEAM 28 octobre 2015
#OOW15LeOff Breakfast EASYTEAM 28 octobre 2015#OOW15LeOff Breakfast EASYTEAM 28 octobre 2015
#OOW15LeOff Breakfast EASYTEAM 28 octobre 2015marcomeasyteam
 
Digital GraphTour Paris - Neo4j 4.0, les nouveautés
Digital GraphTour Paris - Neo4j 4.0, les nouveautésDigital GraphTour Paris - Neo4j 4.0, les nouveautés
Digital GraphTour Paris - Neo4j 4.0, les nouveautésNeo4j
 
Session découverte de la Data Virtualization
Session découverte de la Data VirtualizationSession découverte de la Data Virtualization
Session découverte de la Data VirtualizationDenodo
 
JSS2015 - Keynote jour 1
JSS2015 - Keynote jour 1JSS2015 - Keynote jour 1
JSS2015 - Keynote jour 1GUSS
 

Similaire à Dans les coulisses de Google BigQuery - DevFest Toulouse 2016 (20)

Meetup Google Cloud
Meetup Google CloudMeetup Google Cloud
Meetup Google Cloud
 
Présentation BigQuery et comparatif avec RedShift
Présentation BigQuery et comparatif avec RedShiftPrésentation BigQuery et comparatif avec RedShift
Présentation BigQuery et comparatif avec RedShift
 
Azure Data Lake, le big data 2.0 (Global Azure Bootcamp Paris 2017)
Azure Data Lake, le big data 2.0 (Global Azure Bootcamp Paris 2017)Azure Data Lake, le big data 2.0 (Global Azure Bootcamp Paris 2017)
Azure Data Lake, le big data 2.0 (Global Azure Bootcamp Paris 2017)
 
GAB 2017 PARIS - Azure Data Lake La Big Data 2.0 par Jean-Pierre Riehl et Fab...
GAB 2017 PARIS - Azure Data Lake La Big Data 2.0 par Jean-Pierre Riehl et Fab...GAB 2017 PARIS - Azure Data Lake La Big Data 2.0 par Jean-Pierre Riehl et Fab...
GAB 2017 PARIS - Azure Data Lake La Big Data 2.0 par Jean-Pierre Riehl et Fab...
 
Open XKE - Google Compute Engine par Jean-Baptiste Claramonte et Eric Briand
Open XKE - Google Compute Engine par Jean-Baptiste Claramonte et Eric BriandOpen XKE - Google Compute Engine par Jean-Baptiste Claramonte et Eric Briand
Open XKE - Google Compute Engine par Jean-Baptiste Claramonte et Eric Briand
 
Google Compute Engine
Google Compute EngineGoogle Compute Engine
Google Compute Engine
 
Morning tech #2 - Démarche performance slides
Morning tech #2 - Démarche performance slidesMorning tech #2 - Démarche performance slides
Morning tech #2 - Démarche performance slides
 
Oxalide Morning tech #2 - démarche performance
Oxalide Morning tech #2 - démarche performanceOxalide Morning tech #2 - démarche performance
Oxalide Morning tech #2 - démarche performance
 
[JSS2015] Azure SQL Data Warehouse - Azure Data Lake
[JSS2015] Azure SQL Data Warehouse - Azure Data Lake[JSS2015] Azure SQL Data Warehouse - Azure Data Lake
[JSS2015] Azure SQL Data Warehouse - Azure Data Lake
 
SQL Saturday Haïti 2022 - Débuter avec Azure pour les DBA.pptx
SQL Saturday Haïti 2022 - Débuter avec Azure pour les DBA.pptxSQL Saturday Haïti 2022 - Débuter avec Azure pour les DBA.pptx
SQL Saturday Haïti 2022 - Débuter avec Azure pour les DBA.pptx
 
Démo Gatling au Performance User Group de Casablanca - 25 sept 2014
Démo Gatling au Performance User Group de Casablanca - 25 sept 2014Démo Gatling au Performance User Group de Casablanca - 25 sept 2014
Démo Gatling au Performance User Group de Casablanca - 25 sept 2014
 
Kiwiparty 2011 - Optimisation des sites internet
Kiwiparty 2011 - Optimisation des sites internetKiwiparty 2011 - Optimisation des sites internet
Kiwiparty 2011 - Optimisation des sites internet
 
Présentation Big Data et REX Hadoop
Présentation Big Data et REX HadoopPrésentation Big Data et REX Hadoop
Présentation Big Data et REX Hadoop
 
Stream processing et SQL
Stream processing et SQLStream processing et SQL
Stream processing et SQL
 
Dw521 g formation-ibm-puredata-system-for-analytics-pour-developpeurs-et-admi...
Dw521 g formation-ibm-puredata-system-for-analytics-pour-developpeurs-et-admi...Dw521 g formation-ibm-puredata-system-for-analytics-pour-developpeurs-et-admi...
Dw521 g formation-ibm-puredata-system-for-analytics-pour-developpeurs-et-admi...
 
#OOW15LeOff Breakfast EASYTEAM 28 octobre 2015
#OOW15LeOff Breakfast EASYTEAM 28 octobre 2015#OOW15LeOff Breakfast EASYTEAM 28 octobre 2015
#OOW15LeOff Breakfast EASYTEAM 28 octobre 2015
 
Digital GraphTour Paris - Neo4j 4.0, les nouveautés
Digital GraphTour Paris - Neo4j 4.0, les nouveautésDigital GraphTour Paris - Neo4j 4.0, les nouveautés
Digital GraphTour Paris - Neo4j 4.0, les nouveautés
 
Pj hug 07_04_2016
Pj hug 07_04_2016Pj hug 07_04_2016
Pj hug 07_04_2016
 
Session découverte de la Data Virtualization
Session découverte de la Data VirtualizationSession découverte de la Data Virtualization
Session découverte de la Data Virtualization
 
JSS2015 - Keynote jour 1
JSS2015 - Keynote jour 1JSS2015 - Keynote jour 1
JSS2015 - Keynote jour 1
 

Dernier

JTC 2024 - SMARTER Retour sur les indicateurs de santé .pdf
JTC 2024 - SMARTER Retour sur les indicateurs de santé .pdfJTC 2024 - SMARTER Retour sur les indicateurs de santé .pdf
JTC 2024 - SMARTER Retour sur les indicateurs de santé .pdfInstitut de l'Elevage - Idele
 
GAL2024 - Décarbonation du secteur laitier : la filière s'engage
GAL2024 - Décarbonation du secteur laitier : la filière s'engageGAL2024 - Décarbonation du secteur laitier : la filière s'engage
GAL2024 - Décarbonation du secteur laitier : la filière s'engageInstitut de l'Elevage - Idele
 
firefly algoriyhm sac a dos step by step .pdf
firefly algoriyhm sac a dos step by step .pdffirefly algoriyhm sac a dos step by step .pdf
firefly algoriyhm sac a dos step by step .pdffirstjob4
 
JTC 2024 - Réglementation européenne BEA et Transport.pdf
JTC 2024 - Réglementation européenne BEA et Transport.pdfJTC 2024 - Réglementation européenne BEA et Transport.pdf
JTC 2024 - Réglementation européenne BEA et Transport.pdfInstitut de l'Elevage - Idele
 
GAL2024 - Consommations et productions d'énergies dans les exploitations lait...
GAL2024 - Consommations et productions d'énergies dans les exploitations lait...GAL2024 - Consommations et productions d'énergies dans les exploitations lait...
GAL2024 - Consommations et productions d'énergies dans les exploitations lait...Institut de l'Elevage - Idele
 
GAL2024 - Changements climatiques et maladies émergentes
GAL2024 - Changements climatiques et maladies émergentesGAL2024 - Changements climatiques et maladies émergentes
GAL2024 - Changements climatiques et maladies émergentesInstitut de l'Elevage - Idele
 
GAL2024 - L'élevage laitier cultive la biodiversité
GAL2024 - L'élevage laitier cultive la biodiversitéGAL2024 - L'élevage laitier cultive la biodiversité
GAL2024 - L'élevage laitier cultive la biodiversitéInstitut de l'Elevage - Idele
 
GAL2024 - Parcellaire des fermes laitières : en enjeu de compétitivité et de ...
GAL2024 - Parcellaire des fermes laitières : en enjeu de compétitivité et de ...GAL2024 - Parcellaire des fermes laitières : en enjeu de compétitivité et de ...
GAL2024 - Parcellaire des fermes laitières : en enjeu de compétitivité et de ...Institut de l'Elevage - Idele
 
GAL2024 - Situation laitière 2023-2024 : consommation, marchés, prix et revenus
GAL2024 - Situation laitière 2023-2024 : consommation, marchés, prix et revenusGAL2024 - Situation laitière 2023-2024 : consommation, marchés, prix et revenus
GAL2024 - Situation laitière 2023-2024 : consommation, marchés, prix et revenusInstitut de l'Elevage - Idele
 
conception d'un batiment r+4 comparative de defferente ariante de plancher
conception d'un  batiment  r+4 comparative de defferente ariante de plancherconception d'un  batiment  r+4 comparative de defferente ariante de plancher
conception d'un batiment r+4 comparative de defferente ariante de planchermansouriahlam
 
WBS OBS RACI_2020-etunhjjlllllll pdf.pdf
WBS OBS RACI_2020-etunhjjlllllll pdf.pdfWBS OBS RACI_2020-etunhjjlllllll pdf.pdf
WBS OBS RACI_2020-etunhjjlllllll pdf.pdfSophie569778
 
GAL2024 - Renouvellement des actifs : un enjeu pour la filière laitière franç...
GAL2024 - Renouvellement des actifs : un enjeu pour la filière laitière franç...GAL2024 - Renouvellement des actifs : un enjeu pour la filière laitière franç...
GAL2024 - Renouvellement des actifs : un enjeu pour la filière laitière franç...Institut de l'Elevage - Idele
 
GAL2024 - Méthane 2030 : une démarche collective française à destination de t...
GAL2024 - Méthane 2030 : une démarche collective française à destination de t...GAL2024 - Méthane 2030 : une démarche collective française à destination de t...
GAL2024 - Méthane 2030 : une démarche collective française à destination de t...Institut de l'Elevage - Idele
 
comprehension de DDMRP dans le domaine de gestion
comprehension de DDMRP dans le domaine de gestioncomprehension de DDMRP dans le domaine de gestion
comprehension de DDMRP dans le domaine de gestionyakinekaidouchi1
 
JTC 2024 - Leviers d’adaptation au changement climatique, qualité du lait et ...
JTC 2024 - Leviers d’adaptation au changement climatique, qualité du lait et ...JTC 2024 - Leviers d’adaptation au changement climatique, qualité du lait et ...
JTC 2024 - Leviers d’adaptation au changement climatique, qualité du lait et ...Institut de l'Elevage - Idele
 
GAL2024 - Traite des vaches laitières : au coeur des stratégies d'évolution d...
GAL2024 - Traite des vaches laitières : au coeur des stratégies d'évolution d...GAL2024 - Traite des vaches laitières : au coeur des stratégies d'évolution d...
GAL2024 - Traite des vaches laitières : au coeur des stratégies d'évolution d...Institut de l'Elevage - Idele
 
JTC 2024 La relance de la filière de la viande de chevreau.pdf
JTC 2024 La relance de la filière de la viande de chevreau.pdfJTC 2024 La relance de la filière de la viande de chevreau.pdf
JTC 2024 La relance de la filière de la viande de chevreau.pdfInstitut de l'Elevage - Idele
 
Présentation_Soirée-Information_ Surverse_Thibert _30 avril 2024
Présentation_Soirée-Information_ Surverse_Thibert _30 avril 2024Présentation_Soirée-Information_ Surverse_Thibert _30 avril 2024
Présentation_Soirée-Information_ Surverse_Thibert _30 avril 2024Ville de Châteauguay
 

Dernier (20)

JTC 2024 - SMARTER Retour sur les indicateurs de santé .pdf
JTC 2024 - SMARTER Retour sur les indicateurs de santé .pdfJTC 2024 - SMARTER Retour sur les indicateurs de santé .pdf
JTC 2024 - SMARTER Retour sur les indicateurs de santé .pdf
 
GAL2024 - Décarbonation du secteur laitier : la filière s'engage
GAL2024 - Décarbonation du secteur laitier : la filière s'engageGAL2024 - Décarbonation du secteur laitier : la filière s'engage
GAL2024 - Décarbonation du secteur laitier : la filière s'engage
 
firefly algoriyhm sac a dos step by step .pdf
firefly algoriyhm sac a dos step by step .pdffirefly algoriyhm sac a dos step by step .pdf
firefly algoriyhm sac a dos step by step .pdf
 
JTC 2024 - Réglementation européenne BEA et Transport.pdf
JTC 2024 - Réglementation européenne BEA et Transport.pdfJTC 2024 - Réglementation européenne BEA et Transport.pdf
JTC 2024 - Réglementation européenne BEA et Transport.pdf
 
GAL2024 - Consommations et productions d'énergies dans les exploitations lait...
GAL2024 - Consommations et productions d'énergies dans les exploitations lait...GAL2024 - Consommations et productions d'énergies dans les exploitations lait...
GAL2024 - Consommations et productions d'énergies dans les exploitations lait...
 
GAL2024 - Changements climatiques et maladies émergentes
GAL2024 - Changements climatiques et maladies émergentesGAL2024 - Changements climatiques et maladies émergentes
GAL2024 - Changements climatiques et maladies émergentes
 
JTC 2024 Bâtiment et Photovoltaïque.pdf
JTC 2024  Bâtiment et Photovoltaïque.pdfJTC 2024  Bâtiment et Photovoltaïque.pdf
JTC 2024 Bâtiment et Photovoltaïque.pdf
 
GAL2024 - L'élevage laitier cultive la biodiversité
GAL2024 - L'élevage laitier cultive la biodiversitéGAL2024 - L'élevage laitier cultive la biodiversité
GAL2024 - L'élevage laitier cultive la biodiversité
 
GAL2024 - Parcellaire des fermes laitières : en enjeu de compétitivité et de ...
GAL2024 - Parcellaire des fermes laitières : en enjeu de compétitivité et de ...GAL2024 - Parcellaire des fermes laitières : en enjeu de compétitivité et de ...
GAL2024 - Parcellaire des fermes laitières : en enjeu de compétitivité et de ...
 
GAL2024 - Situation laitière 2023-2024 : consommation, marchés, prix et revenus
GAL2024 - Situation laitière 2023-2024 : consommation, marchés, prix et revenusGAL2024 - Situation laitière 2023-2024 : consommation, marchés, prix et revenus
GAL2024 - Situation laitière 2023-2024 : consommation, marchés, prix et revenus
 
conception d'un batiment r+4 comparative de defferente ariante de plancher
conception d'un  batiment  r+4 comparative de defferente ariante de plancherconception d'un  batiment  r+4 comparative de defferente ariante de plancher
conception d'un batiment r+4 comparative de defferente ariante de plancher
 
WBS OBS RACI_2020-etunhjjlllllll pdf.pdf
WBS OBS RACI_2020-etunhjjlllllll pdf.pdfWBS OBS RACI_2020-etunhjjlllllll pdf.pdf
WBS OBS RACI_2020-etunhjjlllllll pdf.pdf
 
GAL2024 - Renouvellement des actifs : un enjeu pour la filière laitière franç...
GAL2024 - Renouvellement des actifs : un enjeu pour la filière laitière franç...GAL2024 - Renouvellement des actifs : un enjeu pour la filière laitière franç...
GAL2024 - Renouvellement des actifs : un enjeu pour la filière laitière franç...
 
GAL2024 - Méthane 2030 : une démarche collective française à destination de t...
GAL2024 - Méthane 2030 : une démarche collective française à destination de t...GAL2024 - Méthane 2030 : une démarche collective française à destination de t...
GAL2024 - Méthane 2030 : une démarche collective française à destination de t...
 
JTC 2024 - DeCremoux_Anomalies_génétiques.pdf
JTC 2024 - DeCremoux_Anomalies_génétiques.pdfJTC 2024 - DeCremoux_Anomalies_génétiques.pdf
JTC 2024 - DeCremoux_Anomalies_génétiques.pdf
 
comprehension de DDMRP dans le domaine de gestion
comprehension de DDMRP dans le domaine de gestioncomprehension de DDMRP dans le domaine de gestion
comprehension de DDMRP dans le domaine de gestion
 
JTC 2024 - Leviers d’adaptation au changement climatique, qualité du lait et ...
JTC 2024 - Leviers d’adaptation au changement climatique, qualité du lait et ...JTC 2024 - Leviers d’adaptation au changement climatique, qualité du lait et ...
JTC 2024 - Leviers d’adaptation au changement climatique, qualité du lait et ...
 
GAL2024 - Traite des vaches laitières : au coeur des stratégies d'évolution d...
GAL2024 - Traite des vaches laitières : au coeur des stratégies d'évolution d...GAL2024 - Traite des vaches laitières : au coeur des stratégies d'évolution d...
GAL2024 - Traite des vaches laitières : au coeur des stratégies d'évolution d...
 
JTC 2024 La relance de la filière de la viande de chevreau.pdf
JTC 2024 La relance de la filière de la viande de chevreau.pdfJTC 2024 La relance de la filière de la viande de chevreau.pdf
JTC 2024 La relance de la filière de la viande de chevreau.pdf
 
Présentation_Soirée-Information_ Surverse_Thibert _30 avril 2024
Présentation_Soirée-Information_ Surverse_Thibert _30 avril 2024Présentation_Soirée-Information_ Surverse_Thibert _30 avril 2024
Présentation_Soirée-Information_ Surverse_Thibert _30 avril 2024
 

Dans les coulisses de Google BigQuery - DevFest Toulouse 2016

  • 1. Dans les coulisses de Google BigQuery “Fully managed data warehouse”
  • 2. 2/34 Qui suis-je ? Aurélie Vache Lead Developer chez @aurelievache #BigQuery #DevFestToulouse @aurelievache
  • 3. “Big Data” != “Hadoop” 3/34#BigQuery #DevFestToulouse @aurelievache
  • 4. GFS MapReduce Dremel 2004 2010 2015 BigQueryBeta BigQuery Dremel X Google et la révolution Big Data 2002 2006 2012 2016 Capacitor 4/34#BigQuery #DevFestToulouse @aurelievache
  • 5. ● AaaS (Analytics as a Service) ● stocker, analyser, exécuter des requêtes sur des grands volumes de données et partager ses données structurées Qu’est ce que BigQuery ? 5/34#BigQuery #DevFestToulouse @aurelievache SQL QueryPetabit Network BigQuery Storage Compute Streaming Ingest Fast Batch Load
  • 6. Qu’est ce que BigQuery ? 6/34#BigQuery #DevFestToulouse @aurelievache
  • 7. Pourquoi utiliser BigQuery ? - Hautement disponible. SLA 99.9% - Infrastructure de Google - Pas de coût de serveurs, d'opération et de maintenance - Moins complexe écosystème Hadoop - BigQuery + Standard SQL 7/34#BigQuery #DevFestToulouse @aurelievache
  • 8. Pourquoi utiliser BigQuery ? - Scalabilité - Rapide - “Pay only for what you use” - Données encryptées - Facilité d’interconnexion avec outils tiers 8/34#BigQuery #DevFestToulouse @aurelievache
  • 9. BigQuery: 5 ans d'innovation transparente 9/34#BigQuery #DevFestToulouse @aurelievache 2010 2011 2012 2013 2014 Public launch Large query results 2015 2016 900 300 0 1,200 Beta Release at Google I/O Dremel X Big JOIN support Dynamic Execution Capacitor Faster shuffle 100k qps streaming User-defined functions Code Submits
  • 10. Inconvénients/Limitations - “ Append-only tables ” * - Performant sur des énormes tables (Go, To, Po), moins sur des petites tables - Les données doivent être structurées 10/34#BigQuery #DevFestToulouse @aurelievache * BigQuery DML
  • 12. Quotas Requêtes ● 1000 tables /query ● query size limit: unlimited ● 100 000 lignes insérées /sec / table * ● 1 000 000 lignes /sec /projet StreamingChargement ● 1 000 jobs /table / jour ● 10 000 colonnes /table ● ... 12/34#BigQuery #DevFestToulouse @aurelievache https://cloud.google.com/bigquery/quota-policy
  • 13. Coûts Gratuit : Chargement des données + Export des données + tables lues + copies de tables + données dans le cache. Requêtes 5$ par To de requêtes 0,05$/Go Stockage Insertion ● 0,02$/Go/mois ● 0,01$/Go/mois long term storage 13/34#BigQuery #DevFestToulouse @aurelievache https://cloud.google.com/bigquery/#pricing
  • 14. Moteur de stockage : ColumnIO (2006-2015) 14/34#BigQuery #DevFestToulouse @aurelievache SELECT play_count FROM songs WHERE name = “Here Comes The Sun”; Decompress Filter xc*@6j c8!af 8ec2(*& 7h!%d2A a7c%a1 c-%1G! F$#h5 rm7y5 a%6%# H#$$i 4t#@h @#Ds {5375, Hey Jude} {2188, I Want to Hold Your Hand} {9363, While My Guitar Gently Weeps} {9502, My Michelle} {7383, Here Comes The Sun} {3912, Strawberry Fields Forever} Here Comes The Sun
  • 15. Moteur de stockage : Capacitor (2016-now) 15/34#BigQuery #DevFestToulouse @aurelievache SELECT play_count FROM songs WHERE name = “Here Comes The Sun”; Filter CompressDecompress {7833} xc*@6j c8!af 8ec2(*& 7h!%d2A a7c%a1 c-%1G! F$#h5 rm7y5 a%6%# H#$$i 4t#@h @#Ds 4t#@h Here Comes The Sun
  • 16. Dremel == BigQuery 16/34#BigQuery #DevFestToulouse @aurelievache ● Long-lived Serving Tree Distributed Storage Leaf Leaf LeafLeaf Mixer 1Mixer 1 ● Partial Reduction ● Columnar Storage ● Diskless data flow Mixer 0 Architecture de Dremel : 2006 - 2015
  • 17. Dremel X == BigQuery 17/34#BigQuery #DevFestToulouse @aurelievache Architecture de Dremel X : 2015 - maintenant Master Distributed Storage Shard Shard ShardShard ● Columnar Storage ● Dynamic Serving Tree Shard Shard Shard Shard Shard Shard Shard Shard
  • 18. Composants Project (billing, top-level container) Dataset (organization, access control) Job (query, import, export, copy) Table (data with schema) <project>:<dataset>.<table_name> 18/34#BigQuery #DevFestToulouse @aurelievache
  • 19. Comment charger vos données ? 19/34#BigQuery #DevFestToulouse @aurelievache CSV JSON Avro Google Sheets
  • 20. Comment charger vos données ? 20/34#BigQuery #DevFestToulouse @aurelievache JSON Avro
  • 22. Exemple en JAVA // insert data List<TableDataInsertAllRequest.Rows> rowList = new ArrayList<TableDataInsertAllRequest.Rows>(); rowList.add(new TableDataInsertAllRequest.Rows() .setInsertId(""+System.currentTimeMillis()) .setJson(new TableRow().set("adt", null))); TableDataInsertAllRequest content = new TableDataInsertAllRequest().setRows(rowList); TableDataInsertAllResponse response = bigquery.tabledata().insertAll( PROJECT_NUMBER, DATASET_ID, TABLE_ID, content).execute(); System.out.println("kind="+response.getKind()); System.out.println("errors="+response.getInsertErrors()); System.out.println(response.toPrettyString()); 22/34#BigQuery #DevFestToulouse @aurelievache
  • 23. Fonctions intéressantes : - TOP - TABLE_DATE_RANGE - REGEXP_MATCH / REGEXP_REPLACE / REGEXP_EXTRACT BigQuery SQL Variante de l’instruction SELECT SQL standard … FROM (TABLE_DATE_RANGE(DevFest.toulouse_, TIMESTAMP('2016-11-02'), TIMESTAMP('2016-11-03'))) 23/34#BigQuery #DevFestToulouse @aurelievache
  • 24. Demo Time ! 24/34#BigQuery #DevFestToulouse @aurelievache
  • 25. Mais attention : - Activer Standard SQL - Quotas - /! UPDATE tables partitionnées NOK https://cloud.google.com/bigquery/sql-reference/data-manipulation-language Data Manipulation Language INSERT, UPDATE et DELETE dans BigQuery !!! QueryResponse query = bigquery.jobs().query( this.projectId, new QueryRequest() .setTimeoutMs(timeout) .setQuery(query) .setUseLegacySql(useLegacySql)) .execute(); 25/34#BigQuery #DevFestToulouse @aurelievache
  • 26. Visualisation et BI ETL Third-party tools Connecteurs 26/34#BigQuery #DevFestToulouse @aurelievache
  • 27. État des lieux - Cluster Hadoop - 12 serveurs sous Cloudera Manager v4.6 et CDH 4.3.0 - Facturation de l'électricité pour une dizaine de serveurs : environ 2 000 kilowatt heure / semaine : soit une centaine d'euros par mois - Coût hardware - Coût opérationnel - Évènement : Changement et réduction d’équipe 27/34#BigQuery #DevFestToulouse @aurelievache
  • 28. - Coût hardware : 0 € - Coût opé : 0 € Passage à Google BigQuery 28/34#BigQuery #DevFestToulouse @aurelievache
  • 30. - Bien structurer ses données - Table sharding (old way) - Table partitioning (new way) - Utiliser le query cache - Définir une date d’expiration lors de la création de la table Astuces/Tips 30/34#BigQuery #DevFestToulouse @aurelievache 20160101 20160102 20160131 sales
  • 31. - Attention aux jointures - Possibilité de partager un dataset/des rows à des collaborateurs - Format date : UTC ! - Ne pas utiliser l'instruction SELECT * FROM - UDF (User-Defined Functions) Astuces/Tips 31/34#BigQuery #DevFestToulouse @aurelievache
  • 32. - Google presentation : https://www.youtube.com/watch?v=eyBK9nj-7AA - SLA : https://cloud.google.com/bigquery/sla - Pricing calculator : https://cloud.google.com/products/calculator/ - SQL : https://cloud.google.com/bigquery/query-reference - Table partitioning : https://cloud.google.com/bigquery/docs/partitioned-tables - Tuto : Real-time data analysis with Kubernetes, Cloud Pub/Sub, and BigQuery - Moving tables from Redshift to BigQuery : https://github.com/iconara/bigshift Liens 32/34#BigQuery #DevFestToulouse @aurelievache
  • 33. Pour aller plus loin ... 33/34#BigQuery #DevFestToulouse @aurelievache
  • 37. Ils utilisent BigQuery +2#BigQuery #DevFestToulouse @aurelievache