CarbonData
CarbonData es un nuevo formato de almacén de datos nativo de Apache Hadoop. CarbonData permite consultas interactivas más rápidas sobre PetaBytes de datos utilizando técnicas avanzadas de almacenamiento de columnas, índice, compresión y codificación para mejorar la eficiencia informática. Además, el CarbonData es también un motor de análisis de alto rendimiento que integra fuentes de datos con Spark.
El propósito de utilizar CarbonData es proporcionar una respuesta rápida a consultas de ad hoc de big data. Esencialmente, CarbonData es un motor de procesamiento analítico en línea (OLAP), que almacena datos utilizando tablas similares a las del sistema de gestión de bases de datos relacionales (RDBMS). Puede importar más de 10 TB de datos a tablas creadas en formato CarbonData y CarbonData organiza y almacena automáticamente los datos mediante los índices multidimensionales comprimidos. Después de cargar los datos en CarbonData, CarbonData responde a consultas de ad hoc en segundos.
CarbonData integra fuentes de datos en el ecosistema de Spark. Puede utilizar Spark SQL para consultar y analizar datos, o utilizar la herramienta de terceros ThriftServer proporcionada por Spark para conectarse a Spark SQL.
Caracterísiticas de CarbonData
- SQL CarbonData es compatible con Spark SQL y admite operaciones de consulta SQL realizadas en Spark SQL.
- Definición de conjunto de datos de table simple: CarbonData le permite definir y crear conjuntos de datos mediante sentencias de lenguaje de definición de datos (DDL) fáciles de usar. CarbonData DDL es flexible y fácil de usar, y puede definir tables complejos.
- Fácil gestión de datos: CarbonData ofrece varias funciones de gestión de datos para la carga y el mantenimiento de datos. Puede cargar datos históricos y cargar datos nuevos de forma incremental. Los datos cargados se pueden eliminar de acuerdo con el tiempo de carga y las operaciones de carga de datos específicos se pueden cancelar.
- El formato de archivo CarbonData es un almacén de columnas en HDFS. Tiene muchas características que tiene un formato de columna moderno, como el esquema de compresión y divisible.
Características únicas de CarbonData
- Almacena datos junto con el índice: Acelera significativamente el rendimiento de la consulta y reduce los análisis de E/S y los recursos de CPU, cuando hay filtros en la consulta. El índice de CarbonData consta de múltiples niveles de índices. Un marco de procesamiento puede aprovechar este índice para reducir la tarea que necesita programar y procesar, y también puede realizar omitir el escaneo en una unidad de grano más fino (llamada blocklet) en el escaneo del lado de la tarea en lugar de escanear todo el archivo.
- Datos codificados operables: A través de la compatibilidad con esquemas de compresión y codificación globales eficientes, CarbonData puede consultar datos comprimidos/codificados. Los datos pueden ser convertidos justo antes de devolver los resultados a los usuarios, que es "materializado tarde".
- Soporta varios casos de uso con un solo formato de datos: como consulta interactiva de estilo OLAP, acceso secuencial (big scan) y acceso aleatorio (narrow scan).
Tecnologías y ventajas clave de CarbonData
- Respuesta rápida a la consulta: CarbonData ofrece consultas de alto rendimiento. La velocidad de consulta de CarbonData es 10 veces mayor que la de Spark SQL. Utiliza formatos de datos dedicados y aplica múltiples tecnologías de índice, código de diccionario global y múltiples optimizaciones push-down, proporcionando una respuesta rápida a las consultas de datos a nivel de TB.
- Compresión de datos eficiente: CarbonData comprime los datos combinando los algoritmos de compresión ligeros y pesados. Esto ahorra significativamente entre un 60% y un 80% de espacio de almacenamiento de datos y el costo de almacenamiento de hardware.
Para obtener más información sobre la arquitectura y los principios de CarbonData, consulte https://carbondata.apache.org/.