Presto, o base de datos Presto (PrestoDB), es un motor SQL Query distribuido de código abierto que puede consultar grandes conjuntos de datos de diferentes fuentes, lo que permite a las compañías abordar problemas de datos a escala.
Presto ofrece a organizaciones de todos los tamaños una manera rápida y eficiente de analizar big data de diversas fuentes, incluidos los sistemas on-premise y la nube. También ayuda a las compañías a consultar petabytes de datos por medio de sus capacidades SQL actuales, sin tener que aprender un nuevo idioma.
En la actualidad, Presto se usa más para ejecutar consultas en Hadoop y otros proveedores de almacenamiento de datos comunes, lo que permite a los usuarios administrar varios lenguajes de consulta e interfaces para bases de datos y almacenamiento.
En la era digital, el análisis de big data se está convirtiendo rápidamente en una competencia fundamental para las empresas, independientemente de su tamaño o industria. La capacidad de recopilar, almacenar y analizar grandes cantidades de datos relacionados con los procesos empresariales, las preferencias de los clientes y las tendencias del mercado es extremadamente valiosa. La principal importancia de Presto para el análisis de datos es su capacidad de analizar los datos independientemente de dónde se almacenen los datos y sin tener que moverlos primero a un sistema más estructurado, como un almacén de datos o un lago de datos.
Descubra el poder de integrar una estrategia de data lakehouse en su arquitectura de datos, incluyendo mejoras para escalar la IA y oportunidades de optimización de costos.
Presto se ha convertido en una herramienta popular para científicos e ingenieros de datos que trabajan con múltiples lenguajes de consulta, bases de datos aisladas y diferentes tipos de almacenamiento. Sus capacidades de alto rendimiento permiten a los usuarios consultar grandes volúmenes de datos en tiempo real, independientemente de dónde se encuentren los datos, utilizando una sencilla interfaz ANSI SQL.
La velocidad y el rendimiento de Presto para ejecutar consultas en grandes volúmenes de datos lo han convertido en una herramienta indispensable para algunas de las empresas más grandes del mundo, como Facebook, Airbnb, Netflix, Microsoft, Apple (iOS) y AWS (Athena y Amazon 3).
La arquitectura Presto es única, ya que está diseñada para consultar datos sin importar dónde se almacenen los datos, lo que lo hace más escalable y eficiente que otras soluciones similares. Las consultas de Presto permiten a los ingenieros utilizar los datos sin tener que moverlos físicamente de una ubicación a otra. Se trata de una capacidad importante, ya que las organizaciones se enfrentan a una cantidad cada vez mayor de datos que necesitan almacenar y analizar.
Presto se creó para que los ingenieros y científicos de datos pudieran consultar de forma interactiva grandes cantidades de datos, independientemente de la fuente o el tipo de almacenamiento. Como Presto no almacena datos, sino que se comunica con una base de datos independiente para sus consultas, es más flexible que sus competidores y puede ampliar o reducir rápidamente las consultas en función de las necesidades cambiantes de la organización.
Según un informe técnico de IBM, Presto, optimizado para cargas de trabajo de business intelligence (BI), puede ayudar a las empresas a optimizar los precios de sus almacenes de datos y reducir los costos hasta un 50 %.
Estos son algunos de los beneficios clave de utilizar un flujo de trabajo de Presto:
A medida que aumenta el tamaño de los almacenes de datos y la cantidad de usuarios que realizan consultas, no es raro que las empresas vean cómo sus costos aumentan rápidamente. Sin embargo, Presto está optimizado para grandes cantidades de consultas pequeñas, lo que facilita la consulta de cualquier cantidad de datos a la vez que mantiene los costes bajos. Además, como Presto es de código abierto, su despliegue no conlleva gastos, lo que puede suponer un ahorro considerable para las empresas que deseen procesar grandes volúmenes de datos.
Es común que los ingenieros configuren varios motores e idiomas en un único sistema de almacenamiento de lagos de datos, lo que puede hacer necesario volver a la plataforma en el futuro y limitar la escalabilidad de su solución. Con Presto, todas las consultas se realizan utilizando el lenguaje y la interfaz universal ANSI SQL, lo que hace que la redefinición de la plataforma sea redundante. Además, Presto se puede utilizar para cantidades pequeñas y grandes de datos y escalar fácilmente de uno o dos usuarios a miles.
Presto despliega múltiples motores de computación con dialectos y API SQL únicos, lo que lo convierte en una herramienta ideal para escalar cargas de trabajo que podrían ser demasiado complejas y requerir mucho tiempo para que los equipos de ingenieros y científicos de datos se manejen.
Aunque muchos motores de consulta que ejecutan SQL en Hadoop están restringidos en su rendimiento de computación porque están diseñados para escribir sus resultados en el disco, el modelo en memoria distribuido de Presto permite ejecutar grandes cantidades de consultas interactivas a la vez contra grandes conjuntos de datos. Tras un diseño clásico de procesamiento masivo paralelo (MPP), Presto programa tantas consultas como sea posible en un solo nodo de trabajo y utiliza la transmisión en secuencias en memoria para aumentar aún más sus velocidades de procesamiento.
Ejecutar tareas en memoria hace que escribir y leer desde el disco entre etapas sea redundante y acorta el tiempo de cada ejecución de consulta, haciendo de Presto una opción de latencia inferior a la de sus competidores.
Presto utiliza un modelo plug-and-play para todas sus fuentes de datos, como Cassandra, Kafka, MySQL, el sistema de archivos distribuido Hadoop (HDFS), PostgreSQL y otros, lo que hace que las consultas en ellos sean más rápidas y fáciles que con otras herramientas comparables que carecen de esta funcionalidad. Además, la arquitectura flexible de Presto significa que no está restringida a un único proveedor, pero se ejecuta en la mayoría de las distribuciones de Hadoop, lo que lo convierte en una de las herramientas más portátiles disponibles.
Aunque Presto no es la única opción de SQL en Hadoop disponible para desarrolladores e ingenieros de datos, su arquitectura única que mantiene la funcionalidad de consulta separada del almacenamiento de datos lo convierte en una de las más flexibles
A diferencia de otras herramientas, Presto separa el motor de consulta del almacenamiento de datos y utiliza conectores para comunicarse entre ellos. Esta funcionalidad añadida ofrece a los ingenieros más flexibilidad que otras herramientas a la hora de construir soluciones con Presto.
Presto utiliza un sistema de administración de bases de datos MPP con un nodo coordinador que funciona en conjunto con otros nodos. Un ecosistema Presto se compone de tres tipos de servidores, un servidor coordinador, un servidor de trabajo y un servidor de administrador de recursos.
Un coordinador se considera el "cerebro" de una instalación de Presto. Es responsable de algunas de las tareas más críticas, como analizar declaraciones, planificar consultas y gestionar nodos de trabajo de Presto. En última instancia, es responsable de recuperar los datos de los nodos de trabajo y entregar los resultados al cliente.
El trabajador es responsable de recopilar datos de los nodos de trabajo y garantizar el intercambio fluido de datos entre él y los conectores.
El Resource Manager recopila datos de todos los nodos de coordinador y trabajador y crea una vista global, o un "cluster Presto".
Cuando el servidor SQL coordinador Presto recibe una consulta SQL de un usuario, lo primero que hace es utilizar una consulta personalizada para analizar, planificar y programar un plan distribuido en los otros nodos. La API Rest de Presto se utiliza para enviar sentencias de consulta para su ejecución en un servidor y recuperar los resultados para el cliente. Presto admite significados ANSI SQL estándar, incluidas uniones, consultas, subconsultas y agregaciones. Una vez compilada la consulta, Presto analiza la solicitud en diferentes etapas entre los nodos de trabajo.
Dado que Presto se basó en el concepto de abstracción de datos, es extensible a cualquier fuente de datos y puede consultar fácilmente fuentes de datos, como lagos de datos, almacenes de datos y bases de datos relacionales. La abstracción de datos es un proceso de programación que permite almacenar y manipular los datos de manera más eficiente al separar su representación de su almacenamiento físico.
Esta abstracción permite que el motor de consultas se centre exclusivamente en los aspectos de los datos que son relevantes para su consulta. Mediante el proceso de abstracción de datos, los datos se consultan dondequiera que se almacenen, en lugar de una vez que se hayan trasladado a otro sistema de análisis.
Inicialmente desarrollado en Facebook para ejecutar consultas interactivas en un enorme almacén de datos Apache Hadoop, los desarrolladores de Presto siempre lo imaginaban como software de código abierto y buscaban que fuera gratuito para uso comercial, para que cualquiera pudiera utilizarlo para el análisis de datos y la gestión de datos.
En 2013, fue de código abierto en GitHub para que cualquiera lo descargue con la licencia de Apache Software. En 2019, tres de los miembros originales del equipo de desarrollo de Presto abandonaron el proyecto y fundaron una “bifurcación” de Presto conocida como Presto Software Foundation, o más comúnmente, prestosql.
La base de Linux y otras comunidades de código abierto ofrecen seminarios web y formación sobre Presto en inglés y otros idiomas para ingenieros y desarrolladores que buscan obtener certificación. Estos foros también son un buen lugar para conocer las novedades de Presto.
Presto permite a las organizaciones consultar repositorios de datos a gran escala y bases de datos NoSQL de forma rápida y eficiente para diversos fines empresariales. Estos son algunos de sus casos de uso más comunes:
Presto permite una exploración rápida de datos e informes sencillos para diversos fines empresariales. Mediante el uso de conectores populares Presto, como Hive, MongoDB o Cassandra, los usuarios pueden consultar los datos que les interesen y obtener resultados en segundos.
Con su velocidad y flexibilidad, Presto permite a los usuarios iterar y seguir explorando conjuntos de datos, independientemente de dónde residan.
Estos son algunos de los repositorios de datos más utilizados a los que Presto puede conectarse:
Según una evaluación de rendimiento de 2021 realizada por RedHat, el uso cada vez mayor de entornos de nube híbrida por parte de las empresas está ejerciendo una mayor presión sobre el almacenamiento nativo de la nube, para lo cual Presto, “el motor de consultas distribuido más rápido disponible en la actualidad”, es ideal. 1
Mover cargas de trabajo de un entorno local a una infraestructura de nube o de nube híbrida tiene muchos beneficios, incluido un mayor rendimiento y escalabilidad. La arquitectura de Presto lo convierte en una buena opción para este tipo de despliegues porque se puede iniciar en unos minutos sin aprovisionamiento, configuración o ajuste adicionales.
Presto ayuda a los ingenieros a preparar los datos y a realizar la ingeniería y extracción de características de una manera altamente eficiente que garantiza que estén listos para el aprendizaje automático (ML). Su número de conectores, motor SQL y capacidades de consulta lo hacen ideal para los ingenieros que buscan un acceso rápido y fácil a grandes volúmenes de datos.
Además, Presto cuenta con herramientas diseñadas específicamente para funciones de aprendizaje automático, como la agregación, que permiten a los científicos de datos entrenar clasificadores y regresores de máquinas vectoriales de soporte (SVM) para abordar problemas de aprendizaje supervisado.
Presto permite que los datos se consulten desde múltiples fuentes generando un único informe o panel de fácil acceso para fines de BI. Presto es lo suficientemente sencillo y fácil de usar como para que los analistas puedan realizar consultas y crear informes sin ayuda de ingenieros.
Presto permite a los analistas realizar consultas sobre datos estructurados y no estructurados directamente en un lago de datos sin pasar por un proceso de transformación de datos.
El proceso de recopilación y preparación de datos puede ser costoso e ineficiente. Los científicos de datos pueden dedicar horas cada día a recopilar y preparar datos antes de que se puedan analizar. Presto automatiza este proceso con velocidad y precisión para que los científicos e ingenieros de datos puedan dedicar más tiempo a tareas de mayor valor.
Presto es de código abierto y se puede instalar manualmente. También se puede utilizar con una solución de lago de datos como IBM watsonx.data para escalar más rápidamente sus cargas de trabajo de IA. IBM watsonx.data es un almacén de datos diseñado para su propósito construido sobre una arquitectura abierta de lakehouse y respaldado por consultas, gobernanza y formatos de datos abiertos para ayudar a acceder y compartir datos.
Descubra cómo Presto, un motor de consultas SQL de código abierto rápido y flexible, puede ayudar a ofrecer la información que las empresas necesitan.
Obtenga más información sobre IBM Watsonx.data, un almacén de datos que ayuda a las empresas a unificar y controlar fácilmente sus datos estructurados y no estructurados.
Explore la arquitectura de lagos de datos abiertos y descubra cómo combina la flexibilidad y las ventajas de costos de los lagos de datos con el rendimiento de los almacenes de datos.
Descubra cómo IBM watsonx.data ayuda a las empresas a abordar los desafíos del complejo panorama de datos actual y a escalar la IA para satisfacer sus necesidades.
1 Caracterización del rendimiento en modo externo para bases de datos y analytics (el enlace se encuentra fuera de ibm.com), Red Hat, 18 de enero de 2021