The OpenNET Project / Index page

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

Facebook открыл код распределённой системы хранения LogDevice

13.09.2018 11:04

Facebook перевёл в разряд отрытых продуктов LogDevice, распределённую систему хранения последовательно поступающих наборов данных, таких как логи, данные мониторинга, сведения об изменении конфигурации и потоки информации о событиях. Система ориентирована на надёжное и отказоустойчивое хранение логов, обеспечивает сохранение порядка поступления записей и может масштабироваться для обработки миллионов разных логов в одном кластере хранения с интенсивностью поступления данных в несколько гигабайт в секунду. Код написан на языке С++ и опубликован под лицензией BSD.

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

В хранилище данные поступают в виде непрерывного потока записей. Запись неделима и является минимальным объектом адресации в хранилище. Каждая запись снабжена своим уникальным идентификатором последовательности (LSN - Log Sequence Number). Осуществляющее передачу логов приложение получает информацию о присвоенном LSN после подтверждения успешной записи данных в хранилище. При чтении приложению для обработки могут возвращаться сразу несколько записей, но адресация производится только на основе LSN, т.е. хранилище может вернуть N записей начиная с указанного LSN.

Хранилище работает в режиме пополнения, который допускает только добавление новых данных. Изменение и удаление не поддерживается. Хранилище рассчитано на неограниченное время хранения записей, но предусмотрена и возможность чистки устаревших данных. Для проведения чистки устаревших записей предлагается использовать урезание лога, при котором удаляются все старые данные путём отсечения части лога. Урезание логов может производиться как по команде администратора, так и автоматически через определённые промежутки времени или при потреблении заданного объёма дискового пространства.

Для управления предлагается API и утилита командной строки ldshell, поддерживающая интерфейс LDQuery (команда query) для формирования запросов данных и оценки состояния кластера при помощи конструкций в стиле SQL.

  1. Главная ссылка к новости (https://logdevice.io/blog/2018...)
  2. OpenNews: Microsoft Research открыл код быстрого хранилища в формате ключ/значение
  3. OpenNews: Выпуск распределённого отказоустойчивого хранилища LeoFS 1.4.0
  4. OpenNews: Выпуск распределённого хранилища Ceph 10.2.0
  5. OpenNews: Facebook открыл код NoSQL БД RocksDB, оптимизированной для Flash-накопителей
  6. OpenNews: Компания Apple открыла код распределённой СУБД FoundationDB
Лицензия: CC-BY
Тип: Программы
Ключевые слова: logdevice, log, storage, database
При перепечатке указание ссылки на opennet.ru обязательно
Обсуждение (57) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.2, Аноним (2), 12:03, 13/09/2018 [ответить] [﹢﹢﹢] [ · · · ]  
  • –6 +/
    Почему на C++ написано а не на Python/Django?
     
     
  • 2.3, Аноним (3), 12:07, 13/09/2018 [^] [^^] [^^^] [ответить]  
  • +21 +/
    еще на электроне или пыхе предложи.
     
  • 2.4, facebook (?), 12:08, 13/09/2018 [^] [^^] [^^^] [ответить]  
  • +7 +/
    потому что мы попытались, как обычно, на php, но получалось как-то не очень.

    а на пихоне это вам в гугл.

     
     
  • 3.11, Аноним (11), 12:36, 13/09/2018 [^] [^^] [^^^] [ответить]  
  • +2 +/
    что-то гугл уже не очень то на питоне пишет.... Может лучше на php?
     
  • 3.32, Аноним (32), 16:31, 13/09/2018 [^] [^^] [^^^] [ответить]  
  • +/
    Ваша информация устарела. Теперь в Google используют Golang.
    Но не все и не везде, но почти ...
     
  • 2.5, captcha 20168 (?), 12:08, 13/09/2018 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > с интенсивностью поступления данных в несколько гигабайт в секунду
     
     
  • 3.6, Аноним (3), 12:10, 13/09/2018 [^] [^^] [^^^] [ответить]  
  • –3 +/
    сейчас тебе расскажут, что в пихоне с инпутом/оутпутом все равно работает сишный код. И вообще, на пихоне работало бы на 146% быстрее, чем на плюсах
     
  • 2.8, Попугай Кеша (?), 12:24, 13/09/2018 [^] [^^] [^^^] [ответить]  
  • +4 +/
    Какой хороший вброс! Он мне по душе!
     
     
  • 3.61, Аноним (61), 22:37, 14/09/2018 [^] [^^] [^^^] [ответить]  
  • +/
    Это выброс. Очевидно же.
     
  • 2.13, logo.sys (?), 12:42, 13/09/2018 [^] [^^] [^^^] [ответить]  
  • +/
    Лучше на asm
     
     
  • 3.24, Аноним (-), 14:47, 13/09/2018 [^] [^^] [^^^] [ответить]  
  • +/
    Не лучше, тут лучше на Си. Я в свое время делал турбореактивный обработчик поступающих данных на Си, поэтому знаю что и как нужно делать.
     
     
  • 4.34, Аноним (32), 16:32, 13/09/2018 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Ну и как у них решение по сравнению с вашим? Выше ерешние в откуытом доступе?
     
  • 4.39, A.Stahl (ok), 18:08, 13/09/2018 [^] [^^] [^^^] [ответить]  
  • +2 +/
    >Я в свое время делал турбореактивный обработчик

    На Турбо-Си.
    Борланд крут!

     
     
  • 5.49, Sw00p aka Jerom (?), 22:45, 13/09/2018 [^] [^^] [^^^] [ответить]  
  • +/
    в трубу этот си )
     
  • 2.14, Crazy Alex (ok), 12:47, 13/09/2018 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Потому что продакшн-решение для хайлоада?
     
     
  • 3.16, нах (?), 13:06, 13/09/2018 [^] [^^] [^^^] [ответить]  
  • +/
    их разьве не на пихоне обычно делают? ;-)

    (а, простите, на пихоне пишут файловые системы)

     
     
  • 4.19, Crazy Alex (ok), 13:45, 13/09/2018 [^] [^^] [^^^] [ответить]  
  • +/
    Для себя, для домашнего применения (соответственно, небольшие нагрузки) - без проблем хоть питон, хоть бейсик, если ты о Zero и подобных. Единственный критерий - удобство того, кто пишет (и сам же потом будет пользоваться).

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

     
     
  • 5.22, нах (?), 14:40, 13/09/2018 [^] [^^] [^^^] [ответить]  
  • +/
    а время для себя у тебя бесплатное, да?

    мне вот как раз для себя хочется 10g свитч с fcoe - потому что себя жалко (и провода короткие и дорогие).
    А менеджеры - "еще подождут".

     
     
  • 6.29, Crazy Alex (ok), 16:28, 13/09/2018 [^] [^^] [^^^] [ответить]  
  • +/
    Ну вот потому и питоны всякие:

    а) потому что пишешь на том, что и так знаешь, а не изучаешь "идеальный" язык
    б) пишешь ровно так, как тебе надо - без излишней сложности там, где она не нужна. В том числе не пытаясь экономить там, где нет (у тебя!) узких мест

     
  • 5.25, Аноним (25), 15:18, 13/09/2018 [^] [^^] [^^^] [ответить]  
  • –2 +/
    > для домашнего применения ... Единственный критерий - удобство того, кто пишет

    И наручниками того, кто такое пишет и такими критериями руководствуется, дома к батарее приковать, чтобы с таким подходом к делу из дома не мог выйти.

     
     
  • 6.26, Аноним (26), 15:33, 13/09/2018 [^] [^^] [^^^] [ответить]  
  • +3 +/
    >> для домашнего применения ... Единственный критерий - удобство того, кто пишет
    > И наручниками того, кто такое пишет и такими критериями руководствуется, дома к
    > батарее приковать, чтобы с таким подходом к делу из дома не мог выйти.

    А тебе плеточку выдать, чтобы мог объяснить всю глубину заблуждения и замотивировать сделать правильно?
    Кстати, надеюсь, бутерброт колбасой на язык кладешь?


     
     
  • 7.28, Аноним (-), 16:13, 13/09/2018 [^] [^^] [^^^] [ответить]  
  • –2 +/
    > бутерброт

    надеюсь что это были твои последние потуги что-то пытаться возразить более интеллектуальным лицам

     
     
  • 8.36, Аноним (26), 17:18, 13/09/2018 [^] [^^] [^^^] [ответить]  
  • +1 +/
    ИтнеллеХт и аргументационная мощща прям таки и прет ... текст свёрнут, показать
     
  • 6.30, нах (?), 16:28, 13/09/2018 [^] [^^] [^^^] [ответить]  
  • +1 +/
    а зачем приковывать - он и так никуда не выйдет, "счас-счас-счас, оно досинхронизирует..."

     
     
  • 7.35, Crazy Alex (ok), 16:34, 13/09/2018 [^] [^^] [^^^] [ответить]  
  • +/
    Пример. Есть тысяча файлов, по 20 мегабайт каждый. Будет там разница в скорости синхронизации между питоном и сями да хоть и на сотне мегабит?
     
     
  • 8.37, Аноним (26), 17:22, 13/09/2018 [^] [^^] [^^^] [ответить]  
  • +/
    Будет Мы, анонимы точно знаем, как офигительно быстро FUSE ведь оно на сях, че... текст свёрнут, показать
     
     
  • 9.44, пох (?), 21:46, 13/09/2018 [^] [^^] [^^^] [ответить]  
  • –1 +/
    поищите на досуге ранние тесты производительности ntfs-3g Они, по-моему, сохран... текст свёрнут, показать
     
     
  • 10.48, Аноним (26), 22:21, 13/09/2018 [^] [^^] [^^^] [ответить]  
  • +/
    https web archive org web 20080516235826 http www csamuel org 2007 04 25 com... текст свёрнут, показать
     
     
  • 11.56, нах (?), 12:04, 14/09/2018 [^] [^^] [^^^] [ответить]  
  • +/
    не, это не то, это когда уже успели линуксное ядро пооптимизировать Ищите 2004... текст свёрнут, показать
     
     
  • 12.59, Аноним (26), 13:54, 14/09/2018 [^] [^^] [^^^] [ответить]  
  • +/
    В смысле, на тему разницы и порядков величин , когда оно не упирается в IO ноут... текст свёрнут, показать
     
  • 6.33, Crazy Alex (ok), 16:32, 13/09/2018 [^] [^^] [^^^] [ответить]  
  • +3 +/
    А ты не охренел?

    Я как-то всегда считал, что если человек что-то сделал для себя и поделился с другими - то ему либо "спасибо" говорят, если пригодилось, либо игнорируют, если не нужно. Ну можно ещё предложить что-то изменить, с пониманием того, что не факт, что автор это дело примет, и это его право. А тут кто-то решил, что автор ему обязан?

     
     
  • 7.45, пох (?), 21:47, 13/09/2018 [^] [^^] [^^^] [ответить]  
  • –1 +/
    не, ну еще поржать могут. Не всегда по-дружески.
    В случае zero как раз этот вариант.

    а мордокнигу придется игнорировать - не потому что плохо, а потому что неудачная для меньших чем мордокнига целей конструкция.

     
     
  • 8.50, Crazy Alex (ok), 00:17, 14/09/2018 [^] [^^] [^^^] [ответить]  
  • +/
    В случае zero у кого-то подгорело, что обидели webdav Ну и аллергия на питон об... текст свёрнут, показать
     
  • 2.42, Аноним (42), 21:00, 13/09/2018 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Потому что в Facebook разработчики, тьфу-тьфу, не больны на всю девопсину.
     
  • 2.46, proninyaroslav (ok), 21:52, 13/09/2018 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Фишка в том что написанный на C++ код можно забиндить к любому другому языку. Чего не скажешь про питон (который сам активно использует C в своих библиотеках).
     
     
  • 3.62, Вареник (?), 04:35, 15/09/2018 [^] [^^] [^^^] [ответить]  
  • +/
    C/C++ по факту еще и самый интероперабельный язык, на уровне прямых библиотечных вызовов (не модных вебсервисов для любой мелочи).
     
  • 2.52, Аноном (?), 06:33, 14/09/2018 [^] [^^] [^^^] [ответить]  
  • +/
    Perl наше все
     
  • 2.64, Аноним (-), 18:32, 27/09/2018 [^] [^^] [^^^] [ответить]  
  • +/
    >  Почему на C++ написано а не на Python/Django?

    Потому что:
    > с интенсивностью поступления данных в несколько гигабайт в секунду

    А попробуй так на питоне данные пожевать, узнаешь много нового как там и что не тормозит :)

     

  • 1.7, Аноним (7), 12:15, 13/09/2018 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    Семантику exect once поддерживает?
     
     
  • 2.60, уася (?), 15:04, 14/09/2018 [^] [^^] [^^^] [ответить]  
  • +1 +/
    exect once не поддерживает точно
     

  • 1.9, Аноним (9), 12:27, 13/09/2018 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    а фильтровать логи при просмотре как они предлагают?
     
     
  • 2.41, Vitaliy Blats (?), 20:00, 13/09/2018 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > а фильтровать логи при просмотре как они предлагают?

    Ты где-то видел в новости строки про чтение или просмотр ? Русским же по белому написано "сохранение" и "добавление".

    Чтение ненужно.

     
     
  • 3.53, Аноним (53), 09:00, 14/09/2018 [^] [^^] [^^^] [ответить]  
  • +/
    > Чтение ненужно.

    Могу предложить новое хранилище
    /dev/null

     
     
  • 4.57, нах (?), 12:06, 14/09/2018 [^] [^^] [^^^] [ответить]  
  • +/
    он у вас не шардится, не параллелится, и производительность под вопросом.

     
     
  • 5.65, Аноним (-), 18:35, 27/09/2018 [^] [^^] [^^^] [ответить]  
  • +/
    > он у вас не шардится, не параллелится, и производительность под вопросом.

    Как не параллелится? Запустил копирование туда всех файлов на 10 компьютерах, работают все 10 параллельно.

     
  • 4.63, Вареник (?), 04:37, 15/09/2018 [^] [^^] [^^^] [ответить]  
  • +/
    А бюджет IT отдела под что выбивать? Как объяснить что новый датацентр ежемесячно не нужен?
     

  • 1.10, MPEG LA (ok), 12:34, 13/09/2018 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    там что даже индексов нету?
     
     
  • 2.54, Аноним (42), 09:30, 14/09/2018 [^] [^^] [^^^] [ответить]  
  • +/
    Нету. Оно для хранения и потокового анализа (разобрал, оценил, по необходимости выполнил действия, дропнул). При надобности можно отмотать по LSN и повторить разбор.
     

  • 1.12, logo.sys (?), 12:41, 13/09/2018 [ответить] [﹢﹢﹢] [ · · · ]  
  • +2 +/
    Неудаляемые значит... А как же GDPR? :)
     
     
  • 2.15, мордокнига (?), 13:04, 13/09/2018 [^] [^^] [^^^] [ответить]  
  • +2 +/
    все норм, там не сказано что мы обязаны это удалять - сказано что мы должны вас об этом заранее предупредить. Вы, конечно же, получали наше обновленное TOS (и, кстати, согласились с ним, о чем в logdevice есть запись)? Ну вот, на странице 68 внизу...

     
     
  • 3.20, Аноним (20), 13:59, 13/09/2018 [^] [^^] [^^^] [ответить]  
  • +/
    > все норм, там не сказано что мы обязаны это удалять

    явно сказано. По запросу должно быть всё удалено, причём имеют право запросить подтверждение того, что удалено.

     
     
  • 4.27, Василий Топоров (?), 15:57, 13/09/2018 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Так вам подтвердят, что удалили. Могут даже диплом с большой собачьей медалью выдать. Только как вы проверите? В дата-центр поедете?
     
     
  • 5.31, мордокнига (?), 16:30, 13/09/2018 [^] [^^] [^^^] [ответить]  
  • +/
    эммм, мы конечно рады что вы так думаете, но один ирландский парнишка оказался поумнее :-(

     
  • 5.47, Аноним (11), 22:14, 13/09/2018 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Только как вы проверите?

    Для этого есть правохранительный органы. Если лицо, которое обратилось, имеет сомнения, то именно они попросят продемонстрировать, как это было сделано. На самом то деле, это не смешно, если у вас бизнес в Евросоюзе.

     
     
  • 6.51, KonstantinB (ok), 06:17, 14/09/2018 [^] [^^] [^^^] [ответить]  
  • +/
    Продемонстрируют, что хранят только обезличенные логи, вот эти 64 байта - это sha-512 от рандома.

    (На самом деле, это зашифрованные AES-ом user id и ip, но как докажешь?)

     
  • 2.43, Аноним (43), 21:40, 13/09/2018 [^] [^^] [^^^] [ответить]  
  • +/
    Там же реализовано так же как в гугль аналитике, 90 дней и все логи на помойку. Обезличенные логи можно годами хранить для дата-майнинга
     

  • 1.55, Аноним (55), 11:28, 14/09/2018 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Единственная польза, которую данная сосалка рпиносит человечеству - открытые коды. Мне понравился их проект ООМа, который бы в энтерпрайз завести.....
     
     
  • 2.58, Enter price (?), 12:08, 14/09/2018 [^] [^^] [^^^] [ответить]  
  • +/
    а можно вместо этого саму идею oom в ее линуксной реализации вынести?
     

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



    Спонсоры:
    Слёрм
    Inferno Solutions
    Hosting by Ihor
    Хостинг:

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