Как стать автором
Обновить
3
0
Михаил @rakerunner

project manager

Отправить сообщение

Забудьте САР теорему как более не актуальную

Время на прочтение12 мин
Количество просмотров66K
или «Прекратите характеризовать хранилища данных как CP или AP»

capДжеф Ходжес в своем прекрасном посте «Заметки о распределенных системах для новичков» рекомендует использовать САР теорему для критики найденных решений. Многие, похоже, восприняли этот совет слишком близко к сердцу, описывая свои системы как «СР» (согласованность данных, но без постоянной доступности при сетевой распределенности), «АР» (доступность без согласованного состояния при сетевой распределенности), или иногда «СА» (означает «Я всё ещё не читал статью Коды (Coda Hale) почти 5-летней давности»).

Я согласен со всеми пунктами статьи кроме того, что касается САР теоремы. Она слишком всё упрощает и слишком многие понимают её неверно для того, чтобы использовать для определения характеристик системы. Так что я прошу перестать ссылаться на САР теорему, говорить о ней и дать ей уже спокойно уйти на покой. Вместо неё мы должны использовать более точную терминологию для обсуждения различных компромиссов.

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

САР использует слишком узкое определение


Если вы хотите ссылаться на САР как на теорему (а не на расплывчатый концепт в маркетинговых материалах к вашей базе данных), вы должны быть точны. Математика требует точности. Доказательство сохраняется только если вы вкладывается в слова, то же самое значение, что было использовано при доказательстве. И оно опирается на очень точные определения:
Еще 3000 слов увлекательного чтива
Всего голосов 70: ↑66 и ↓4+62
Комментарии23

Snowflake, Anchor Model, ELT и как с этим жить

Время на прочтение15 мин
Количество просмотров13K
Привет! Меня зовут Антон Поляков, и я разрабатываю аналитическое хранилище данных и ELT-процессы в ManyChat. В настоящий момент в мире больших данных существуют несколько основных игроков, на которых обращают внимание при выборе инструментария и подходов к работе аналитических систем. Сегодня я расскажу вам, как мы решили отклониться от скучных классических OLAP-решений в виде Vertica или Exasol и попробовать редкую, но очень привлекательную облачную DWaaS (Data Warehouse as a Service) Snowflake в качестве основы для нашего хранилища.

С самого начала перед нами встал вопрос о выборе инструментов для работы с БД и построении ELT-процессов. Мы не хотели использовать громоздкие и привычные всем готовые решения вроде Airflow или NiFi и пошли по пути тонкой кастомизации. Это был затяжной прыжок в неизвестность, который пока продолжается и вполне успешно.

Под катом я расскажу про архитектуру нашего аналитического хранилища и покажу, каким образом мы производим загрузку, обработку и трансформацию данных.
Читать дальше →
Всего голосов 11: ↑10 и ↓1+13
Комментарии8

Целостность данных в микросервисной архитектуре — как её обеспечить без распределенных транзакций и жёсткой связности

Время на прочтение9 мин
Количество просмотров62K

Всем привет. Как вы, возможно, знаете, раньше я все больше писал и рассказывал про хранилища, Vertica, хранилища больших данных и прочие аналитические вещи. Сейчас в область моей ответственности упали и все остальные базы, не только аналитические, но и OLTP (PostgreSQL), и NOSQL (MongoDB, Redis, Tarantool).


Эта ситуация позволила мне взглянуть на организацию, имеющую несколько баз данных, как на организацию, имеющую одну распределенную гетерогенную (разнородную) базу. Единую распределенную гетерогенную базу, состоящую из кучи PostgreSQL, Redis-ов и Монг… И, возможно, из одной-двух баз Vertica.


Работа этой единой распределенной базы порождает кучу интересных задач. Прежде всего, с точки зрения бизнеса важно, чтобы с данными, движущимися по такой базе, все было нормально. Я специально не использую здесь термин целостность, consistency, т.к. термин это сложный, и в разных нюансах рассмотрения СУБД (ACID и CAP теорема) он имеет разный смысл.


Ситуация с распределенной базой обостряется, если компания пытается перейти на микросервисную архитектуру. Под катом я рассказываю, как обеспечить целостность данных в микросервисной архитектуре без распределенных транзакций и жесткой связности. (А в самом конце объясняю, почему выбрал для статьи такую иллюстрацию).


Всего голосов 77: ↑76 и ↓1+75
Комментарии73

IT-гиганты нацелились на медицину. Что это значит для нас?

Время на прочтение7 мин
Количество просмотров11K


Вы заметили? Все крупные компании, занимающиеся сбором и анализом данных, двигаются в сферу здравоохранения. Amazon за $750 млн купила PillPack для продажи лекарств онлайн. Alphabet инвестирует миллиарды в Google Health, с ее десятками проектов, в том числе AI-роботами для операций и повышением эффективности скрининга глаз при диабете. Apple — создала Health App (запуск этой осенью), продвигает Apple Watch в первую очередь как трекер для здоровья, и даже недавно открыла сеть собственных клиник.


Microsoft недавно купила фирму Nuance за $19,7 млрд. Её вторая по масштабности сделка за всю историю (после покупки LinkedIn за $26 млрд). И тоже, как говорят, чтобы расширить линейку своих продуктов для здравоохранения за счет AI. Microsoft планирует подключить технологию распознавания речи Nuance к своему облаку Microsoft Cloud for Healthcare, что, по расчетам Microsoft, удвоит доступный ей рынок до $500 млрд.


Ради доступа к мир медицины компании даже готовы сильно рисковать. Так, Google последние несколько лет собирала персональные медицинские данные 50 млн американцев без их ведома. В рамках проекта «Project Nightingale» («Проект Соловей») она создавала глобальную базу с медицинскими картами пациентов, в которой есть информация об их исследованиях и анализах, диагнозах врачей, записях о госпитализации, историях болезней. С именами пациентов и датами рождения.


За это компании пригрозили судами: несколько сенаторов, в том числе бывший кандидат в президенты Элизабет Уоррен, просили открыть дело, и ставили ультиматумы партнерам Google, чтобы те вышли из проекта. Но, видимо, оно того стоит.

Читать дальше →
Всего голосов 12: ↑11 и ↓1+16
Комментарии22

Лекарство от врачебной ошибки, или какие задачи должен решать электронный доктор

Время на прочтение8 мин
Количество просмотров6.5K
А вот хорошо бы, чтобы была такая программа, в которую занёс свои жалобы — и сразу узнал, чем и как лечиться…

Так говорит, наверное, каждый больной гик, столкнувшийся с какими-то неприятностями в здравоохранении. А также каждый студент-медик, на 4 курсе освоивший компьютер.

Но так нельзя. Взрослые люди видят проблемы, ставят задачи и решают их.

В медицине давно, уже несколько десятков лет зреет проблема врачебной некомпетентности, порождающей ошибки, которые напрямую выливаются в наше с вами здоровье и качество жизни. Однако, эта проблема не обусловлена общей деградацией медицины — наоборот, находятся новые способы диагностики болезней, разрабатываются более эффективные методы лечения.


Но именно это и порождает проблему: медицинских знаний становится всё больше, их давно не в состоянии вместить ни одна светлая врачебная голова. Даже по своей специальности.
Почему?
Всего голосов 19: ↑18 и ↓1+17
Комментарии65

Что же такое этот GraphQL?

Время на прочтение9 мин
Количество просмотров689K

Вашему вниманию предлагаю перевод статьи Sacha Greif "Что же такое этот GraphQL?"


Если вы такой же, как и я, вы обычно проходите через три этапа, когда узнаёте о новой технологии:


  • Отрицание: Ещё одна JavaScript библиотека?! Зачем? У меня уже есть jQuery!
  • Интерес: Хм, наверное мне следует взглянуть на эту библиотеку...
  • Паника: Помогите! Мне нужно изучить эту библиотеку прямо сейчас, иначе мои знания устареют!

Есть одна хитрость для поддержания благоразумия в эпоху быстроразвивающихся технологий: изучать новые вещи между вторым и третьим этапом, как только интерес задет, но пока технология ещё не распространена повсеместно.


Именно поэтому сейчас самое время узнать, что же такое этот GraphQL, о котором вы повсюду слышите.

Читать дальше →
Всего голосов 23: ↑22 и ↓1+21
Комментарии55

Визуализируем FHIR — IT-стандарт для медицины

Время на прочтение5 мин
Количество просмотров12K



Здравствуйте. Меня зовут Андрей, я работаю в компании, создающей IT-решения в области медицины. В качестве основного языка разработки мы используем Clojure, а также (в зависимости от проекта/модуля) Python, Javascript, Go, C, C#, Rust, Objective-C и т.д.

Важное место в нашем технологическом стеке занимает международный стандарт FHIR (Fast Healthcare Interoperability Resources), определяющий формат хранения/обмена/предоставления медицинской информации в электронном виде и включающий в себя спецификацию RESTful API клиент-серверного взаимодействия.

Некоторое время назад я начал пет-проект приложения, которое визуализирует содержимое ресурсов произвольного FHIR-сервера и позволяет производить базовые CRUD — операции. В КДПВ показан скриншот страницы редактирования элемента ресурса типа Patient.

Под катом небольшое описание и ссылка на онлайн-демо — можно будет пощупать настоящий живой FHIR-сервер, потыкать кнопочки, посмотреть/посоздавать/поредактировать различные ресурсы и даже попробовать вызвать тот самый хабраэффект! )
Читать дальше →
Всего голосов 5: ↑5 и ↓0+5
Комментарии14

Проектирование интеграции с веб-сервисом

Время на прочтение7 мин
Количество просмотров17K

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

Читать далее
Всего голосов 6: ↑6 и ↓0+6
Комментарии2

Каким должно быть ТЗ на Корпоративную ИС?

Время на прочтение5 мин
Количество просмотров26K
Представьте, что у вас есть корпоративная информационная система в развитие которой вкладывается 200+ млн. рублей ежегодно. С момента внедрения документация на систему превратилась из одного Технического задания на 600 страниц в 300 Технических заданий, у каждого из которых есть дополнение в количестве от 1 до 10 штук, и теперь она занимает объем 3 офисных шкафов и это ещё не конец… Фабрика по производству ПО исправно и ритмично (с периодичностью в месяц) выпускает обновление системы и документирует изменения.

image

Ребята, которые разрабатывали 34-й ГОСТ явно не рассчитывали на то, что дело может принять такой оборот. Да и книги по гибким методологиям разработки тоже не дают каких-то рекомендаций как с этим быть.

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

  • Как в этом объеме документов найти те, что описывают работу определенного функционала системы?
  • Как из 20 найденных документов, описывающих Как дорабатывали функционал за последние 5 лет, понять его устройство сейчас?
  • Как за списком требований «сделать, добавить…» рассмотреть заложенную бизнес-логику?
Всего голосов 20: ↑15 и ↓5+10
Комментарии27

Опыт перехода с Waterfall на методологию RUP для реализации больших ИТ проектов

Время на прочтение16 мин
Количество просмотров29K


Как возникла необходимость отойти от классической Каскадной Модели жизненного цикла разработки


В 2009 году мне предложили выбрать и реализовать один из «гиблых» проектов. Приставку «Гиблый» каждый получил за то, что раньше за них уже пробовали браться, но ничего не вышло.

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

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

Так и один из моих Заказчиков созрел и я взялся сделать для него проект по разработке нового функционального модуля Корпоративной Информационной Системы (ERP-системы), который должен был добавить 400 новых пользователей системе и обеспечить проверку 40 000 ипотечных кредитов в год.
Читать дальше →
Всего голосов 20: ↑15 и ↓5+10
Комментарии23

Информация

В рейтинге
Не участвует
Откуда
Тбилиси, Грузия, Грузия
Дата рождения
Зарегистрирован
Активность