Clickhouse: Una BBDD orientada a columnas

Slides:



Advertisements
Presentaciones similares
FUNDAMENTALS OF THE JAVA PROGRAMMING LANGUAGE
Advertisements

SQL Server 2005 ADO.NET Javier Fernández Rodríguez Noviembre 2005, Sevilla Javier Fernández Rodríguez Noviembre 2005, Sevilla.
INDEXADO EN DW.
Teórico: Modelo Relacional
Julio Pacheco SQL SERVER 2005 XML APRENDIENDO CON EJEMPLOS.
EXPLAIN PLAN Cómo leer los resultados del EXPLAIN PLAN
Evaluación y Optimización de Consultas Láminas seleccionadas de las láminas de la Prof. María Esther Vidal.
SQL Lenguaje de consulta estructurado
SQL Básico Prof. Nelliud D. Torres.
Motores de almacenamiento en MySQL por Mario López y Juan A. Sánchez.
Bases de datos en la Web n Las bases de datos permiten almacenar de una forma estructurada y eficiente toda la información de un sitio web n Ventajas –Proporcionar.
Bases de Datos Oracle Optimización
Lenguaje Estructurado de Consultas
COMANDOS DML DML son las siglas de Data Manipulation Language y se refiere a los comandos que permiten a un usuario manipular los datos en un repositorio,
Programación en Visual Basic Lección #8: SQL Por Antonio F. Huertas.
Consultas SQL (Base de Datos)
LENGUAJE SQL.
COMANDOS DML DML son las siglas de Data Manipulation Language y se refiere a los comandos que permiten a un usuario manipular los datos en un repositorio,
Comandos de SQL Prog. Orientada a Eventos. Inserción de datos (INSERT) INSERT….VALUES INSERT INTO Tabla1 (Columna1, Columna2…) VALUES (‘ValorAlfa’, ValorNum…);
AA Gerardo Morgade Donato AA Isnel Leyva Herbella.
6 Triggers ORACLE - II Bases de datos II I-2014 Universidad del Cauca Ing. Wilson Ortega Bases de datos II I-2014 Universidad del Cauca Ing. Wilson Ortega.
3 Cursores ORACLE Bases de datos II I-2014 Universidad del Cauca In. Wilson Ortega Bases de datos II I-2014 Universidad del Cauca In. Wilson Ortega.
Structure Query Languaje SQL. Introducción a SQL El lenguaje de consulta estructurado (SQL) es un lenguaje de base de datos normalizado, utilizado por.
DLM Transact SQL Sesión II Recuperación de información.
Querys a bases de datos con MS ACCESS. DEFINAMOS LOS TERMINOS: DML=Lenguaje de manipulación de datos Las sentencias DML permiten generar consultas para.
DML Transact SQL Sesión X Triggers. Duración 2 Horas.
Lenguaje MySQL, DDL (Lenguaje de definición de datos) Ing. Linda Masias Morales.
6 Triggers ORACLE - III Bases de datos II I-2014 Universidad del Cauca Ing. Wilson Ortega Bases de datos II I-2014 Universidad del Cauca Ing. Wilson Ortega.
DML Transact SQL Sesión III Agrupando y resumiendo información.
Saregune CC 2009 SQL Introducción. base de datos Una estructura ordenada de información.
PHP Implantación de aplicaciones Web. Arquitectura web en PHP.
COMANDOS BÁSICOS MYSQL BASES DE DATOS 2 UNIVERSIDAD DE LA AMAZONIA.
Tienes un nuevo mensaje…. Ella era una chica timida, llamada Lina, no tenia amigosy solo convivia con su familia especialmente con su madre y su padre…
Curso Computación-Tecnología Médica
Lenguaje de manipulación de datos
MYSQL SQL: Lenguaje de consulta estructurado. Es un lenguaje de programación para trabajar con BD relacionadas, entre las cuales tenemos MYSQL, ORACLE,
SEGURIDAD SQL Usuarios, privilegios y perfiles.
Tipos de datos en MYSQL YEAR: Año. “YYYY” o “YY”
BEE-GAIA BUSCANDO TU VISIÓN.
SQL Prof. Martín Contreras.
SQL: Structured Query Language
SQL Prof. Martín Contreras.
Un viaje en el tiempo Leonel Abreu
Structure Query Languaje
SQL 2: Structured Query Language
Conectividad de Bases de Datos
Lenguaje Estructurado de Consultas
SQL Data Warehouse, casos de uso, escalabilidad, cargas de datos
SQL AVANZADO saregune CC 2009.
Bases de Datos Daniel Rojas UTN.
Optimización de SQL Server para IOT
Lenguaje de Manipulación de Datos
Orígenes Funciones Condicionales
UN EJEMPLO DE LECTURA CONSISTENTE EN INNODB
Join en MySQL.
Lenguaje SQL Contenidos Que es SQL ? Estructura de SQL
Structure Query Languaje
Base de Datos II 2da Parte. Propiedad ACID  La propiedad ACIDa es una carácterística de un DBMS para poder compartir datos en forma segura.  A :
Noviembre18, 2017 Concepción, Chile #sqlsatconce.
Aggregation framework con PyMongo
LA ACREDITACIÓN. La acreditación es el reconocimiento público y temporal a la institución educativa, área, programa o carrera profesional que voluntariamente.
Nuevas Características de SQL Server 2016
Universidad Alonso de Ojeda Facultad de Ingeniería
Estrategia Munus Camara Oscar Darío Pérez Pineda.
COHERENCIA Y PERTINENCIA DE LAS ACTIVIDADES DE APRENDIZAJE  Jonathan Cano  Maritza Tolentino Garrido.
Preparatoria Maestro Antonio Caso 1016
Nuevas Características de SQL Server 2019
Fundamentos de las Base de Datos. Contenido Que es una Base de Datos. La diferencia entre datos e informacion. Clasificacion de las base de datos. Importancia.
Optimización de consultas en SQL Server Crux Consultores, 2017.
Transcripción de la presentación:

Clickhouse: Una BBDD orientada a columnas

Hola! Soy Fco. Javier Sanz Olivera Data Engineer en Nokia. @fco_javier_sanz javier-sanz

Y en el principio fue … SQL 1 Y en el principio fue … SQL

SQL Las BBDD SQL fueron durante de años la casí el única forma de persistir los datos de las aplicaciones

Y de repente el mundo cambió… 2 Y de repente el mundo cambió…

Online Analytical Processing (OLAP) Bases de datos orientadas a calcular: Estadisticas, KPIs, TimeSeries, etc.

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 PL1331LAHG1S4H HGST HMS5C4040ALE640 1 ZA16NQJR ST8000NM0055 8,00156E+12

SELECT * FROM drive_stats WHERE serial_number == ‘PL1331LAHG1S4H’ AND failure == 1

Dos posibles ejecuciones Usando Índices Buscando en el el índice la clave y obteniendo los registros Scan Iterando registro a registro en toda la tabla

SELECT date, avg(failure) FROM drive_stats WHERE date > ’2015-12-31’AND GROUP BY date

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 PL1331LAHG1S4H HGST HMS5C4040ALE640 1 ZA16NQJR ST8000NM0055 8,00156E+12

Almacenamiento en Columnas

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 8,00156E+12 failure 1

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).

Implementaciones On-Cloud On-Premise (Open Source) MariaDB -> InfiniDB

ClickHouse

Que es ClickHouse? Creada por Yandex Open Source (Apache License 2.0) Yandex Income 8700 milllones

Resticiones de uso No Hay Transacciones Datos Inmutables Dialecto SQL 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. 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 Por interfaz En Disco Memory Buffer Join Set Distribuida Merge Tree Diccionario En Disco Log, Tiny Log Merge Tree

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);

Carga de Datos Grandes bloques de Insert’s son muy eficientes Inserción Atómica Soporta varios formatos: CSV, TSV, JSON, binario nativo

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 …)

Business Intelligence Propietaria Open Source MariaDB -> InfiniDB

Demo

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