В докладе будет рассказано о том, зачем Яндексу понадобилась синхронизация данных и с чем пришлось столкнуться в процессе: Почему синхронизируем на уровне приложения. Update log против Insert log. Проблемы связанные с DB. Типы данных, отсутствие транзакций. Проблемы связанные с Django. Проблемы связанные c изменениями ниже уровня приложения. Например массовый update.
6. Данные
1. Информация о людях, офисах, оборудовании...
2. Данных не много - несколько сотен тысяч.
3. Сложные связи между сущностями.
4. Важна целостность.
15. Получать изменения частями
1. Изменения на уровне БД (mptt).
– Сами создаем записи в логе.
– Регламентная процедура на клиенте.
– Логика для каждого объекта на клиенте.
2. Нужны состояния на момент создания.
16. Получать изменения частями
1. Изменения на уровне БД (mptt).
– Сами создаем записи в логе.
– Регламентная процедура на клиенте.
– Логика для каждого объекта на клиенте.
2. Нужны состояния на момент создания.
23. Получать изменения частями
1. Нужна очередь. Но что делать с пропусками?
2. Объем лога постоянно растет, но его можно обрезать.
3. В django нет сигналов на commit транзакций.
24. Получать изменения частями
1. Нужна очередь. Но что делать с пропусками?
2. Объем лога постоянно растет, но его можно обрезать.
3. В django нет сигналов на commit транзакций.
25. Получать изменения частями
1. Нужна очередь. Но что делать с пропусками?
2. Объем лога постоянно растет, но его можно обрезать.
3. В django нет сигналов на commit транзакций.