SlideShare una empresa de Scribd logo
1 de 27
Clickhouse: Una
BBDD orientada a
columnas
Hola!
Soy Fco. Javier Sanz Olivera
Data Engineer en Nokia.
@fco_javier_sanz javier-sanz
2
Y en el principio fue …
SQL
1
SQL
Las BBDD SQL fueron durante de años la casí el única
forma de persistir los datos de las aplicaciones
4
Y de repente el mundo
cambió…
2
6
Online Analytical
Processing
(OLAP)
Bases de datos orientadas a
calcular: Estadisticas, KPIs,
TimeSeries, etc.
7
Que es una base de datos clásica (Row
Oriented)
date serial_number model capacity_bytes failure
01/10/2017 Z305B2QN ST4000DM000 4,00079E+12 0
01/10/2017 PL1331LAHG1S4H
HGST
HMS5C4040ALE640 4,00079E+12 1
01/10/2017 ZA16NQJR ST8000NM0055 8,00156E+12 0
8
“SELECT *
FROM drive_stats
WHERE
serial_number == ‘PL1331LAHG1S4H’
AND failure == 1
9
Dos posibles ejecuciones
Scan
Iterando registro a registro en
toda la tabla
10
Usando Índices
Buscando en el el índice la
clave y obteniendo los
registros
“SELECT date, avg(failure)
FROM drive_stats
WHERE date > ’2015-12-31’AND
GROUP BY date
11
Que es una base de datos clásica (Row
Oriented)
date serial_number model capacity_bytes failure
01/10/2017 Z305B2QN ST4000DM000 4,00079E+12 0
01/10/2017 PL1331LAHG1S4H
HGST
HMS5C4040ALE640 4,00079E+12 1
01/10/2017 ZA16NQJR ST8000NM0055 8,00156E+12 0
12
Almacenamient
o en Columnas
13
serial_number Z305B2QN PL1331LAHG1S4H ZA16NQJR PL1331LAHEYUGH
date 01/10/2017 02/10/2017 05/10/2017 06/10/2017
model ST4000DM000
HGST
HMS5C4040ALE640 ST8000NM0055
Hitachi
HDS5C4040ALE630
capacity_bytes 4,00079E+12 4,00079E+12 8,00156E+12 8,00156E+12
failure 0 1 0 1
14
Beneficios
● Cada columna puede comprimirse con un método
distinto dependiendo del tipo de datos.
● Esto puede hacer la compresión muy eficiente.
● Memoria contigua y ejecución vectorial
(Instrucciones SIMD).
15
On-Cloud
Implementaciones
On-Premise (Open Source)
16
ClickHous
e
17
Que es ClickHouse?
Creada por Yandex Open Source (Apache License
2.0)
18
Resticiones de uso
No Hay Transacciones
No es una OLTP si tu caso de
uso las requiere no es tu
BBDD.
Datos Inmutables
No hay Updates o Deletes.
Una vez que hay un dato este
se queda ahí y no se puede
borrar de forma individual.
Dialecto SQL
Implementación lejos del
estándar (no Updates/
Deletes). Joins limitados.
19
No hay particiones
Por ninguna columna salvo
fecha (todas las tablas que
usan megetrees necesitan
una). En este caso los datos se
ordenan de forma mensual
Falta de Herramientas
Sobre todo de administración
y Enterprise. Si soporta
herramientas Web de
Business Intelligence.
Otras Limitaciones
No hay restriciones no hay
miliseconds, eventual
consistency, no hay
conversion implicita de tipos,
etc.
Table engines
En Memoria
● Memory
● Buffer
● Join
● Set
Por interfaz
● Distribuida
● Merge Tree
● Diccionario
En Disco
● Log, Tiny Log
● Merge Tree
20
Merge Trees
● Replicados y distribuidos (Soportan Shardes y
Replicas)
● Ordenados por una clave primaria y una Mes
(Siempre una fecha esta también parte de la clave
…
ENGINE = MergeTree(date, (serial_number, date), 8192);
21
Carga de Datos
● Grandes bloques de Insert’s son muy eficientes
● Inserción Atómica
● Soporta varios formatos: CSV, TSV, JSON, binario
nativo
22
SQL
● Aliasing en cualquier expresion
● Arrays, tipos de datos anidados, lamba expresiones,
funciones de orden superior, array join
● Un montón de “domain specific” funciones y
aggregaciones
● Diccionarios para soportar variabilidad (la sintaxis no es
muy intuitiba …)
23
Propietaria
Business Intelligence
Open Source
24
25
Demo
26
Gracias!
¿Preguntas?
@fco_javier_sanz javier-sanz
Credits
Special thanks to all the people who made and
released these awesome resources for free:
● Presentation template by SlidesCarnival
● Photographs by Unsplash
● Designs by Freepik
27

Más contenido relacionado

Similar a Click houset3chfest

SqlSat247 Bogota - SQL Server Modo Tabular vs Modo Multidimensional - Pros y ...
SqlSat247 Bogota - SQL Server Modo Tabular vs Modo Multidimensional - Pros y ...SqlSat247 Bogota - SQL Server Modo Tabular vs Modo Multidimensional - Pros y ...
SqlSat247 Bogota - SQL Server Modo Tabular vs Modo Multidimensional - Pros y ...Guillermo Taylor
 
cuadro_comparativo_SGBD_top_10.docx (1).docx
cuadro_comparativo_SGBD_top_10.docx (1).docxcuadro_comparativo_SGBD_top_10.docx (1).docx
cuadro_comparativo_SGBD_top_10.docx (1).docxIgor Rodriguez
 
13 14 keynote dando sentido al internet de las cosas, infobright
13 14 keynote dando sentido al internet de las cosas, infobright13 14 keynote dando sentido al internet de las cosas, infobright
13 14 keynote dando sentido al internet de las cosas, infobrightSoftware Guru
 
Top 10 SQL Server Mistakes
Top 10 SQL Server MistakesTop 10 SQL Server Mistakes
Top 10 SQL Server MistakesAdrian Miranda
 
Big Data - Desarrollando soluciones efectivas
Big Data - Desarrollando soluciones efectivasBig Data - Desarrollando soluciones efectivas
Big Data - Desarrollando soluciones efectivasJoseph Lopez
 
Universidad de Concepción - EDUTIC 2011
Universidad de Concepción - EDUTIC 2011Universidad de Concepción - EDUTIC 2011
Universidad de Concepción - EDUTIC 2011EDUTIC
 
Administrando SQL Server, mejores practicas para un DBA
Administrando SQL Server, mejores practicas para un DBAAdministrando SQL Server, mejores practicas para un DBA
Administrando SQL Server, mejores practicas para un DBASpanishPASSVC
 
Cómo construir tu propia data platform. From zero to hero.
Cómo construir tu propia data platform. From zero to hero. Cómo construir tu propia data platform. From zero to hero.
Cómo construir tu propia data platform. From zero to hero. GustavoMartin46
 
Optimizacion de Modelos Multidimensionales con Analysis Services
Optimizacion de Modelos Multidimensionales con Analysis ServicesOptimizacion de Modelos Multidimensionales con Analysis Services
Optimizacion de Modelos Multidimensionales con Analysis ServicesMarco Tulio Gómez Reyes
 
Plataformas Analíticas como Soporte en la Era del Big Data
Plataformas Analíticas como Soporte en la Era del Big DataPlataformas Analíticas como Soporte en la Era del Big Data
Plataformas Analíticas como Soporte en la Era del Big DataDMC Perú
 
Sql server2008 Revision
Sql server2008 RevisionSql server2008 Revision
Sql server2008 Revisionayudamejebuz
 
SQL Server 2014 Mejoras del DB Engine
SQL Server 2014 Mejoras del DB EngineSQL Server 2014 Mejoras del DB Engine
SQL Server 2014 Mejoras del DB EngineEduardo Castro
 
vision general base de datos.pdf
vision general base de datos.pdfvision general base de datos.pdf
vision general base de datos.pdfssuser948499
 
2016 ULL Cabildo KEEDIO - Arquitecturas Big Data
2016 ULL Cabildo KEEDIO - Arquitecturas Big Data2016 ULL Cabildo KEEDIO - Arquitecturas Big Data
2016 ULL Cabildo KEEDIO - Arquitecturas Big DataKEEDIO
 
Global Azure Bootcamp 2016 Bogota SQL2016 dba IaaS PaaS v4
Global Azure Bootcamp 2016 Bogota SQL2016 dba IaaS PaaS v4Global Azure Bootcamp 2016 Bogota SQL2016 dba IaaS PaaS v4
Global Azure Bootcamp 2016 Bogota SQL2016 dba IaaS PaaS v4Julián Castiblanco
 
Gánale la partida a tu SQL Server, configuración ideal para que todo vaya bie...
Gánale la partida a tu SQL Server, configuración ideal para que todo vaya bie...Gánale la partida a tu SQL Server, configuración ideal para que todo vaya bie...
Gánale la partida a tu SQL Server, configuración ideal para que todo vaya bie...SolidQ
 
La estandarización y automatización como factores clave para el éxito de una ...
La estandarización y automatización como factores clave para el éxito de una ...La estandarización y automatización como factores clave para el éxito de una ...
La estandarización y automatización como factores clave para el éxito de una ...confluent
 
INTRODUCCION A BASE DE DATOS
INTRODUCCION A BASE DE DATOS INTRODUCCION A BASE DE DATOS
INTRODUCCION A BASE DE DATOS JoelChoquetacna
 
BusinessIntelligence Introduction
BusinessIntelligence IntroductionBusinessIntelligence Introduction
BusinessIntelligence Introductionandres hurtado
 

Similar a Click houset3chfest (20)

SqlSat247 Bogota - SQL Server Modo Tabular vs Modo Multidimensional - Pros y ...
SqlSat247 Bogota - SQL Server Modo Tabular vs Modo Multidimensional - Pros y ...SqlSat247 Bogota - SQL Server Modo Tabular vs Modo Multidimensional - Pros y ...
SqlSat247 Bogota - SQL Server Modo Tabular vs Modo Multidimensional - Pros y ...
 
cuadro_comparativo_SGBD_top_10.docx (1).docx
cuadro_comparativo_SGBD_top_10.docx (1).docxcuadro_comparativo_SGBD_top_10.docx (1).docx
cuadro_comparativo_SGBD_top_10.docx (1).docx
 
13 14 keynote dando sentido al internet de las cosas, infobright
13 14 keynote dando sentido al internet de las cosas, infobright13 14 keynote dando sentido al internet de las cosas, infobright
13 14 keynote dando sentido al internet de las cosas, infobright
 
Top 10 SQL Server Mistakes
Top 10 SQL Server MistakesTop 10 SQL Server Mistakes
Top 10 SQL Server Mistakes
 
Big Data - Desarrollando soluciones efectivas
Big Data - Desarrollando soluciones efectivasBig Data - Desarrollando soluciones efectivas
Big Data - Desarrollando soluciones efectivas
 
Universidad de Concepción - EDUTIC 2011
Universidad de Concepción - EDUTIC 2011Universidad de Concepción - EDUTIC 2011
Universidad de Concepción - EDUTIC 2011
 
Administrando SQL Server, mejores practicas para un DBA
Administrando SQL Server, mejores practicas para un DBAAdministrando SQL Server, mejores practicas para un DBA
Administrando SQL Server, mejores practicas para un DBA
 
Cómo construir tu propia data platform. From zero to hero.
Cómo construir tu propia data platform. From zero to hero. Cómo construir tu propia data platform. From zero to hero.
Cómo construir tu propia data platform. From zero to hero.
 
Optimizacion de Modelos Multidimensionales con Analysis Services
Optimizacion de Modelos Multidimensionales con Analysis ServicesOptimizacion de Modelos Multidimensionales con Analysis Services
Optimizacion de Modelos Multidimensionales con Analysis Services
 
Comparación SMBD
Comparación SMBDComparación SMBD
Comparación SMBD
 
Plataformas Analíticas como Soporte en la Era del Big Data
Plataformas Analíticas como Soporte en la Era del Big DataPlataformas Analíticas como Soporte en la Era del Big Data
Plataformas Analíticas como Soporte en la Era del Big Data
 
Sql server2008 Revision
Sql server2008 RevisionSql server2008 Revision
Sql server2008 Revision
 
SQL Server 2014 Mejoras del DB Engine
SQL Server 2014 Mejoras del DB EngineSQL Server 2014 Mejoras del DB Engine
SQL Server 2014 Mejoras del DB Engine
 
vision general base de datos.pdf
vision general base de datos.pdfvision general base de datos.pdf
vision general base de datos.pdf
 
2016 ULL Cabildo KEEDIO - Arquitecturas Big Data
2016 ULL Cabildo KEEDIO - Arquitecturas Big Data2016 ULL Cabildo KEEDIO - Arquitecturas Big Data
2016 ULL Cabildo KEEDIO - Arquitecturas Big Data
 
Global Azure Bootcamp 2016 Bogota SQL2016 dba IaaS PaaS v4
Global Azure Bootcamp 2016 Bogota SQL2016 dba IaaS PaaS v4Global Azure Bootcamp 2016 Bogota SQL2016 dba IaaS PaaS v4
Global Azure Bootcamp 2016 Bogota SQL2016 dba IaaS PaaS v4
 
Gánale la partida a tu SQL Server, configuración ideal para que todo vaya bie...
Gánale la partida a tu SQL Server, configuración ideal para que todo vaya bie...Gánale la partida a tu SQL Server, configuración ideal para que todo vaya bie...
Gánale la partida a tu SQL Server, configuración ideal para que todo vaya bie...
 
La estandarización y automatización como factores clave para el éxito de una ...
La estandarización y automatización como factores clave para el éxito de una ...La estandarización y automatización como factores clave para el éxito de una ...
La estandarización y automatización como factores clave para el éxito de una ...
 
INTRODUCCION A BASE DE DATOS
INTRODUCCION A BASE DE DATOS INTRODUCCION A BASE DE DATOS
INTRODUCCION A BASE DE DATOS
 
BusinessIntelligence Introduction
BusinessIntelligence IntroductionBusinessIntelligence Introduction
BusinessIntelligence Introduction
 

Click houset3chfest

  • 2. Hola! Soy Fco. Javier Sanz Olivera Data Engineer en Nokia. @fco_javier_sanz javier-sanz 2
  • 3. Y en el principio fue … SQL 1
  • 4. SQL Las BBDD SQL fueron durante de años la casí el única forma de persistir los datos de las aplicaciones 4
  • 5. Y de repente el mundo cambió… 2
  • 6. 6
  • 7. Online Analytical Processing (OLAP) Bases de datos orientadas a calcular: Estadisticas, KPIs, TimeSeries, etc. 7
  • 8. Que es una base de datos clásica (Row Oriented) date serial_number model capacity_bytes failure 01/10/2017 Z305B2QN ST4000DM000 4,00079E+12 0 01/10/2017 PL1331LAHG1S4H HGST HMS5C4040ALE640 4,00079E+12 1 01/10/2017 ZA16NQJR ST8000NM0055 8,00156E+12 0 8
  • 9. “SELECT * FROM drive_stats WHERE serial_number == ‘PL1331LAHG1S4H’ AND failure == 1 9
  • 10. Dos posibles ejecuciones Scan Iterando registro a registro en toda la tabla 10 Usando Índices Buscando en el el índice la clave y obteniendo los registros
  • 11. “SELECT date, avg(failure) FROM drive_stats WHERE date > ’2015-12-31’AND GROUP BY date 11
  • 12. Que es una base de datos clásica (Row Oriented) date serial_number model capacity_bytes failure 01/10/2017 Z305B2QN ST4000DM000 4,00079E+12 0 01/10/2017 PL1331LAHG1S4H HGST HMS5C4040ALE640 4,00079E+12 1 01/10/2017 ZA16NQJR ST8000NM0055 8,00156E+12 0 12
  • 14. serial_number Z305B2QN PL1331LAHG1S4H ZA16NQJR PL1331LAHEYUGH date 01/10/2017 02/10/2017 05/10/2017 06/10/2017 model ST4000DM000 HGST HMS5C4040ALE640 ST8000NM0055 Hitachi HDS5C4040ALE630 capacity_bytes 4,00079E+12 4,00079E+12 8,00156E+12 8,00156E+12 failure 0 1 0 1 14
  • 15. Beneficios ● Cada columna puede comprimirse con un método distinto dependiendo del tipo de datos. ● Esto puede hacer la compresión muy eficiente. ● Memoria contigua y ejecución vectorial (Instrucciones SIMD). 15
  • 18. Que es ClickHouse? Creada por Yandex Open Source (Apache License 2.0) 18
  • 19. Resticiones de uso No Hay Transacciones No es una OLTP si tu caso de uso las requiere no es tu BBDD. Datos Inmutables No hay Updates o Deletes. Una vez que hay un dato este se queda ahí y no se puede borrar de forma individual. Dialecto SQL Implementación lejos del estándar (no Updates/ Deletes). Joins limitados. 19 No hay particiones Por ninguna columna salvo fecha (todas las tablas que usan megetrees necesitan una). En este caso los datos se ordenan de forma mensual Falta de Herramientas Sobre todo de administración y Enterprise. Si soporta herramientas Web de Business Intelligence. Otras Limitaciones No hay restriciones no hay miliseconds, eventual consistency, no hay conversion implicita de tipos, etc.
  • 20. Table engines En Memoria ● Memory ● Buffer ● Join ● Set Por interfaz ● Distribuida ● Merge Tree ● Diccionario En Disco ● Log, Tiny Log ● Merge Tree 20
  • 21. Merge Trees ● Replicados y distribuidos (Soportan Shardes y Replicas) ● Ordenados por una clave primaria y una Mes (Siempre una fecha esta también parte de la clave … ENGINE = MergeTree(date, (serial_number, date), 8192); 21
  • 22. Carga de Datos ● Grandes bloques de Insert’s son muy eficientes ● Inserción Atómica ● Soporta varios formatos: CSV, TSV, JSON, binario nativo 22
  • 23. SQL ● Aliasing en cualquier expresion ● Arrays, tipos de datos anidados, lamba expresiones, funciones de orden superior, array join ● Un montón de “domain specific” funciones y aggregaciones ● Diccionarios para soportar variabilidad (la sintaxis no es muy intuitiba …) 23
  • 27. Credits Special thanks to all the people who made and released these awesome resources for free: ● Presentation template by SlidesCarnival ● Photographs by Unsplash ● Designs by Freepik 27

Notas del editor

  1. MariaDB -> InfiniDB
  2. Yandex Income 8700 milllones
  3. MariaDB -> InfiniDB