CRDT. Разрешай конфликты лучше, чем Cassandra

18:15 /Зал 2 / RU / Введение в технологию

Несколько дата-центров с асинхронной репликацией и отсутствием координации; доступность и корректная работа в условиях сетевой сегментации; молниеносный отклик на клиенте и оптимистичный UI; офлайн-режим работы в браузере или на смартфоне. Всё это звучит круто, не правда ли? Немногие приложения сегодня могут похвастаться таким набором возможностей. Причина в том, что всё это может привести к конкурентным изменениям, а конкурентные изменения приводят к конфликтам… И вот вы уже пишете свой conflict resolver на timestamp’ах. А будет ли ваш conflict resolver работать правильно? Скорее всего, нет. Научное сообщество придумало решение проблемы — CRDT (Conflict-free replicated datatypes). В своем докладе Андрей покажет почему простейшие conflict resolver’s не работают на конкретном примере, а потом расскажет про CRDT. Слушатели узнают о различных видах CRDT, их преимуществах и недостатках. Доклад также коснётся границ применимости CRDT. В конце доклада Андрей рассмотрит несколько баз данных с поддержкой CRDT, для того, чтобы вы знали, какую БД выбрать для вашего следующего проекта. Или, может быть, задумались о написании своей собственной…


Андрей Ершов

Андрей Ершов

Андрей — руководитель проектов и архитектор в компании Dino Systems. Занимается программированием на Java 7 лет. Имеет опыт разработки приложений различного масштаба: настольных, мобильных, корпоративных, а также серверных приложений с большим количеством пользователей. Основные интересы — конкурентное программирование и построение распределённых систем. Сейчас работает над высокодоступной системой аудио- и видео-конференций. Андрей окончил бакалавриат по специальности бизнес-информатика, магистратуру по специальности мат. методы в экономике, интересуется биологией и биоинформатикой.