Apache Phoenix
Apache Phoenix es un motor de bases de datos relacionales, altamente paralelizado y de código abierto compatible con OLTP para Hadoop. Utiliza Apache HBase como medio de almacenamiento. Permite a los desarrolladores acceder a grandes conjuntos de datos en tiempo real a través de una interfaz SQL conocida.
- API JDBC y SQL estándar con funciones completas para transacciones ACID
- Compatibilidad con esquema en lectura en tiempo de ejecución con datos existentes en HBase
- Acceso a datos almacenados y creados en otros productos Hadoop, como Spark, Hive, Pig, Flume y MapReduce
Finalidad de Phoenix
Apache HBase proporciona acceso aleatorio en tiempo real a datos en Hadoop. Está adaptado adecuadamente al ecosistema Hadoop. Apache Phoenix simplifica el almacén de datos subyacente al permitir consultar los datos con SQL estándar a través del controlador JDBC. Apache Phoenix ofrece funciones como índices secundarios para poder acelerar las consultas sin depender de diseños de clave de fila específicos.
Apache Phoenix también es altamente paralelizado cuando las consultas de agregación se ejecutan en los nodos donde se almacenan los datos. Con ello, reduce ampliamente la necesidad de enviar datos a través de la red.
Feature | Description |
---|---|
Familiar | Query data with a SQL-based language |
Fast | Real-time queries |
Reliable | Built on top of proven data store HBase |
Platform agnostic | Hortonworks’ Phoenix provides ODBC connector drivers, allowing you to connect to your dataset using familiar BI tools. |
Cómo funciona Phoenix
Phoenix ofrece un acceso rápido a grandes cantidades de datos. Un análisis de tabla completa con 100 millones de filas suele tardar 20 segundos (tabla estrecha en un clúster de tamaño medio). Este tiempo se reduce a unos pocos milisegundos si la consulta contiene filtros en las columnas clave. Para usar filtros en columnas no clave o no principales, se pueden añadir índices secundarios en estas columnas. De este modo, se logran resultados equivalentes a filtrar por columnas clave haciendo una copia de la tabla con columnas indexadas parte de la clave.
Razones para que Phoenix sea rápido incluso en análisis completos:
- Phoenix agrupa la consulta usando los límites de la región y los ejecuta en paralelo en el cliente utilizando un número de subprocesos configurable.
- Esta agregación se realiza en un coprocesador en el lado del servidor, lo que reduce la cantidad de datos que regresan al cliente en lugar de devolverlos todos.