Votre navigateur n'est pas compatible avec jmpress.js, vous avez donc une version dégradée de cette présentation.
Pour une meilleure experience, merci d'utiliser Chrome, Safari ou Firefox.
Le BigData au service de la BI

Tech : "Est-ce que mon serveur de plan #4 est aussi bon que les autres ?"
Compta : "Combien l'application iPhone PJ demande-t-elle d'itinéraires piétons en une année ?"
Métier : "Est-ce que l'application iPhone 2.3 est encore utilisée ?"
"Sur quels terminaux ?"
Communication : "Où sont partis les bretons pendant les dernières vacances d'été ?"
Traitements lents (sup à 24h)
Interfaces peu ergonomiques
Stockage difficilement scalable
Pourrais tu me dire, pour chaque POI
- Le nombre d'affichage en carte ?
- Le nombre d'ouvertures de fiches ?
- Le nombre de clics ?
- ...
Pour 5 000 000 de POI,
- au jour le jour,
- sur deux ans...
Pourrais tu catégoriser les utilisateurs
- selon leurs domicile/travail ?
- selon leurs consommation POI ?
- selon leurs habitudes de déplacement ?
- ...
Pour 12 000 000 d'utilisateurs,
- au jour le jour,
- sur deux ans...
Mais... c'est quoi ?
1000x plus rapide
Car il combine
- Indexes multi-dimensionnels (in-mem)
- Pré-agrégations (in-mem)
- Stockage sur disque orienté-colonne
Avril 2015
- Select * sans limit !
- Schémas de bdd non supportés
- ...
Depuis Tableau 9.0
Juin 2015
Le selecteur de dates relatives...
SELECT
`sqlproxy`.`referer_groupe` AS `referer_groupe`,
SUM(`sqlproxy`.`hit_count`) AS `sum_hit_count_ok`,
(
CASE WHEN
(
`sqlproxy`.`referer_groupe` = 'Mappy'
)
THEN 'Mappy' WHEN
(
`sqlproxy`.`referer_groupe` = 'Partenaires'
)
THEN 'Partenaires' WHEN
(
`sqlproxy`.`referer_groupe` = 'Solocal'
)
THEN 'Solocal' ELSE 'UNKNOW' END
)
AS `referer_groupe__groupe_`
FROM `default`.`bi_routemm_perf` `sqlproxy`
WHERE
(
(
`sqlproxy`.`date` >= CASE WHEN
(
IF
(
UNIX_TIMESTAMP(CONCAT(TO_DATE('2016-03-21 17:03:52'), ' 00:00:00'), 'yyyy-MM-dd HH:mm:ss') > 0,
FROM_UNIXTIME(UNIX_TIMESTAMP(DATE_ADD(TO_DATE(CONCAT(TO_DATE('2016-03-21 17:03:52'), ' 00:00:00')), CAST(CAST(-(DAY('2016-03-21 17:03:52') - 1) AS BIGINT) AS INT)), 'yyyy-MM-dd') + (UNIX_TIMESTAMP(CONCAT(TO_DATE('2016-03-21 17:03:52'), ' 00:00:00'), 'yyyy-MM-dd HH:mm:ss') - UNIX_TIMESTAMP(TO_DATE(CONCAT(TO_DATE('2016-03-21 17:03:52'), ' 00:00:00')), 'yyyy-MM-dd')), 'yyyy-MM-dd HH:mm:ss'),
DATE_ADD
(
CONCAT(TO_DATE('2016-03-21 17:03:52'), ' 00:00:00'),
CAST(CAST(-(DAY('2016-03-21 17:03:52') - 1) AS BIGINT) AS INT)
)
)
IS NOT NULL
AND -2 IS NOT NULL
)
THEN FROM_UNIXTIME
(
UNIX_TIMESTAMP(CONCAT((YEAR(IF(UNIX_TIMESTAMP(CONCAT(TO_DATE('2016-03-21 17:03:52'), ' 00:00:00'), 'yyyy-MM-dd HH:mm:ss') > 0, FROM_UNIXTIME(UNIX_TIMESTAMP(DATE_ADD(TO_DATE(CONCAT(TO_DATE('2016-03-21 17:03:52'), ' 00:00:00')), CAST(CAST(-(DAY('2016-03-21 17:03:52') - 1) AS BIGINT) AS INT)), 'yyyy-MM-dd') + (UNIX_TIMESTAMP(CONCAT(TO_DATE('2016-03-21 17:03:52'), ' 00:00:00'), 'yyyy-MM-dd HH:mm:ss') - UNIX_TIMESTAMP(TO_DATE(CONCAT(TO_DATE('2016-03-21 17:03:52'), ' 00:00:00')), 'yyyy-MM-dd')), 'yyyy-MM-dd HH:mm:ss'), DATE_ADD(CONCAT(TO_DATE('2016-03-21 17:03:52'), ' 00:00:00'), CAST(CAST(-(DAY('2016-03-21 17:03:52') - 1) AS BIGINT) AS INT))))+FLOOR((MONTH(IF(UNIX_TIMESTAMP(CONCAT(TO_DATE('2016-03-21 17:03:52'), ' 00:00:00'), 'yyyy-MM-dd HH:mm:ss') > 0, FROM_UNIXTIME(UNIX_TIMESTAMP(DATE_ADD(TO_DATE(CONCAT(TO_DATE('2016-03-21 17:03:52'), ' 00:00:00')), CAST(CAST(-(DAY('2016-03-21 17:03:52') - 1) AS BIGINT) AS INT)), 'yyyy-MM-dd') + (UNIX_TIMESTAMP(CONCAT(TO_DATE('2016-03-21 17:03:52'), ' 00:00:00'), 'yyyy-MM-dd HH:mm:ss') - UNIX_TIMESTAMP(TO_DATE(CONCAT(TO_DATE('2016-03-21 17:03:52'), ' 00:00:00')), 'yyyy-MM-dd')), 'yyyy-MM-dd HH:mm:ss'), DATE_ADD(CONCAT(TO_DATE('2016-03-21 17:03:52'), ' 00:00:00'), CAST(CAST(-(DAY('2016-03-21 17:03:52') - 1) AS BIGINT) AS INT))))+-2)/12)), CONCAT('-', CONCAT(LPAD(PMOD(MONTH(IF(UNIX_TIMESTAMP(CONCAT(TO_DATE('2016-03-21 17:03:52'), ' 00:00:00'), 'yyyy-MM-dd HH:mm:ss') > 0, FROM_UNIXTIME(UNIX_TIMESTAMP(DATE_ADD(TO_DATE(CONCAT(TO_DATE('2016-03-21 17:03:52'), ' 00:00:00')), CAST(CAST(-(DAY('2016-03-21 17:03:52') - 1) AS BIGINT) AS INT)), 'yyyy-MM-dd') + (UNIX_TIMESTAMP(CONCAT(TO_DATE('2016-03-21 17:03:52'), ' 00:00:00'), 'yyyy-MM-dd HH:mm:ss') - UNIX_TIMESTAMP(TO_DATE(CONCAT(TO_DATE('2016-03-21 17:03:52'), ' 00:00:00')), 'yyyy-MM-dd')), 'yyyy-MM-dd HH:mm:ss'), DATE_ADD(CONCAT(TO_DATE('2016-03-21 17:03:52'), ' 00:00:00'), CAST(CAST(-(DAY('2016-03-21 17:03:52') - 1) AS BIGINT) AS INT))))+-2, 12), 2, '0'), SUBSTR(IF(UNIX_TIMESTAMP(CONCAT(TO_DATE('2016-03-21 17:03:52'), ' 00:00:00'), 'yyyy-MM-dd HH:mm:ss') > 0, FROM_UNIXTIME(UNIX_TIMESTAMP(DATE_ADD(TO_DATE(CONCAT(TO_DATE('2016-03-21 17:03:52'), ' 00:00:00')), CAST(CAST(-(DAY('2016-03-21 17:03:52') - 1) AS BIGINT) AS INT)), 'yyyy-MM-dd') + (UNIX_TIMESTAMP(CONCAT(TO_DATE('2016-03-21 17:03:52'), ' 00:00:00'), 'yyyy-MM-dd HH:mm:ss') - UNIX_TIMESTAMP(TO_DATE(CONCAT(TO_DATE('2016-03-21 17:03:52'), ' 00:00:00')), 'yyyy-MM-dd')), 'yyyy-MM-dd HH:mm:ss'), DATE_ADD(CONCAT(TO_DATE('2016-03-21 17:03:52'), ' 00:00:00'), CAST(CAST(-(DAY('2016-03-21 17:03:52') - 1) AS BIGINT) AS INT))), 8)))), SUBSTR('yyyy-MM-dd HH:mm:ss',0,LENGTH(IF(UNIX_TIMESTAMP(CONCAT(TO_DATE('2016-03-21 17:03:52'), ' 00:00:00'), 'yyyy-MM-dd HH:mm:ss') > 0, FROM_UNIXTIME(UNIX_TIMESTAMP(DATE_ADD(TO_DATE(CONCAT(TO_DATE('2016-03-21 17:03:52'), ' 00:00:00')), CAST(CAST(-(DAY('2016-03-21 17:03:52') - 1) AS BIGINT) AS INT)), 'yyyy-MM-dd') + (UNIX_TIMESTAMP(CONCAT(TO_DATE('2016-03-21 17:03:52'), ' 00:00:00'), 'yyyy-MM-dd HH:mm:ss') - UNIX_TIMESTAMP(TO_DATE(CONCAT(TO_DATE('2016-03-21 17:03:52'), ' 00:00:00')), 'yyyy-MM-dd')), 'yyyy-MM-dd HH:mm:ss'), DATE_ADD(CONCAT(TO_DATE('2016-03-21 17:03:52'), ' 00:00:00'), CAST(CAST(-(DAY('2016-03-21 17:03:52') - 1) AS BIGINT) AS INT)))))),
'yyyy-MM-dd HH:mm:ss'
)
END
)
AND
(
`sqlproxy`.`date` < CASE WHEN
(
IF
(
UNIX_TIMESTAMP(CONCAT(TO_DATE('2016-03-21 17:03:52'), ' 00:00:00'), 'yyyy-MM-dd HH:mm:ss') > 0,
FROM_UNIXTIME(UNIX_TIMESTAMP(DATE_ADD(TO_DATE(CONCAT(TO_DATE('2016-03-21 17:03:52'), ' 00:00:00')), CAST(CAST(-(DAY('2016-03-21 17:03:52') - 1) AS BIGINT) AS INT)), 'yyyy-MM-dd') + (UNIX_TIMESTAMP(CONCAT(TO_DATE('2016-03-21 17:03:52'), ' 00:00:00'), 'yyyy-MM-dd HH:mm:ss') - UNIX_TIMESTAMP(TO_DATE(CONCAT(TO_DATE('2016-03-21 17:03:52'), ' 00:00:00')), 'yyyy-MM-dd')), 'yyyy-MM-dd HH:mm:ss'),
DATE_ADD
(
CONCAT(TO_DATE('2016-03-21 17:03:52'), ' 00:00:00'),
CAST(CAST(-(DAY('2016-03-21 17:03:52') - 1) AS BIGINT) AS INT)
)
)
IS NOT NULL
AND 1 IS NOT NULL
)
THEN FROM_UNIXTIME
(
UNIX_TIMESTAMP(CONCAT((YEAR(IF(UNIX_TIMESTAMP(CONCAT(TO_DATE('2016-03-21 17:03:52'), ' 00:00:00'), 'yyyy-MM-dd HH:mm:ss') > 0, FROM_UNIXTIME(UNIX_TIMESTAMP(DATE_ADD(TO_DATE(CONCAT(TO_DATE('2016-03-21 17:03:52'), ' 00:00:00')), CAST(CAST(-(DAY('2016-03-21 17:03:52') - 1) AS BIGINT) AS INT)), 'yyyy-MM-dd') + (UNIX_TIMESTAMP(CONCAT(TO_DATE('2016-03-21 17:03:52'), ' 00:00:00'), 'yyyy-MM-dd HH:mm:ss') - UNIX_TIMESTAMP(TO_DATE(CONCAT(TO_DATE('2016-03-21 17:03:52'), ' 00:00:00')), 'yyyy-MM-dd')), 'yyyy-MM-dd HH:mm:ss'), DATE_ADD(CONCAT(TO_DATE('2016-03-21 17:03:52'), ' 00:00:00'), CAST(CAST(-(DAY('2016-03-21 17:03:52') - 1) AS BIGINT) AS INT))))+FLOOR((MONTH(IF(UNIX_TIMESTAMP(CONCAT(TO_DATE('2016-03-21 17:03:52'), ' 00:00:00'), 'yyyy-MM-dd HH:mm:ss') > 0, FROM_UNIXTIME(UNIX_TIMESTAMP(DATE_ADD(TO_DATE(CONCAT(TO_DATE('2016-03-21 17:03:52'), ' 00:00:00')), CAST(CAST(-(DAY('2016-03-21 17:03:52') - 1) AS BIGINT) AS INT)), 'yyyy-MM-dd') + (UNIX_TIMESTAMP(CONCAT(TO_DATE('2016-03-21 17:03:52'), ' 00:00:00'), 'yyyy-MM-dd HH:mm:ss') - UNIX_TIMESTAMP(TO_DATE(CONCAT(TO_DATE('2016-03-21 17:03:52'), ' 00:00:00')), 'yyyy-MM-dd')), 'yyyy-MM-dd HH:mm:ss'), DATE_ADD(CONCAT(TO_DATE('2016-03-21 17:03:52'), ' 00:00:00'), CAST(CAST(-(DAY('2016-03-21 17:03:52') - 1) AS BIGINT) AS INT))))+1)/12)), CONCAT('-', CONCAT(LPAD(PMOD(MONTH(IF(UNIX_TIMESTAMP(CONCAT(TO_DATE('2016-03-21 17:03:52'), ' 00:00:00'), 'yyyy-MM-dd HH:mm:ss') > 0, FROM_UNIXTIME(UNIX_TIMESTAMP(DATE_ADD(TO_DATE(CONCAT(TO_DATE('2016-03-21 17:03:52'), ' 00:00:00')), CAST(CAST(-(DAY('2016-03-21 17:03:52') - 1) AS BIGINT) AS INT)), 'yyyy-MM-dd') + (UNIX_TIMESTAMP(CONCAT(TO_DATE('2016-03-21 17:03:52'), ' 00:00:00'), 'yyyy-MM-dd HH:mm:ss') - UNIX_TIMESTAMP(TO_DATE(CONCAT(TO_DATE('2016-03-21 17:03:52'), ' 00:00:00')), 'yyyy-MM-dd')), 'yyyy-MM-dd HH:mm:ss'), DATE_ADD(CONCAT(TO_DATE('2016-03-21 17:03:52'), ' 00:00:00'), CAST(CAST(-(DAY('2016-03-21 17:03:52') - 1) AS BIGINT) AS INT))))+1, 12), 2, '0'), SUBSTR(IF(UNIX_TIMESTAMP(CONCAT(TO_DATE('2016-03-21 17:03:52'), ' 00:00:00'), 'yyyy-MM-dd HH:mm:ss') > 0, FROM_UNIXTIME(UNIX_TIMESTAMP(DATE_ADD(TO_DATE(CONCAT(TO_DATE('2016-03-21 17:03:52'), ' 00:00:00')), CAST(CAST(-(DAY('2016-03-21 17:03:52') - 1) AS BIGINT) AS INT)), 'yyyy-MM-dd') + (UNIX_TIMESTAMP(CONCAT(TO_DATE('2016-03-21 17:03:52'), ' 00:00:00'), 'yyyy-MM-dd HH:mm:ss') - UNIX_TIMESTAMP(TO_DATE(CONCAT(TO_DATE('2016-03-21 17:03:52'), ' 00:00:00')), 'yyyy-MM-dd')), 'yyyy-MM-dd HH:mm:ss'), DATE_ADD(CONCAT(TO_DATE('2016-03-21 17:03:52'), ' 00:00:00'), CAST(CAST(-(DAY('2016-03-21 17:03:52') - 1) AS BIGINT) AS INT))), 8)))), SUBSTR('yyyy-MM-dd HH:mm:ss',0,LENGTH(IF(UNIX_TIMESTAMP(CONCAT(TO_DATE('2016-03-21 17:03:52'), ' 00:00:00'), 'yyyy-MM-dd HH:mm:ss') > 0, FROM_UNIXTIME(UNIX_TIMESTAMP(DATE_ADD(TO_DATE(CONCAT(TO_DATE('2016-03-21 17:03:52'), ' 00:00:00')), CAST(CAST(-(DAY('2016-03-21 17:03:52') - 1) AS BIGINT) AS INT)), 'yyyy-MM-dd') + (UNIX_TIMESTAMP(CONCAT(TO_DATE('2016-03-21 17:03:52'), ' 00:00:00'), 'yyyy-MM-dd HH:mm:ss') - UNIX_TIMESTAMP(TO_DATE(CONCAT(TO_DATE('2016-03-21 17:03:52'), ' 00:00:00')), 'yyyy-MM-dd')), 'yyyy-MM-dd HH:mm:ss'), DATE_ADD(CONCAT(TO_DATE('2016-03-21 17:03:52'), ' 00:00:00'), CAST(CAST(-(DAY('2016-03-21 17:03:52') - 1) AS BIGINT) AS INT)))))),
'yyyy-MM-dd HH:mm:ss'
)
END
)
)
GROUP BY (CASE WHEN (`sqlproxy`.`referer_groupe` = 'Mappy') THEN 'Mappy' WHEN (`sqlproxy`.`referer_groupe` = 'Partenaires') THEN 'Partenaires' WHEN (`sqlproxy`.`referer_groupe` = 'Solocal') THEN 'Solocal' ELSE 'UNKNOW' END),
`sqlproxy`.`referer_groupe`
SELECT
(CASE WHEN (`bi_routemm_perf`.`referer_groupe` = 'Mappy') THEN 'Mappy' WHEN (`bi_routemm_perf`.`referer_groupe` = 'Partenaires') THEN 'Partenaires' WHEN (`bi_routemm_perf`.`referer_groupe` = 'Solocal') THEN 'Solocal' ELSE 'UNKNOW' END) AS `referer_groupe__groupe_`,
`bi_routemm_perf`.`referer_groupe` AS `referer_groupe`,
SUM(`bi_routemm_perf`.`hit_count`) AS `sum_hit_count_ok`
FROM `default`.`bi_routemm_perf` `bi_routemm_perf`
WHERE
(
(`bi_routemm_perf`.`date` >= CAST('2014-01-01 00:00:00' AS TIMESTAMP))
AND (`bi_routemm_perf`.`date` < CAST('2017-01-01 00:00:00' AS TIMESTAMP))
)
GROUP BY (CASE WHEN (`bi_routemm_perf`.`referer_groupe` = 'Mappy') THEN 'Mappy' WHEN (`bi_routemm_perf`.`referer_groupe` = 'Partenaires') THEN 'Partenaires' WHEN (`bi_routemm_perf`.`referer_groupe` = 'Solocal') THEN 'Solocal' ELSE 'UNKNOW' END),
`bi_routemm_perf`.`referer_groupe`
En quelques mois
Les utilisateurs jouent avec5 milliardsde lignes,
via des interfaces graphiques
intuitives,sexyetultra-rapides.
Nous sommes allés beaucoup plus loin que ce que nous avions en tête au début du projet.
En route vers de nouveaux marchés
Utiliser la barre espace ou les flèches pour naviguer.
* Présentation optimisée pour chrome (transitions plus fluides)