Presto es un motor de consultas SQL distribuido de alto rendimiento para big data. Su arquitectura permite a los usuarios consultar una variedad de fuentes de datos como Hadoop , AWS S3 , Alluxio , MySQL , Cassandra , Kafka , MongoDB y Teradata . [1] Incluso se pueden consultar datos de múltiples fuentes de datos dentro de una sola consulta. Presto es un software de código abierto impulsado por la comunidad lanzado bajo la licencia Apache .
Autor (es) original (es) | Martin Traverso, Dain Sundstrom, David Phillips, Eric Hwang |
---|---|
Versión inicial | 10 de noviembre de 2013 |
Escrito en | Java |
Sistema operativo | Multiplataforma |
Estándar (s) | SQL |
Tipo | Almacén de datos |
Licencia | Licencia Apache 2.0 |
Sitio web | prestodb trino |
Historia
Presto fue diseñado y desarrollado originalmente en Facebook para que sus analistas de datos ejecuten consultas interactivas en su gran almacén de datos en Apache Hadoop . Antes de Presto, los analistas de datos de Facebook confiaban en Apache Hive para ejecutar análisis SQL en su almacén de datos de varios petabytes. Hive se consideró demasiado lento [2] para la escala de Facebook y Presto se inventó para llenar el vacío y ejecutar consultas rápidas. El desarrollo original comenzó en 2012 y se implementó en Facebook más tarde ese año. En noviembre de 2013, Facebook anunció su lanzamiento como código abierto en 2013. [2] [3] En 2014, Netflix reveló que usaban Presto en 10 petabytes de datos almacenados en Amazon Simple Storage Service (S3). [4]
En enero de 2019, se anunció la Presto Software Foundation. La fundación es una organización sin fines de lucro dedicada al avance del motor de consultas SQL distribuido de código abierto de Presto. [5] [6] Al mismo tiempo, el desarrollo de Presto se bifurcó: PrestoDB mantenido por Facebook y PrestoSQL mantenido por Presto Software Foundation con cierta polinización cruzada de código.
En septiembre de 2019, Facebook donó PrestoDB a la Fundación Linux que estableció la Fundación Presto. [7] No se invitó a los creadores de Presto ni a los principales contribuyentes y colaboradores a unirse a esta fundación. [8]
En diciembre de 2020, PrestoSQL fue rebautizado como Trino. [9]
Arquitectura
La arquitectura de Presto es muy similar a un sistema de administración de bases de datos clásico que usa computación en clúster ( MPP ). Puede visualizarse como un nodo coordinador que trabaja en sincronía con varios nodos trabajadores. Los clientes envían declaraciones SQL que se analizan y planifican después de las tareas paralelas que se programan para los trabajadores. Los trabajadores procesan conjuntamente filas de las fuentes de datos y producen resultados que se devuelven al cliente. En comparación con el modelo de ejecución de Apache Hive original que utilizaba el mecanismo Hadoop MapReduce en cada consulta, Presto no escribe resultados intermedios en el disco, lo que genera una mejora significativa en la velocidad. Presto está escrito en el lenguaje de programación Java .
Una sola consulta de Presto puede combinar datos de múltiples fuentes. Presto ofrece conectores a fuentes de datos, incluidos archivos en Alluxio , Hadoop Distributed File System , Amazon S3 , MySQL , PostgreSQL , Microsoft SQL Server , Amazon Redshift , Apache Kudu , Apache Phoenix , Apache Kafka , Apache Cassandra , Apache Accumulo , MongoDB y Redis . A diferencia de otras herramientas específicas de distribución de Hadoop, como Apache Impala , Presto puede trabajar con cualquier versión de Hadoop o sin él. Presto admite la separación de procesamiento y almacenamiento y se puede implementar tanto en las instalaciones como en la nube .
Ver también
- Big data
- Computación intensiva en datos
- Taladro Apache
Referencias
- ^ https://teradata.github.io/presto/docs/0.167-t/overview/teradata-distribution.html
- ↑ a b Joab Jackson (6 de noviembre de 2013). "Facebook se convierte en código abierto con motor de consulta para big data" . Computer World . Consultado el 26 de abril de 2017 .
- ^ Jordan Novet (6 de junio de 2013). "Facebook presenta el motor Presto para consultar el almacén de datos de 250 PB" . Giga Om . Consultado el 26 de abril de 2017 .
- ^ Eva Tse, Zhenxiao Luo, Nezih Yigitbasi (7 de octubre de 2014). "Utilizando Presto en nuestra plataforma Big Data en AWS" . Blog técnico de Netflix . Consultado el 26 de abril de 2017 .Mantenimiento de CS1: utiliza el parámetro de autores ( enlace )
- ^ "Presto Software Foundation se lanza para promover la comunidad de código abierto de Presto" . PRWeb . Consultado el 1 de febrero de 2019 .
- ^ "La nueva base de Presto señala el crecimiento del motor SQL de Big Data" . La nueva pila . 2019-01-31 . Consultado el 1 de febrero de 2019 .
- ^ "Facebook, Uber, Twitter y Alibaba forman la Fundación Presto para abordar el procesamiento de datos distribuidos a escala" . Consultado el 12 de noviembre de 2019 .
- ^ "¿Cuál es la relación entre prestosql y prestodb?" . 2019-11-22.
- ^ "Estamos cambiando el nombre de PrestoSQL a Trino" . 2020-12-27.
enlaces externos
- Trino Software Foundation (anteriormente Presto Software Foundation)
- Fundación Presto (bajo la Fundación Linux )