stringtranslate.com

apache pinot

Apache Pinot es un almacén de datos distribuido , de código abierto y orientado a columnas escrito en Java . Pinot está diseñado para ejecutar consultas OLAP con baja latencia. [1] [2] [3] [4] [5] Es adecuado en contextos donde se necesitan análisis rápidos, como agregaciones, en datos inmutables, posiblemente, con ingesta de datos en tiempo real. [6] [7] [8] El nombre Pinot proviene de las vides de uva Pinot que se prensan en un líquido que se utiliza para producir una variedad de vinos diferentes. Los fundadores de la base de datos eligieron el nombre como metáfora para analizar grandes cantidades de datos de una variedad de formatos de archivos diferentes o fuentes de datos en streaming. [9]

Pinot se creó por primera vez en LinkedIn después de que el personal de ingeniería determinara que no existían soluciones disponibles que cumplieran con los requisitos del sitio de redes sociales, como baja latencia predecible, actualización de datos en segundos, tolerancia a fallas y escalabilidad. [9] [10] Pinot es utilizado en la producción por empresas de tecnología como Uber , [11] Microsoft , [8] y Factual .

Historia

Pinot se inició como un proyecto interno en LinkedIn en 2013 para impulsar una variedad de productos orientados al usuario y a las empresas. El primer producto de análisis de LinkedIn que utilizó Pinot fue un rediseño de la función del sitio de redes sociales que permite a los miembros ver quién ha visto su perfil en tiempo real. El proyecto fue de código abierto en junio de 2015 bajo una licencia Apache 2.0 y LinkedIn lo donó a Apache Software Foundation en junio de 2019. [9] [8]

Arquitectura

Arquitectura de Apache Pinot
Diagrama de arquitectura de Apache Pinot

Pinot utiliza Apache Helix para la gestión de clústeres. Helix está integrado como agente dentro de los diferentes componentes y utiliza Apache ZooKeeper para coordinar y mantener el estado y la salud general del clúster. Todos los servidores y corredores de Pinot son administrados por Helix. Helix es un marco genérico de gestión de clústeres para gestionar particiones y réplicas en un sistema distribuido.

Gestión de consultas

Las consultas son recibidas por corredores, que comparan la solicitud con la tabla de enrutamiento de segmento a servidor, distribuyendo la solicitud entre servidores en tiempo real y fuera de línea.

Gestión de clústeres

Pinot aprovecha Apache Helix para la gestión de clústeres. Helix es un marco de gestión de clústeres para gestionar recursos particionados y replicados en un sistema distribuido. Helix utiliza Zookeeper para almacenar el estado y los metadatos del clúster.

Características

Pinot comparte características similares con almacenes de datos OLAP comparables, como Apache Druid . [12] [13] Al igual que Druid, Pinot es una base de datos orientada a columnas con varios esquemas de compresión, como Longitud de ejecución y Longitud de bits fijos . Pinot admite tecnologías de indexación conectables : índice ordenado, índice de mapa de bits , índice invertido , índice de árbol en estrella e índice de rango, que son lo que diferencia principalmente a Pinot de otros almacenes de datos OLAP.

Pinot admite la ingesta casi en tiempo real de transmisiones como Kafka , AWS Kinesis y la ingesta por lotes de fuentes como Hadoop , S3 , Azure , GCS . Como la mayoría de los otros almacenes de datos y soluciones de almacenamiento de datos OLAP , Pinot admite un lenguaje de consulta similar a SQL que admite la selección, agregación, filtrado, agrupación, ordenación y consultas distintas de datos.

Ver también

Referencias

  1. ^ Cui, hormigueo; Peng, Lijun; Pardoe, David; Liu, Kun; Agarwal, Deepak; Kumar, Deepak (14 de agosto de 2017). "Precios de reserva basados ​​en datos para subastas de publicidad social en LinkedIn". Actas de la ADKDD'17 . Asociación para Maquinaria de Computación. págs. 1–7. doi :10.1145/3124749.3124759. ISBN 9781450351942. S2CID  12327343.
  2. ^ Rosa, Marcello La (2021). INGENIERÍA AVANZADA EN SISTEMAS DE INFORMACIÓN: 33º Congreso Internacional. Naturaleza Springer. ISBN 978-3-030-79382-1.
  3. ^ Chin, Francisco YL; Chen, CL Philip; Khan, Latifur; Lee, Kisung; Zhang, Liang-Jie (20 de junio de 2018). Big Data – BigData 2018: Séptimo Congreso Internacional, celebrado como parte de la Federación de Conferencias de Servicios, SCF 2018, Seattle, WA, EE. UU., 25 al 30 de junio de 2018, Actas. Saltador. pag. 153.ISBN 978-3-319-94301-5.
  4. ^ Soy, Jean-François; Gopalakrishna, Kishore; Subramaniam, Subbu; Shrivastava, Mayank; Tumbde, espera; Jiang, Xiaotian; Dai, Jennifer; Lee, Seunghyun; Pawar, Neha; Li, Jialiang; Aringunram, Ravi (27 de mayo de 2018). "Pinot: OLAP en tiempo real para 530 millones de usuarios". Actas de la Conferencia Internacional sobre Gestión de Datos de 2018. Sigmod '18. Asociación para Maquinaria de Computación. págs. 583–594. doi :10.1145/3183713.3190661. ISBN 9781450347037. S2CID  44083085.
  5. ^ "La Apache Software Foundation anuncia Apache® Pinot ™ como un proyecto de alto nivel". blogs.apache.org . 2 de agosto de 2021.
  6. ^ Rogers, Ryan; Subramaniam, Subbu; Peng, Sean; Durfee, David; Lee, Seunghyun; Kancha, Santosh Kumar; Sahay, Shraddha; Ahammad, Parvez (16 de noviembre de 2020). "API de participación de la audiencia de LinkedIn: un sistema de análisis de datos a escala que preserva la privacidad". arXiv : 2002.05839 [cs.CR].
  7. ^ Javadi, Seyyed Ahmad; Gupta, duro; Manhas, Robin; Sahu, Shweta; Gandhi, Anshul (julio de 2018). "FÁCIL: Estrategia eficiente de asignación de segmentos para reducir las latencias de cola en Pinot". 2018 IEEE 38.a Conferencia Internacional sobre Sistemas de Computación Distribuida (ICDCS) . págs. 1432-1437. doi :10.1109/ICDCS.2018.00144. ISBN 978-1-5386-6871-9. S2CID  21659844.
  8. ^ abc Pawar, Neha. "Pinot se une a Apache Incubator" Archivado el 2 de abril de 2019 en Wayback Machine , LinkedIn Engineering , 1 de abril de 2019
  9. ^ a b C Gopalakrishna, Kishore. "Open Sourcing Pinot: escalando el muro del análisis en tiempo real". ingeniería.linkedin.com . LinkedIn. Archivado desde el original el 10 de septiembre de 2015 . Consultado el 3 de septiembre de 2020 .
  10. ^ Yegulalp, Serdar (11 de junio de 2015). "LinkedIn llena otro nicho de SQL en Hadoop". InfoMundo .
  11. ^ Fu, Yupeng; Soman, Chinmay (9 de junio de 2021). "Infraestructura de datos en tiempo real en Uber". Actas de la Conferencia Internacional sobre Gestión de Datos de 2021 . Sigmod/Pods '21. Asociación para Maquinaria de Computación. págs. 2503–2516. arXiv : 2104.00087 . doi :10.1145/3448016.3457552. ISBN 9781450383431. S2CID  232478317.
  12. ^ Ordóñez, Carlos; Canción, Il-Yeol; Anderst-Kotsis, Gabriele; Tjoa, A. Min; Khalil, Ismail (2 de octubre de 2019). Análisis de big data y descubrimiento de conocimientos: 21.ª conferencia internacional, DaWaK 2019, Linz, Austria, 26 al 29 de agosto de 2019, Actas. Saltador. pag. 170.ISBN 978-3-030-27520-4.
  13. ^ Uttamchandani, Sandeep (10 de septiembre de 2020). La hoja de ruta de datos de autoservicio. "O'Reilly Media, Inc.". ISBN 978-1-4920-7520-2.

enlaces externos