Articulo de referencia

Trino (motor de consultas SQL)

Trino es un motor de consulta SQL distribuido de código abierto diseñado para consultar grandes conjuntos de datos distribuidos en una o más fuentes de datos heterogéneas. [ 1 ]...

Trino es un motor de consulta SQL distribuido de código abierto diseñado para consultar grandes conjuntos de datos distribuidos en una o más fuentes de datos heterogéneas. [ 1 ] Trino puede consultar lagos de datos que contienen una variedad de formatos de archivo, desde archivos de datos CSV y JSON simples orientados a filas hasta formatos de archivo de datos abiertos orientados a columnas de mayor rendimiento como ORC o Parquet [ 2 ] [ 3 ] que residen en diferentes sistemas de almacenamiento como HDFS , AWS S3 , Google Cloud Storage o Azure Blob Storage [ 4 ] utilizando los formatos de tabla Hive [ 2 ] e Iceberg [ 3 ] . Trino también tiene la capacidad de ejecutar consultas federadas que consultan tablas en diferentes fuentes de datos como MySQL , PostgreSQL , Cassandra , Kafka , MongoDB y Elasticsearch . [ 5 ] Trino se publica bajo la Licencia Apache . [ 6 ]

Historia

En enero de 2019, los creadores originales de Presto , Martin Traverso, Dain Sundstrom y David Phillips, crearon una bifurcación del proyecto Presto. Inicialmente mantuvieron el nombre Presto y utilizaron el identificador web PrestoSQL para distinguirlo del proyecto original PrestoDB. Simultáneamente, anunciaron la Presto Software Foundation. La fundación es una organización sin fines de lucro dedicada al avance del motor de consulta SQL distribuido de código abierto Presto. [ 7 ] [ 8 ]

En diciembre de 2020, PrestoSQL cambió su nombre a Trino. La Fundación de Software Trino, el código fuente y todos los demás activos de PrestoSQL fueron renombrados como parte del cambio de marca. [ 9 ]

Presto y Trino fueron diseñados y desarrollados originalmente por Martin, Dain, David y Eric Hwang en Facebook para permitir a los analistas de datos ejecutar consultas interactivas en su gran almacén de datos en Apache Hadoop . Trino comparte los primeros seis años de desarrollo con el proyecto Presto. [ 10 ] [ 11 ] Para obtener más información sobre la historia temprana de Trino, puede consultar la sección de historia de Presto .

Trino se utiliza en numerosas plataformas y productos de datos de proveedores de servicios en la nube y otros fabricantes. La personalización de estos productos abarca desde el uso exclusivo de Trino hasta sistemas altamente personalizados para gestionar una plataforma de datos o su integración en plataformas especializadas para el procesamiento de datos específicos. Algunos ejemplos son Amazon Athena, Starburst Galaxy, Dune y muchos otros.

Arquitectura

Descripción general de la arquitectura de Trino con coordinador y trabajadores [ 12 ]

Trino está escrito en Java . [ 13 ] Se ejecuta en un clúster de servidores que contiene dos tipos de nodos, un coordinador y un trabajador . [ 12 ]

  • El coordinador es responsable de analizar, optimizar, planificar y programar una consulta enviada por un cliente. El coordinador interactúa con la interfaz del proveedor de servicios (SPI) para obtener las tablas disponibles, las estadísticas de las tablas y otra información necesaria para llevar a cabo sus tareas. [ 12 ]
  • Los trabajadores son responsables de ejecutar las tareas y los operadores que les proporciona el planificador. Estas tareas procesan filas de las fuentes de datos que producen resultados que se devuelven al coordinador y, finalmente, al cliente. [ 12 ]

Trino se adhiere al estándar ANSI SQL [ 4 ] e incluye varias partes de las siguientes especificaciones ANSI: SQL-92 , SQL:1999 , SQL:2003 , SQL:2008 , SQL:2011 , SQL:2016 , SQL:2023 .

Trino admite la separación de computación y almacenamiento [ 4 ] y puede implementarse tanto en las instalaciones como en la nube . [ 14 ]

Trino tiene una arquitectura MPP de computación distribuida . [ 12 ] Trino primero distribuye el trabajo entre múltiples trabajadores ejecutando operaciones de particionamiento ad hoc o basándose en particiones existentes en los datos del almacén de datos subyacente. Una vez que estos datos llegan al trabajador, se procesan mediante operadores en paralelo que se ejecutan en múltiples hilos. [ 12 ]

Véase también

Referencias

  1. "Descripción general: documentación de Trino 468" . trino.io . Consultado el 27 de diciembre de 2024 .
  2. 1 2 "Conector Hive — Documentación de Trino 393" . trino.io .
  3. 1 2 "Conector Iceberg — Documentación de Trino 393" . trino.io . Consultado el 25 de agosto de 2022 .
  4. 1 2 3 Fuller, Matt; Moser, Manfred; Traverso, Martin (2021). «Capítulo 1. Presentación de Trino». Trino: La guía definitiva . O'Reilly Media, Inc., EE. UU. pp. 3–17 . ISBN  9781098107710.
  5. "Conectores — Documentación de Trino 393" . trino.io . Consultado el 25 de agosto de 2022 .
  6. «LICENCIA trinodb/trino» . Trino. 25 de agosto de 2022 . Consultado el 25 de agosto de 2022 .
  7. "Se lanza la Fundación Presto Software para impulsar la comunidad de código abierto de Presto" . PRWeb . Consultado el 1 de febrero de 2019 .
  8. "La nueva base de Presto señala el crecimiento del motor SQL de Big Data" . The New Stack . 31 de enero de 2019. Consultado el 1 de febrero de 2019 .
  9. Traverso, Martin; Sundstrom, Dain; Phillips, David (27 de diciembre de 2020). "Estamos cambiando la marca de PrestoSQL a Trino" . trino.io . Consultado el 7 de septiembre de 2021 .
  10. "Colaboradores de trinodb/trino" . GitHub . Consultado el 20 de septiembre de 2021 .
  11. "Colaboradores de prestodb/presto" . GitHub . Consultado el 20 de septiembre de 2021 .
  12. 1 2 3 4 5 6 Fuller, Matt; Moser, Manfred; Traverso, Martin (2021). «Capítulo 4. Arquitectura de Trino». Trino: La guía definitiva . O'Reilly Media, Inc., EE. UU. págs. 43–72 . ISBN  9781098107710.
  13. Fuller, Matt; Moser, Manfred; Traverso, Martin (2021). «Capítulo 2. Instalación y configuración de Trino». Trino: La guía definitiva . O'Reilly Media, Inc., EE. UU. pp. 19–24 . ISBN  9781098107710.
  14. Fuller, Matt; Moser, Manfred; Traverso, Martin (2021). «Capítulo 13. Ejemplos del mundo real». Trino: La guía definitiva . O'Reilly Media, Inc., EE. UU. pp. 267–272 . ISBN  9781098107710.
  • Fundación de Software Trino (anteriormente Fundación de Software Presto)