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, sobre 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 para obtener un líquido que se utiliza para producir una variedad de vinos diferentes. Los fundadores de la base de datos eligieron el nombre como una metáfora para analizar grandes cantidades de datos de una variedad de diferentes formatos de archivo 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 comerciales que cumplieran con los requisitos del sitio de redes sociales, como baja latencia predecible, actualización de datos en segundos, tolerancia a fallos y escalabilidad. [ 9 ] [ 10 ] Pinot es utilizado en producción por empresas tecnológicas como Uber , [ 11 ] Microsoft , [ 8 ] y Factual .
Historia
Pinot se inició como un proyecto interno en LinkedIn en 2013 para impulsar diversos productos orientados a usuarios y empresas. El primer producto de análisis de LinkedIn que utilizó Pinot fue un rediseño de la función de la red social que permite a los miembros ver quién ha visitado su perfil en tiempo real. El proyecto se publicó como código abierto en junio de 2015 bajo una licencia Apache 2.0 y LinkedIn lo donó a la Apache Software Foundation en junio de 2019. [ 9 ] [ 8 ]
Arquitectura

Pinot utiliza Apache Helix para la gestión del clúster. Helix se integra como agente en los distintos componentes y utiliza Apache ZooKeeper para la coordinación y el mantenimiento del estado general del clúster. Todos los servidores y brokers de Pinot son gestionados por Helix. Helix es un marco de gestión de clústeres genérico para administrar particiones y réplicas en un sistema distribuido.
Gestión de consultas
Las consultas son recibidas por intermediarios, que comprueban la solicitud con la tabla de enrutamiento de segmento a servidor, distribuyendo la solicitud entre servidores en tiempo real y servidores fuera de línea.
Gestión de clústeres
Pinot utiliza Apache Helix para la gestión de clústeres. Helix es un marco de gestión de clústeres para administrar recursos replicados y particionados 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 Run Length y Fixed-Bit Length . Pinot admite tecnologías de indexación conectables : índice ordenado, índice de mapa de bits , índice invertido , índice de árbol de estrellas 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 desde flujos como Kafka y AWS Kinesis, así como la ingesta por lotes desde fuentes como Hadoop , S3 , Azure y GCS . Al igual que la mayoría de los almacenes de datos OLAP y soluciones de almacenamiento de datos , Pinot admite un lenguaje de consulta similar a SQL que permite realizar consultas de selección, agregación, filtrado, agrupación, ordenación y búsqueda de datos distintos.
Véase también
Referencias
- ↑ Cui, Tingting; 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 ADKDD'17 . Association for Computing Machinery. págs. 1–7 . doi : 10.1145/3124749.3124759 . ISBN 9781450351942. S2CID 12327343 .
- ↑ Rosa, Marcello La (2021). INGENIERÍA DE SISTEMAS DE INFORMACIÓN AVANZADOS: 33.ª Conferencia Internacional . Springer Nature. ISBN 978-3-030-79382-1.
- ↑ Chin, Francis YL; Chen, CL Philip; Khan, Latifur; Lee, Kisung; Zhang, Liang-Jie (20 de junio de 2018). Big Data – BigData 2018: 7.º Congreso Internacional, celebrado como parte de la Services Conference Federation, SCF 2018, Seattle, WA, EE. UU., 25-30 de junio de 2018, Actas . Springer. pág. 153. ISBN 978-3-319-94301-5.
- ↑ Im, Jean-François; Gopalakrishna, Kishore; Subramaniam, Subbu; Shrivastava, Mayank; Tumbde, Adwait; 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 de 2018 sobre Gestión de Datos . Sigmod '18. Association for Computing Machinery. págs. 583–594 . doi : 10.1145/3183713.3190661 . ISBN 9781450347037. S2CID 44083085 .
- ↑ "La Fundación de Software Apache anuncia Apache® Pinot™ como un proyecto de primer nivel" . blogs.apache.org . 2 de agosto de 2021.
- ^ 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 ].
- ↑ Javadi, Seyyed Ahmad; Gupta, Harsh; Manhas, Robin; Sahu, Shweta; Gandhi, Anshul (julio de 2018). "EASY: Estrategia eficiente de asignación de segmentos para reducir las latencias de cola en Pinot". 2018 IEEE 38.ª 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 .
- 1 2 3 Pawar, Neha. "Pinot se une a la incubadora Apache" Archivado el 2 de abril de 2019 en Wayback Machine , LinkedIn Engineering , 1 de abril de 2019
- 1 2 3 Gopalakrishna, Kishore. "Open Sourcing Pinot: Escalando el muro de la analítica en tiempo real" . engineering.linkedin.com . LinkedIn. Archivado del original el 10 de septiembre de 2015. Recuperado el 3 de septiembre de 2020 .
- ↑ Yegulalp, Serdar (11 de junio de 2015). "LinkedIn llena otro nicho de SQL en Hadoop" . InfoWorld .
- ↑ Fu, Yupeng; Soman, Chinmay (9 de junio de 2021). «Infraestructura de datos en tiempo real en Uber» . Actas de la Conferencia Internacional de 2021 sobre Gestión de Datos . Sigmod/Pods '21. Association for Computing Machinery. págs. 2503–2516 . arXiv : 2104.00087 . doi : 10.1145 /3448016.3457552 . ISBN 9781450383431. S2CID 232478317 .
- ↑ 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.
- ↑ 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
- Sitio web oficial
- Proyectos de la Apache Software Foundation
- Almacenes de datos distribuidos
- Almacenamiento estructurado
- Sistemas de gestión de bases de datos gratuitos
- Software libre programado en Java.
- Motores de bases de datos
- Productos de big data
- Software que utiliza la licencia Apache.