URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID3
Нить номер: 103069
[ Назад ]

Исходное сообщение
"LinkedIn открыл код распределённого OLAP-хранилища Pinot"

Отправлено opennews , 13-Июн-15 19:55 
LinkedIn открыл (https://engineering.linkedin.com/pinot/open-sourcing-pinot-s... исходные тексты хранилища Pinot, ориентированного на выполнение аналитических запросов.  Хранилище ориентировано (https://github.com/linkedin/pinot/wiki) на работу в условиях постоянного добавления новых данных (изменение уже сохранённой информации не поддерживается) и рассчитано на обеспечение минимальной задержки между добавлением данных и их обработки в реальном времени. Данные в хранилище могут загружаться из разных источников, начиная Hadoop и обычных файлов и заканчивая загрузки информации из online-источников, таких как Kafka. Код проекта написан на Java и распространяется (https://github.com/linkedin/pinot) под лицензией Apache.


Заявлено обеспечение горизонтальной масштабируемости и возможность хранения огромных объёмов данных. Например, в LinkedIn в Pinot хранится около ста миллирдов записей и ежедневно добавляется более миллиарда новых записей. Ежедневно выполняется около 100 миллионов аналитических запросов, интенсивность которых доходит до тысяч запросов в секунду. Отзывчивость при выполнении запросов составляет около 10 мс. Pinot используется в LinkedIn уже два года и лежит в основе реализации более 25 клиентских и 30 внутренних сервисов, таких как предоставление данных о пользователях посмотревших профиль и сообщения.


В системе предусмотрены средства обеспечения отказоустойчивости и сохранения живучести при возникновении программных и аппаратных ошибок.  Pinot подразумевает встраивание репликации и резервного копирования непосредственно в цикл обработки добавляемых в хранилище данных. С одной стороны такой подход приводит к значительному упрощению архитектуры (https://github.com/linkedin/pinot/wiki/Architecture), но, с другой стороны, приводит к возникновению секундной задержки между добавлением данных и их доступностью для запросов. Для управления Pinot-кластером применяется Apache Helix (http://helix.apache.org/).


Обращение к хранилищу производится через привычный SQL-подобный интерфейс, поддерживающий типовые операции фильтрации выборки, агрегирования, сортировки и группировки данных. Для обеспечения предсказуемого времени выполнения запроса операции слияния таблиц (JOIN) не поддерживаются. Данные размещаются в таблицах базы данных, ориентированной на столбцы (column-oriented (https://en.wikipedia.org/wiki/Column-oriented_DBMS)). Поддерживаются различные схемы сжатия и возможность размещения нескольких значений в одном поле. Pinot предоставляет подключаемую систему индексов, в котором можно применять различные типы технологии индексации.

<center><a href="https://github.com/linkedin/pinot/wiki/Architecture">... src="http://www.opennet.me/opennews/pics_base/0_1434214419.png" style="border-style: solid; border-color: #e9ead6; border-width: 15px;max-width:100%;" title="" border=0></a></center>

URL: https://engineering.linkedin.com/pinot/open-sourcing-pinot-s...
Новость: http://www.opennet.me/opennews/art.shtml?num=42415


Содержание

Сообщения в этом обсуждении
"LinkedIn открыл код распределённого OLAP-хранилища Pinot"
Отправлено Аноним , 13-Июн-15 19:55 
Интересно, сколько жабка кушает памяти на таких задачах.

"LinkedIn открыл код распределённого OLAP-хранилища Pinot"
Отправлено username , 13-Июн-15 20:40 
Эластик например хочет 60% от хост памяти, залочить её(mlock) и неистово гонять.
до 200 миллионов документов на low end машине 4цпуХ8рамы будет вполне отзывчиво гонять поиском. С агрегацией уже будет по сложнее.
И он очень не любит конкурении по цпу с чем либо. Считаю, это довольно неплохой результат.

"LinkedIn открыл код распределённого OLAP-хранилища Pinot"
Отправлено Аноним , 13-Июн-15 21:00 
> Эластик например хочет 60% от хост памяти, залочить её(mlock) и неистово гонять.
> до 200 миллионов документов на low end машине 4цпуХ8рамы будет вполне отзывчиво
> гонять поиском. С агрегацией уже будет по сложнее.
> И он очень не любит конкурении по цпу с чем либо. Считаю,
> это довольно неплохой результат.

спасибо


"LinkedIn открыл код распределённого OLAP-хранилища Pinot"
Отправлено GrammarNarziss , 15-Июн-15 11:04 
от хост-памяти
на "low end"-машине
будет посложнее
с чем-либо

"LinkedIn открыл код распределённого OLAP-хранилища Pinot"
Отправлено username , 13-Июн-15 20:47 
Тут скорее нужно понимать с какого момента ваши задачи готовы к таким масштабам, если не готовы и не будут в принципе в будущем то в решения на яве не стоит ввязыватся. Либо покупать как сервис у кого-то.

"LinkedIn открыл код распределённого OLAP-хранилища Pinot"
Отправлено Аноним , 13-Июн-15 21:33 
Примерно столько же, сколько и сишечка. Оверхед от использования java-машины заметен только на мелких задачах.

"LinkedIn открыл код распределённого OLAP-хранилища Pinot"
Отправлено username , 13-Июн-15 22:46 
Как смешно анон ты оверхед назвал незаметным. Спорить не буду про перформансы(это больная тема), только ты еще забыл добавить про хайпу и танцы со сборщиком мусора(дада, там это админ крутит) и xmx xms на каждом проекте. Jvm это не просто оверхед, это отдельная история которая затребует грамотный подход и некоторое количество возни.

"LinkedIn открыл код распределённого OLAP-хранилища Pinot"
Отправлено rob pike , 14-Июн-15 09:52 
Грамотный подход тут очень простой - как только становится важно "быстро" (и данных более-менее много), сборщик мусора сразу же идёт нафиг и начинаются те еще танцы вприсядку. Гуглить по словам off-heap, heap-offloading.

"LinkedIn открыл код распределённого OLAP-хранилища Pinot"
Отправлено Аноним , 14-Июн-15 10:37 
думаю, тут проблема не сборщике мусора как в таковом, а том, что существующие реализации сборщиков мусора не рассчитаны десятки/сотни гигабайт данных

"LinkedIn открыл код распределённого OLAP-хранилища Pinot"
Отправлено rob pike , 14-Июн-15 16:53 
Это звучит примерно как "проблема не в авиакрушениях как таковых, а в том, что существующие реализации самолетов не рассчитаны на выживание пассажиров при разваливании на части на высоте 10км"

"LinkedIn открыл код распределённого OLAP-хранилища Pinot"
Отправлено username , 14-Июн-15 22:24 
> думаю, тут проблема не сборщике мусора как в таковом, а том, что
> существующие реализации сборщиков мусора не рассчитаны десятки/сотни гигабайт данных

Кто виноват и что делать?  ))
А если серьезно, до какого-то момента дело даже не в том что они(сборщики) не тянут, дело в кривом дизайне приложух. Ну т.е лид должен понимать под что они пишут, где там плюсы а где родовые травмы. Некоторые фракции разработчиков очень любят алгоритмы на доске и в презентации, как это реально будет работать их слабо волнует, считают что проблемы произвдительности надо решать масштабированием.  


"LinkedIn открыл код распределённого OLAP-хранилища Pinot"
Отправлено username , 14-Июн-15 22:15 
>Грамотный подход тут очень простой - как только становится важно "быстро" (и данных более-менее много), сборщик мусора сразу же идёт нафиг и начинаются те еще танцы вприсядку. Гуглить по словам off-heap, heap-offloading.

Да знаем, это скорее решение вопроса в лоб со стороны админа. Актуально не только на жабке, похапе тоже иногда испытывает острую необходимость по работать без сборщика бесцельного бегающего по ссылкам пожирая цпу. (о великие мастера похаписты, избавьте нас в этом треде).


"LinkedIn открыл код распределённого OLAP-хранилища Pinot"
Отправлено rob pike , 15-Июн-15 11:33 
Админ, переписывающий Java-код? В какие интересные места вы ходите.


"LinkedIn открыл код распределённого OLAP-хранилища Pinot"
Отправлено username , 15-Июн-15 12:09 
И пыхо/пистон код, по ситуации. Да, печалька.

"LinkedIn открыл код распределённого OLAP-хранилища Pinot"
Отправлено Аноним , 15-Июн-15 16:14 
Наоборот - веселуха! Постоянная, с утра и до утра, без выходных и праздников! :-)

"LinkedIn открыл код распределённого OLAP-хранилища Pinot"
Отправлено Аноним , 14-Июн-15 00:10 
> Примерно столько же, сколько и сишечка. Оверхед от использования java-машины заметен только на мелких задачах.

Какую еще глупость вы нам расскажете?


"LinkedIn открыл код распределённого OLAP-хранилища Pinot"
Отправлено Аноним , 15-Июн-15 14:44 
> Примерно столько же, сколько и сишечка.

Ну то-есть плюс-минус 10 гигз. Жабисты как-то так обычно меряют :)


"LinkedIn открыл код распределённого OLAP-хранилища Pinot"
Отправлено Ярослав , 13-Июн-15 21:32 
Какая-то странная статистика: хранится 100 миллиардов записей, ежедневно добавляется более 1-го миллиарда. Если верить этой информации, то напрашиваются интересные выводы, как-то:

- похоже, это хранилище в работе чуть дольше трёх месяцев (100 миллиардов / 1 миллиард в день = 100 дней),
- как это хранилище использовалось 19 месяцев до тех самых пресловутых трёх, если оно в работе уже целых два года,
- что же было до этого хранилища три месяца назад и почему же записи из старого хранилища не импортировали в новое

Даже перепроверил в оригинале - в переводе ошибки нет.


"LinkedIn открыл код распределённого OLAP-хранилища Pinot"
Отправлено Crazy Alex , 13-Июн-15 23:35 
Возрастающая нагрузка? Убедились, что работает хорошо, и валят всё новые данные...
Или со временем агрегируют и сырые удаляют

"LinkedIn открыл код распределённого OLAP-хранилища Pinot"
Отправлено Ярослав , 14-Июн-15 00:16 
Crazy Alex,

вот я и говорю, какая-то странная статистика.

> Или со временем агрегируют и сырые удаляют

Думаете, "забыли" сказать, что регулярно удаляют записи

> Возрастающая нагрузка? Убедились, что работает хорошо, и валят всё новые данные...

или, что добавление чуть больше миллиарда записей в день происходит лишь последние две недели, а до этого было около 4.5 миллиардов в месяц или что-нибудь подобное?


"LinkedIn открыл код распределённого OLAP-хранилища Pinot"
Отправлено Аноним , 14-Июн-15 00:07 
Pinot is well suited for analytical use cases on immutable append-only data
Вместо обновления данных добавление по новой.

"LinkedIn открыл код распределённого OLAP-хранилища Pinot"
Отправлено Аноним , 14-Июн-15 00:12 
это же реклама, то есть содержание не ориентировано на считающих и думающих

"LinkedIn открыл код распределённого OLAP-хранилища Pinot"
Отправлено бедный буратино , 14-Июн-15 06:07 
"считающие и думающие" чаще обманывают самих себя, чем их обманывает какая-то реклама. ибо у каждого "считающего и думающего" обычно своя, единственно верная правда. :) правда, другие "считающие и думающие" с этим не согласны :)

"LinkedIn открыл код распределённого OLAP-хранилища Pinot"
Отправлено Нанобот , 14-Июн-15 10:39 
только если допустить, что рост линейный

"LinkedIn открыл код распределённого OLAP-хранилища Pinot"
Отправлено Есюки , 15-Июн-15 08:47 
>> ежедневно добавляется более миллиарда новых записей

Упор на слове __новых__


"LinkedIn открыл код распределённого OLAP-хранилища Pinot"
Отправлено клоун , 15-Июн-15 16:29 
Я смотрю тебя не смущает, что хранятся "около ста миллирдов", а добавляются "более миллиарда".

Речь в новости о разных единицах измерения.


"LinkedIn открыл код распределённого OLAP-хранилища Pinot"
Отправлено Anonon , 15-Июн-15 09:49 
Разве "100’s of billions" не переводится как "сотни миллиардов"?

"LinkedIn открыл код распределённого OLAP-хранилища Pinot"
Отправлено YetAnotherOnanym , 14-Июн-15 00:11 
> изменение уже сохранённой информации не поддерживается

Для кладбища логов многовато наворотов, имхо.


"LinkedIn открыл код распределённого OLAP-хранилища Pinot"
Отправлено rob pike , 14-Июн-15 09:54 
Ну так скучно ж просто спам-то рассылать, креатив просится наружу.


"LinkedIn открыл код распределённого OLAP-хранилища Pinot"
Отправлено anonymous , 14-Июн-15 17:40 
А MDX оно поддерживает?

"LinkedIn открыл код распределённого OLAP-хранилища Pinot"
Отправлено Зенитарка , 15-Июн-15 11:22 
Социалка, где каждый пишет какой он ох$$нный?

"LinkedIn открыл код распределённого OLAP-хранилища Pinot"
Отправлено YetAnotherOnanym , 15-Июн-15 12:47 
> Особая, офисная социалка, где каждый пишет какой он ох$$нный профессионал.

Fixed.