IT at MISIS
IT at MISIS
  • Видео 8
  • Просмотров 22 500
Понимаем состояние системы через Observability – Александр Тимошенко | ITAM: BACKEND MEETUP
Что в черном ящике? Понимание состояния системы через Observability
Рассказывает Александр Тимошенко (Яндекс)
Таймкоды:
00:00 Вступительное слово / Александр Тимошенко (Яндекс)
01:03 Подход Observability
01:58 Погружение в "Черный ящик". Логи
05:45 Метрики
07:12 Суть метрик. Какие типы нужно собирать?
09:47 Трассировки
12:00 Без чего черный ящик не откроется? Алерты
14:35 Ответы на вопросы
IT AT MISIS:
Telegram: t.me/itatmisis
VK: itatmisis
Web: itatmisis.ru
#itatmisis #itam #misis #observability #backend #yandex #meetup
Просмотров: 390

Видео

Docker Course - Занятие №4 Начало работы с Docker
Просмотров 175Месяц назад
Зачем нужен Docker, что такое контейнеризация, как билдить через docker, основные понятия Dockerfile Полезные ссылки: Мы в Телеграмм - t.me/itatmisis Мы в Вконтакте - itatmisis
Вам не нужны микросервисы* - Данила Артамонов | ITAM: BACKEND MEETUP
Просмотров 1,9 тыс.Месяц назад
Вам не нужны микросервисы (Если вы работаете над стартапом на ранних стадиях) Рассказывает Данила Артамонов (Kaspersky) Таймкоды: 00:00 Вступительное слово / Данила Артамонов (Kaspersky) 01:53 Плюсы и минусы монолитной архитектуры 06:53 Микросервисная архитектура приложения. Плюсы и минусы 12:08 Почему бизнес ушел от монолита к микросервисам? 16:07 Условия для перехода с монолитной архитектуры ...
Why foreign keys are Evil. Append-Only and Soft-Delete - Peter Ibragimov | ITAM: BACKEND MEETUP
Просмотров 3 тыс.Месяц назад
Аppend-only, Soft-Delete и другие причины почему Foreign-Key в базах данных - зло Рассказывает Петер Ибрагимов (Whoosh) Таймкоды: 00:00 Вступительное слово / Петер Ибрагимов (Whoosh) 01:02 Запрос DELETE к базе данных 04:12 Нужно ли вообще удалять данные из БД (Нет) 05:30 Подход Soft-Delete 06:27 Подход Append-only 09:18 Foreign key и зачем он нужен 12:11 Итоги IT AT MISIS: Telegram: itatmisis V...
Как разработчикам решать сложные аналитические задачи - Стас Ковалев | ITAM: BACKEND MEETUP
Просмотров 16 тыс.Месяц назад
Как разработчикам решать сложные аналитические задачи: как пробежаться по 25 миллиардам записей за 10 секунд? Рассказывает Стас Ковалев (Тинькофф) Таймкоды: 00:00 Вступительное слово / Стас Ковалев (Тинькофф) 00:57 Архитектура бекенд приложений. OLTP нагрузка 04:21 OLTP vs OLAP. В чем разница 05:30 Решение для OLAP нагрузки. Clickhouse 10:27 Работа с дубликатами 11:36 Дополнительные фишки в раб...
Docker Course - Занятие №2 Основы Linux
Просмотров 389Месяц назад
Docker Course - Занятие №2 Основы Linux
Docker Course - Занятие №3 Основы Сетей
Просмотров 1222 месяца назад
Что такое сети, IPv4, TCP/UDP, DNS и другие сложные слова
Docker Course - Занятие №1 Вводное занятие
Просмотров 2762 месяца назад
Docker Course - Занятие №1 Вводное занятие

Комментарии

  • @Alexander-ws6wl
    @Alexander-ws6wl 4 дня назад

    Я не разработчик, но волею Ютуба тут оказался. Кто-нибудь может объяснить, почему для тех, кто хранит (открывает) БД в Docker-контейнере, заготовлено отдельное место в аду? :)

  • @user-cc8lf6lc4s
    @user-cc8lf6lc4s 15 дней назад

    ни о чем

  • @user-cu4ez6hf5e
    @user-cu4ez6hf5e 18 дней назад

    Про "из базы данных никогда ничего не нужно удалять" расскажите DBA. Они любят когда у них место на дисках заканчивается, а в базе лежит гора непонятно чего, которое уже несколько лет как не используется (а может и вообще никогда не использовалось).

  • @ruzarh
    @ruzarh 22 дня назад

    Если идновременно ведет разработку продукта 30 человек, и связи достаточно сложные, то с таким подходом контролировать состояние становится очень сложно и появляется энтропия. Fk же начинает давать гарантии. Автор приводит пример crud, в которых это избыточно. Но в сложных системах где нет хайлоада, но есть сложная модель данных, гарантии очень важны. Там же где база не может запуститься без кешей, и запуск идет по повышению процентов от трафика, постепенный запуск, в таких системах fk конечно не подойдет, т.к. 5-6% нагрузки который дает fk это слишком дорого. Бред полный видео, человек делал совсем не погрузившись в тему и матчасть.

  • @matthewdubrovin
    @matthewdubrovin 23 дня назад

    Постоянно используется каскадное удаление и проверка целостности при вставке. Иногда когда система только разрабатывается - разработчики косячат и вставляют кривые несуществующие данные. Когда система отточена FK обычно убирают, чтобы снизить нагрузку на БД.

  • @moshpi7375
    @moshpi7375 23 дня назад

    мдэ..... похоже в универе предложили плюшки за доклад. бред полный

  • @user-mz6xs3eq7w
    @user-mz6xs3eq7w 23 дня назад

    Ужасный доклад. Масса "э...", "а...", сглатываний. Очень много воды и совершенно очевидной информации, которая для тех, кто хочет услышать что-то полезное, явно хорошо известная, а потому не требующая разжевывания. Доклад можно было бы сократить раза в 4, как минимум. Ну и в целом тема доклада осталась нераскрытой. Просто перечислены некоторые свойства системы, описание терминов, а о чем доклад-то был, собственно?

  • @andrewshilov4197
    @andrewshilov4197 24 дня назад

    Подача храмает

  • @VyveVern
    @VyveVern 25 дней назад

    вообще ничего не понял) я думал суть доклада в том, как именно решать какие-то сложные аналитические задачи) а получилась просто презентация кликхаус)

    • @user-xd1su3sk3i
      @user-xd1su3sk3i 20 дней назад

      Добро пожаловать в современный ИТ. 1 инженер на 15 долбо... будущих менеджеров.

  • @user-zl1zv9wi3m
    @user-zl1zv9wi3m 25 дней назад

    Прикольно! Тинькофф узнал, что есть Clickhouse =) Доклад, честно говоря, вообще ни о чем. Зайти в документацию на 15 минут и прочитать вводное - весь доклад. Причем в доке больше будет написано. Рассказанный паттерн - уже лет 10 применяется в BigData. В чем восторг - пока непонятно =(

  • @user-ly8tk8gt9t
    @user-ly8tk8gt9t 25 дней назад

    спасибо за доклад!

  • @pawsdev
    @pawsdev 26 дней назад

    FK - это констрейнт, нужен констрейнт - юзаем, не нужен - не юзаем

  • @bigmouseToto
    @bigmouseToto 26 дней назад

    Докладчик путает физическую и логическую модель данных. Append-only и soft-delete - это паттерны логические. FK же физическая.

    • @peteribragimov5071
      @peteribragimov5071 22 дня назад

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

  • @alexeykalyanov588
    @alexeykalyanov588 29 дней назад

    Про "связи" полный бред и совсем не обоснован! Садитесь 2!

  • @QazaqCode
    @QazaqCode Месяц назад

    5 минут о том какая postgre плохая, а потом, ну мы юзаем postgre

  • @Cfk47FsvfujGr5d4
    @Cfk47FsvfujGr5d4 Месяц назад

    Хоть бы пару примеров привели. Запретили похоже, боятся 😂, очень очень поверхностно получилось.

  • @user-gi4qu9do2v
    @user-gi4qu9do2v Месяц назад

    Послушал 10 мин - спикер не особо понимает, о чем говорит. Доклад - копирка первой попавшейся статьи из интернета

    • @jonkarmok1840
      @jonkarmok1840 Месяц назад

      Согласен

    • @lostinthewhitesea
      @lostinthewhitesea 25 дней назад

      а в чем проблема? я просто не в теме) это не для начинающих была конфа?)

    • @user-gi4qu9do2v
      @user-gi4qu9do2v 25 дней назад

      @@lostinthewhitesea не важно для кого конфа. Спикер читает по методичке евангелистов микросервисов, которая давно устарела (и все поняли, что она во многом врет). При этом монолит рассматривается как нечто мертвое как концепция и не понимает, что он тоже может горизонтально масштабироваться.

  • @ivormacky5078
    @ivormacky5078 Месяц назад

    Какие выводы, Тинькофф - говно, докладчик - ламер, изучайте академический курс проектирования БД, а не хватайте по верхушкам и будете без проблем создавать сложные архитектуры!

  • @pucyhok
    @pucyhok Месяц назад

    Так, а что такое кликхаус? Аутсорс за который надо платить?

    • @user-pv8dx4kb6n
      @user-pv8dx4kb6n Месяц назад

      Опенсорс база данных

    • @pucyhok
      @pucyhok Месяц назад

      Короче её не надо покупать? Надо свои бд из столбчатых в строковые перевести или начать строить?

    • @DAJakaRedAries
      @DAJakaRedAries Месяц назад

      @@pucyhok покупать не надо, можно из своих БД закинуть данные в Clickhouse

    • @qweone123
      @qweone123 Месяц назад

      @@pucyhok Гугл и чатгпт в бане

  • @user-gh3tx2jv7b
    @user-gh3tx2jv7b Месяц назад

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

    • @MaruiInfantry
      @MaruiInfantry Месяц назад

      Вчера райзнули до 700к на руки. Вот и веселый.

  • @evgeniy_toropchin
    @evgeniy_toropchin Месяц назад

    гит как успешный пример аппенд онли :D

  • @kinso1857
    @kinso1857 Месяц назад

    когда уже монолит МИСИС перепишут на микросервисы, ждем всем селом....

  • @denis.pershin
    @denis.pershin Месяц назад

    В смысле данные не удаляем? А что насчет 152-ФЗ, по которому любой пользователь может обратиться к любому оператору персональных данных и попросит удалить его данные. Пометим deleted: true? Не получится. В Европе и США законы еще строже, и данные должны быть физически удаленны с серверов даже без запроса, например когда пользователь больше не оплачивает подписку на вашем сервисе, то есть данные не нужны больше для тех целей, ради которых были созданы. Доклад как будто из реалий 2000 года. Пахнуло ностальгией :)

    • @peteribragimov5071
      @peteribragimov5071 Месяц назад

      По ФЗ-152, GDPR и тд можно просто анонизировать имя, почту и телефон. ВСЁ. Вы не обязаны удалять историю платежей, историю покупок и все остальное

    • @peteribragimov5071
      @peteribragimov5071 Месяц назад

      Я даже больше скажу. В РФ, да и в других странах, правоохранительные органы/менты часто просят дать информацию по тем или иным пользователям, даже если они удалились

    • @denis.pershin
      @denis.pershin Месяц назад

      @@peteribragimov5071 понял принял

    • @user-mz6xs3eq7w
      @user-mz6xs3eq7w Месяц назад

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

    • @denis.pershin
      @denis.pershin Месяц назад

      @@user-mz6xs3eq7w в таком случае главно понимать, что одним изменением таблицы users/accounts можно не обойтись, клиент мог "наследить" своими данными где угодно, например в чате с поддержкой и тд. Получается, что потребуется точно такая же процедура как по удалению, найти все активности юзера и затереть.

  • @_dzen_tv_
    @_dzen_tv_ Месяц назад

    Append-only и Soft-Delete ни как не конфликтует с Foreign-Key. Прямого ответа почему Foreign-Key в базе - зло нет. Спич оторван от реальности. Как часто нужно обновлять данные, как часто удалять. Стоит ли забивать канал БД лишними запросами или как можно больше работы выполнить в базе. В общем то Append-only и Soft-Delete хорошие практики, а про Foreign-Key похоже на вброс какахи.

    • @peteribragimov5071
      @peteribragimov5071 Месяц назад

      FK замедляют работу СУБД, при этом гарантируют консистентность только в том случае, если кто-то залезает в базу и нарушает консистеность, либо не проверяет ее вручную на беке (что и так делать надо)

    • @alexeykalyanov588
      @alexeykalyanov588 29 дней назад

      @@peteribragimov5071 а проверка вручную не замедляет работу? если вы пытаетесь влепить id пользователя которого нет, то без связи по ключам перед вставкой нужно делать выборку что займет больше времени. вообще в таких спичах нужны замеры, тем более что товарищ озвучил разные субд...

    • @igor8219
      @igor8219 29 дней назад

      @@peteribragimov5071 то что делать проверки на бэке надо, это понятно. Но здесь у тебя есть хотя бы запасной парашют ввиде БД, а тут получается ты сам, без страховки. Как по мне, риск появления неконсистентного стейта в системе на порядки выше. В команде работают люди разной компетенции, хотя и синьоры много ошибаются. Эту идею можно развить, сказав, что и тесты тоже зло и не нужны, ведь они так же не гарантируют отсутствие багов.

    • @dmitryduzhinsky2739
      @dmitryduzhinsky2739 27 дней назад

      @@peteribragimov5071 бэкендов много, в базу лезут и вручную, данные подкачиваются со сторонних источников. Проверить целостность данных на беке можно только лишь выкачав из базы связанные данные, что излишне. Зачем изобретать велосипед у себя в бэкенде, если согласованность данных можно обеспечить за счет готового универсального решения?

    • @user-be2jl4wm2n
      @user-be2jl4wm2n 27 дней назад

      @@peteribragimov5071 Так у вас есть FK для проверки, ну то есть звучит в докладе как - мы просто напишем свой FK (реализуем все проверки которые он делает) и будем иметь больше гибкости так как это наше решение. Возможно в каких-то исключительных случаях написание кастомных проверок на беке вместо использования готового решения и норм, но в общем случае лучше использовать уже готовое универсальное решение поставляемое БД

  • @senior_of_cs
    @senior_of_cs Месяц назад

    интересно почему FK тогда создавались и так долго остаются в использовании? Инерция? ))

    • @peteribragimov5071
      @peteribragimov5071 Месяц назад

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

  • @TechBusinessDev
    @TechBusinessDev Месяц назад

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

    • @peteribragimov5071
      @peteribragimov5071 Месяц назад

      1. Если кто-то залезает в БД руками - эти руки надо оторвать:). 2. Нарушить консистентность бизнес-процессов через обход бекенд можно вне зависимости от того, есть FK или нет. Скажем можно зайти в БД и понизить стоимость заказа. Или, например, накинуть себе баланса. 3. Проверять корректность инпутов в любом случае надо. Если, скажем, мы создаем заказ на 100 человек на 1000 позиций, то нам в любом случае надо проверить, что все эти 100 человек есть, они имеют право получить заказать указанные товары и тд. При этом менять айдишники - плохая практика, поэтому мы можем быть уверены, что значения будут корректными

    • @TechBusinessDev
      @TechBusinessDev Месяц назад

      @@peteribragimov5071 1. В базу лезут все всегда. Даже те кто обещает, что не залезет. Это просто факт, с которым надо смириться и учитывать. Ну конечно в финтехе каком-нибудь с этим построже, но в большенстве компаний думаю всем насрать. 2. Да, можно, но это не повод давать еще больше возможностей все сломать. 3. Проверять то нужно и все проверяют весь ввод пользователя и все такое. Но вот скрипты, которые запускаются по крону и делают сложные штуки не будут проверять так как это долго. Какая нибудь статистика не будет проверять. Какая-нибудь джоба чтобы быстрее выполниться не будет проверять. Какой-нибудь джун накосячит. Сам случайно накосячишь. А потом в коде вызываешь order->user->id и получаешь в лоб исключение, что юзера нет)

    • @TechBusinessDev
      @TechBusinessDev Месяц назад

      @@peteribragimov5071 1. В базу лезут все всегда. Даже те кто обещает, что не залезет. Это просто факт, с которым надо смириться и учитывать. Ну конечно в финтехе каком-нибудь с этим построже, но в большенстве компаний думаю всем насрать. 2. Да, можно, но это не повод давать еще больше возможностей все сломать. 3. Проверять то нужно и все проверяют весь ввод пользователя и все такое. Но вот скрипты, которые запускаются по крону и делают сложные штуки не будут проверять так как это долго. Какая нибудь статистика не будет проверять. Какая-нибудь джоба чтобы быстрее выполниться не будет проверять. Какой-нибудь джун накосячит. Сам случайно накосячишь. А потом в коде вызываешь order->user->id и получаешь в лоб исключение, что юзера нет)

    • @doctorw
      @doctorw Месяц назад

      @@peteribragimov5071 если в бд через триггеры везде стоят запреты, то фиг ты поменяешь стоимость заказа. Если достаточно плотно обложить всё ограничениями и проверками, то испортить данные можно будет только имея высокие привилегии в бд.

    • @bigmouseToto
      @bigmouseToto 26 дней назад

      @@peteribragimov5071 Отрывание рук никак не поможет решит уже существующую проблему с удалёнными данными. Нужно максимально заботиться о целостности данных. Всегда. Наивно думать, что никто не сделает "плохо" или "неправильно". Обязательно сделает. И вы потеряете данные. А вот кому после этого руки отрывать - это тоже вопрос. Возможно тем, кто отказывается от fk, потому что они "медленные" или "устаревшие".

  • @user-ly8tk8gt9t
    @user-ly8tk8gt9t Месяц назад

    Вау, спасибо!

  • @alexanderpliskin1875
    @alexanderpliskin1875 Месяц назад

    Красавчик!

  • @denissin2067
    @denissin2067 Месяц назад

    Доклад пушка)

  • @DaniilKim-is2oh
    @DaniilKim-is2oh Месяц назад

    Очень круто!