Апач Пино
![]() | |
Оригинальный автор(ы) |
|
---|---|
Разработчик(и) | Апач Пино |
Стабильная версия | 1.0.0 / 19 сентября 2023 г |
Репозиторий | Репозиторий Пино |
Написано в | Ява |
Операционная система | Кросс-платформенный |
Тип | |
Лицензия | Лицензия Апач 2.0 |
Веб-сайт | Пино |
Apache Pinot — это столбцово-ориентированное распределенное с открытым исходным кодом , хранилище данных написанное на Java . Pinot предназначен для выполнения запросов OLAP с низкой задержкой. [1] [2] [3] [4] [5] Он подходит в контекстах, где требуется быстрая аналитика, такая как агрегирование, для неизменяемых данных, возможно, с приемом данных в реальном времени. [6] [7] [8] Название Пино происходит от виноградных лоз Пино , которые прессуют в жидкость, которая используется для производства множества различных вин. Основатели базы данных выбрали это название как метафору для анализа огромных объемов данных из различных форматов файлов или источников потоковых данных. [9]
Впервые Pinot был создан в LinkedIn после того, как инженерный состав определил, что не существует готовых решений, отвечающих требованиям сайта социальной сети, таким как предсказуемая низкая задержка, актуальность данных за считанные секунды, отказоустойчивость и масштабируемость. [9] [10] Пино используется в производстве такими технологическими компаниями, как Uber , [11] Майкрософт , [8] и фактический .
История
[ редактировать ]Pinot был запущен как внутренний проект LinkedIn в 2013 году для создания различных продуктов, ориентированных на пользователей и бизнес. Первым аналитическим продуктом LinkedIn, использовавшим Pinot, стал обновленный дизайн функции сайта социальной сети, которая позволяет участникам видеть, кто просматривал их профиль, в режиме реального времени. Проект был открыт в июне 2015 года под лицензией Apache 2.0 и передан в дар Apache Software Foundation компанией LinkedIn в июне 2019 года. [9] [8]
Архитектура
[ редактировать ]
Pinot использует Apache Helix для управления кластером. Helix встроен в различные компоненты в качестве агента и использует Apache ZooKeeper для координации и поддержания общего состояния и работоспособности кластера. Все серверы и брокеры Pinot управляются Helix. Helix — это универсальная среда управления кластерами для управления разделами и репликами в распределенной системе.
Управление запросами
[ редактировать ]Запросы принимаются брокерами, которые сверяют запрос с таблицей маршрутизации сегмент-сервер, распределяя запрос между серверами реального времени и автономными серверами.
Управление кластером
[ редактировать ]Pinot использует Apache Helix для управления кластером. Helix — это среда управления кластерами для управления реплицируемыми секционированными ресурсами в распределенной системе. Helix использует Zookeeper для хранения состояния и метаданных кластера.
Функции
[ редактировать ]Pinot имеет схожие функции с сопоставимыми хранилищами данных OLAP, такими как Apache Druid . [12] [13] Как и Druid, Pinot представляет собой базу данных, ориентированную на столбцы, с различными схемами сжатия, такими как длина прогона и длина с фиксированным битом . Pinot поддерживает подключаемые технологии индексирования — Sorted Index, Bitmap Index , Inverted Index , Star-Tree Index и Range Index, которые в первую очередь отличают Pinot от других хранилищ данных OLAP.
Pinot поддерживает прием данных практически в реальном времени из таких потоков, как Kafka , AWS Kinesis, а также пакетный прием из таких источников, как Hadoop , S3 , Azure , GCS . Как и большинство других хранилищ данных OLAP и решений для хранения данных , Pinot поддерживает SQL -подобный язык запросов, который поддерживает выбор, агрегирование, фильтрацию, группировку и упорядочивание отдельных запросов к данным.
См. также
[ редактировать ]Ссылки
[ редактировать ]- ^ Цуй, Тингтинг; Пэн, Лицзюнь; Пардо, Дэвид; Лю, Кун; Агарвал, Дипак; Кумар, Дипак (14 августа 2017 г.). «Резервные цены на основе данных для аукционов социальной рекламы в LinkedIn» . Материалы ADKDD'17 . Ассоциация вычислительной техники. стр. 1–7. дои : 10.1145/3124749.3124759 . ISBN 9781450351942 . S2CID 12327343 .
- ^ Роза, Марчелло Ла (2021). РАЗРАБОТКА ПЕРЕДОВЫХ ИНФОРМАЦИОННЫХ СИСТЕМ: 33-я Международная конференция . Спрингер Природа. ISBN 978-3-030-79382-1 .
- ^ Чин, Фрэнсис Ю.Л.; Чен, К.Л. Филип; Хан, Латифур; Ли, Кисон; Чжан, Лян-Цзе (20 июня 2018 г.). Большие данные – BigData 2018: 7-й международный конгресс, проходивший в рамках Федерации конференций по услугам, SCF 2018, Сиэтл, Вашингтон, США, 25–30 июня 2018 г., Материалы . Спрингер. п. 153. ИСБН 978-3-319-94301-5 .
- ^ Я, Жан-Франсуа; Гопалакришна, Кишор; Субраманиам, Субу; Шривастава, Маянк; Тумбде, Адвайт; Цзян, Сяотянь; Дай, Дженнифер; Ли, Сынхён; Павар, Неха; Ли, Цзялян; Арингунрам, Рави (27 мая 2018 г.). «Пино: OLAP в реальном времени для 530 миллионов пользователей». Материалы Международной конференции по управлению данными 2018 года . Сигмод '18. Ассоциация вычислительной техники. стр. 583–594. дои : 10.1145/3183713.3190661 . ISBN 9781450347037 . S2CID 44083085 .
- ^ «Фонд программного обеспечения Apache объявляет Apache® Pinot™ проектом высшего уровня» . блоги.apache.org . 2 августа 2021 г.
- ^ Роджерс, Райан; Субраманиам, Субу; Пэн, Шон; Дерфи, Дэвид; Ли, Сынхён; Канча, Сантош Кумар; Сахай, Шраддха; Ахаммад, Парвез (16 ноября 2020 г.). «API LinkedIn Audience Engagement: масштабная система анализа данных, сохраняющая конфиденциальность». arXiv : 2002.05839 [ cs.CR ].
- ^ Джавади, Сейед Ахмад; Гупта, Харш; Манхас, Робин; Саху, Света; Ганди, Аншул (июль 2018 г.). «ЛЕГКО: эффективная стратегия назначения сегментов для уменьшения задержек хвоста в Pinot» . 38-я Международная конференция IEEE по распределенным вычислительным системам (ICDCS) , 2018 г. стр. 1432–1437. дои : 10.1109/ICDCS.2018.00144 . ISBN 978-1-5386-6871-9 . S2CID 21659844 .
- ^ Jump up to: а б с Павар, Неха. «Пино присоединяется к инкубатору Apache». Архивировано 2 апреля 2019 г. на Wayback Machine , LinkedIn Engineering , 1 апреля 2019 г.
- ^ Jump up to: а б с Гопалакришна, Кишор. «Открытый исходный код Пино: масштабирование стены аналитики в реальном времени» . Engineering.linkedin.com . LinkedIn. Архивировано из оригинала 10 сентября 2015 года . Проверено 3 сентября 2020 г.
- ^ Егулалп, Сердар (11 июня 2015 г.). «LinkedIn заполняет еще одну нишу SQL-on-Hadoop» . Инфомир .
- ^ Фу, Юпэн; Соман, Чинмей (9 июня 2021 г.). «Инфраструктура данных в реальном времени в Uber» . Материалы Международной конференции по управлению данными 2021 года . Сигмод/Поды '21. Ассоциация вычислительной техники. стр. 2503–2516. arXiv : 2104.00087 . дои : 10.1145/3448016.3457552 . ISBN 9781450383431 . S2CID 232478317 .
- ^ Ордонес, Карлос; Сон, Иль-Ёль; Андерст-Коцис, Габриэле; Тхоа, А. Мин; Халил, Исмаил (2 октября 2019 г.). Аналитика больших данных и раскрытие знаний: 21-я международная конференция, DaWaK 2019, Линц, Австрия, 26–29 августа 2019 г., Материалы . Спрингер. п. 170. ИСБН 978-3-030-27520-4 .
- ^ Уттамчандани, Сандип (10 сентября 2020 г.). Дорожная карта данных самообслуживания . «О'Рейли Медиа, Инк.». ISBN 978-1-4920-7520-2 .