The OpenNET Project / Index page

[ новости/++ | форум | wiki | теги | ]

13.06.2015 19:49  LinkedIn открыл код распределённого OLAP-хранилища Pinot

LinkedIn открыл исходные тексты хранилища Pinot, предназначенного для выполнения аналитических запросов. Хранилище ориентировано на работу в условиях постоянного добавления новых данных (изменение уже сохранённой информации не поддерживается) и рассчитано на обеспечение минимальной задержки и возможности их обработки в реальном времени. Данные в хранилище могут загружаться из разных источников, начиная Hadoop и обычных файлов и заканчивая получением информации от online-источников, таких как Kafka. Код проекта написан на Java и распространяется под лицензией Apache.

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

В системе предусмотрены средства обеспечения отказоустойчивости и сохранения живучести при возникновении программных и аппаратных ошибок. Pinot подразумевает встраивание репликации и резервного копирования непосредственно в цикл обработки добавляемых в хранилище данных. С одной стороны такой подход позволяет значительно упростить архитектуру, но, с другой стороны, приводит к возникновению секундной задержки между добавлением данных и их доступностью для запросов. Для управления Pinot-кластером применяется Apache Helix.

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



  1. Главная ссылка к новости (https://engineering.linkedin.c...)
  2. OpenNews: Выпуск распределённого отказоустойчивого хранилища LeoFS 1.1.2
  3. OpenNews: Основатели ClamAV представили LibreS3, открытую реализацию хранилища Amazon S3
  4. OpenNews: Facebook открыл код распределённого SQL-движка для петабайтных хранилищ
  5. OpenNews: Открыты исходные тексты БД Aerospike
  6. OpenNews: Выпуск СУБД RethinkDB 2.0
Лицензия: CC-BY
Тип: К сведению
Ключевые слова: pinot
При перепечатке указание ссылки на opennet.ru обязательно
Обсуждение Ajax/Линейный | Раскрыть все сообщения | RSS
 
  • 1.1, Аноним (-), 19:55, 13/06/2015 [ответить] [показать ветку] [···]    [к модератору]
  • –3 +/
    Интересно, сколько жабка кушает памяти на таких задачах.
     
     
  • 2.5, username (??), 20:40, 13/06/2015 [^] [ответить]    [к модератору]
  • +3 +/
    Эластик например хочет 60% от хост памяти, залочить её(mlock) и неистово гонять.
    до 200 миллионов документов на low end машине 4цпуХ8рамы будет вполне отзывчиво гонять поиском. С агрегацией уже будет по сложнее.
    И он очень не любит конкурении по цпу с чем либо. Считаю, это довольно неплохой результат.
     
     
  • 3.8, Аноним (-), 21:00, 13/06/2015 [^] [ответить]     [к модератору]
  • +2 +/
    спасибо... весь текст скрыт [показать]
     
  • 3.30, GrammarNarziss (?), 11:04, 15/06/2015 [^] [ответить]    [к модератору]  
  • +1 +/
    от хост-памяти
    на "low end"-машине
    будет посложнее
    с чем-либо
     
  • 2.6, username (??), 20:47, 13/06/2015 [^] [ответить]    [к модератору]  
  • +1 +/
    Тут скорее нужно понимать с какого момента ваши задачи готовы к таким масштабам, если не готовы и не будут в принципе в будущем то в решения на яве не стоит ввязыватся. Либо покупать как сервис у кого-то.
     
  • 2.10, Аноним (-), 21:33, 13/06/2015 [^] [ответить]    [к модератору]  
  • +/
    Примерно столько же, сколько и сишечка. Оверхед от использования java-машины заметен только на мелких задачах.
     
     
  • 3.11, username (??), 22:46, 13/06/2015 [^] [ответить]    [к модератору]  
  • +2 +/
    Как смешно анон ты оверхед назвал незаметным. Спорить не буду про перформансы(это больная тема), только ты еще забыл добавить про хайпу и танцы со сборщиком мусора(дада, там это админ крутит) и xmx xms на каждом проекте. Jvm это не просто оверхед, это отдельная история которая затребует грамотный подход и некоторое количество возни.
     
     
  • 4.19, rob pike (?), 09:52, 14/06/2015 [^] [ответить]    [к модератору]  
  • +4 +/
    Грамотный подход тут очень простой - как только становится важно "быстро" (и данных более-менее много), сборщик мусора сразу же идёт нафиг и начинаются те еще танцы вприсядку. Гуглить по словам off-heap, heap-offloading.
     
     
  • 5.21, Аноним (-), 10:37, 14/06/2015 [^] [ответить]    [к модератору]  
  • –1 +/
    думаю, тут проблема не сборщике мусора как в таковом, а том, что существующие реализации сборщиков мусора не рассчитаны десятки/сотни гигабайт данных
     
     
  • 6.24, rob pike (?), 16:53, 14/06/2015 [^] [ответить]    [к модератору]  
  • +1 +/
    Это звучит примерно как "проблема не в авиакрушениях как таковых, а в том, что существующие реализации самолетов не рассчитаны на выживание пассажиров при разваливании на части на высоте 10км"
     
  • 6.27, username (??), 22:24, 14/06/2015 [^] [ответить]    [к модератору]  
  • +/
    > думаю, тут проблема не сборщике мусора как в таковом, а том, что
    > существующие реализации сборщиков мусора не рассчитаны десятки/сотни гигабайт данных

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

     
  • 5.26, username (??), 22:15, 14/06/2015 [^] [ответить]    [к модератору]  
  • –2 +/
    >Грамотный подход тут очень простой - как только становится важно "быстро" (и данных более-менее много), сборщик мусора сразу же идёт нафиг и начинаются те еще танцы вприсядку. Гуглить по словам off-heap, heap-offloading.

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

     
     
  • 6.32, rob pike (?), 11:33, 15/06/2015 [^] [ответить]    [к модератору]  
  • +/
    Админ, переписывающий Java-код? В какие интересные места вы ходите.

     
     
  • 7.33, username (??), 12:09, 15/06/2015 [^] [ответить]    [к модератору]  
  • +/
    И пыхо/пистон код, по ситуации. Да, печалька.
     
     
  • 8.38, Аноним (-), 16:14, 15/06/2015 [^] [ответить]    [к модератору]  
  • +/
    Наоборот - веселуха! Постоянная, с утра и до утра, без выходных и праздников! :-)
     
  • 3.14, Аноним (-), 00:10, 14/06/2015 [^] [ответить]    [к модератору]  
  • +/
    > Примерно столько же, сколько и сишечка. Оверхед от использования java-машины заметен только на мелких задачах.

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

     
  • 3.35, Аноним (-), 14:44, 15/06/2015 [^] [ответить]    [к модератору]  
  • +/
    > Примерно столько же, сколько и сишечка.

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

     
  • 1.9, Ярослав (??), 21:32, 13/06/2015 [ответить] [показать ветку] [···]    [к модератору]  
  • +/
    Какая-то странная статистика: хранится 100 миллиардов записей, ежедневно добавляется более 1-го миллиарда. Если верить этой информации, то напрашиваются интересные выводы, как-то:

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

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

     
     
  • 2.12, Crazy Alex (ok), 23:35, 13/06/2015 [^] [ответить]    [к модератору]  
  • +1 +/
    Возрастающая нагрузка? Убедились, что работает хорошо, и валят всё новые данные...
    Или со временем агрегируют и сырые удаляют
     
     
  • 3.17, Ярослав (??), 00:16, 14/06/2015 [^] [ответить]    [к модератору]  
  • +2 +/
    Crazy Alex,

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

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

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

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

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

     
  • 2.13, Аноним (-), 00:07, 14/06/2015 [^] [ответить]    [к модератору]  
  • +/
    Pinot is well suited for analytical use cases on immutable append-only data
    Вместо обновления данных добавление по новой.
     
  • 2.16, Аноним (-), 00:12, 14/06/2015 [^] [ответить]    [к модератору]  
  • +4 +/
    это же реклама, то есть содержание не ориентировано на считающих и думающих
     
     
  • 3.18, бедный буратино (ok), 06:07, 14/06/2015 [^] [ответить]    [к модератору]  
  • –1 +/
    "считающие и думающие" чаще обманывают самих себя, чем их обманывает какая-то реклама. ибо у каждого "считающего и думающего" обычно своя, единственно верная правда. :) правда, другие "считающие и думающие" с этим не согласны :)
     
  • 2.22, Нанобот (ok), 10:39, 14/06/2015 [^] [ответить]    [к модератору]  
  • +/
    только если допустить, что рост линейный
     
     
  • 3.28, Есюки (?), 08:47, 15/06/2015 [^] [ответить]    [к модератору]  
  • +/
    >> ежедневно добавляется более миллиарда новых записей

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

     
     
  • 4.39, клоун (?), 16:29, 15/06/2015 [^] [ответить]    [к модератору]  
  • +/
    Я смотрю тебя не смущает, что хранятся "около ста миллирдов", а добавляются "более миллиарда".

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

     
  • 2.29, Anonon (?), 09:49, 15/06/2015 [^] [ответить]    [к модератору]  
  • +1 +/
    Разве "100’s of billions" не переводится как "сотни миллиардов"?
     
  • 1.15, YetAnotherOnanym (ok), 00:11, 14/06/2015 [ответить] [показать ветку] [···]    [к модератору]  
  • +3 +/
    > изменение уже сохранённой информации не поддерживается

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

     
     
  • 2.20, rob pike (?), 09:54, 14/06/2015 [^] [ответить]    [к модератору]  
  • +/
    Ну так скучно ж просто спам-то рассылать, креатив просится наружу.

     
  • 1.25, anonymous (??), 17:40, 14/06/2015 [ответить] [показать ветку] [···]    [к модератору]  
  • +/
    А MDX оно поддерживает?
     
  • 1.31, Зенитарка (?), 11:22, 15/06/2015 [ответить] [показать ветку] [···]    [к модератору]  
  • +1 +/
    Социалка, где каждый пишет какой он ох$$нный?
     
     
  • 2.34, YetAnotherOnanym (ok), 12:47, 15/06/2015 [^] [ответить]    [к модератору]  
  • +/
    > Особая, офисная социалка, где каждый пишет какой он ох$$нный профессионал.

    Fixed.

     

     Добавить комментарий
    Имя:
    E-Mail:
    Заголовок:
    Текст:


      Закладки на сайте
      Проследить за страницей
    Created 1996-2018 by Maxim Chirkov  
    ДобавитьПоддержатьВебмастеруГИД  
    Hosting by Ihor