Мультиплатформенная синхронизация структурированных...

78

Upload: codefest

Post on 16-Jul-2015

390 views

Category:

Software


1 download

TRANSCRIPT

Yandex DataSync API

Лев Толмачев, разработчик облачных сервисов

3

Структурированные данные

4

Структурированные данные

Настройки

4

Структурированные данные

Настройки Избранное, закладки, списки

4

Структурированные данные

Настройки Избранное, закладки, списки

Профиль

4

Структурированные данные

Настройки Избранное, закладки, списки

Профиль Прогрессв играх

4

Файловые облака

5

dump

Файлы

Google Drive

6

One DriveЯндекс.Диск

Файлы – не структурированные данные

Google Drive

7

One DriveЯндекс.Диск

Специальное API

8

ServerClient code

настройки

профиль

прогресс

закладки

избранное

Общее решение

9

Общее решение

10

10

Надежность

10

Актуальность

Надежность

Универсальность решения

10

Актуальность

Надежность

Универсальность решения

Удобство использования10

Актуальность

Надежность

Надежность

Надежность

12

data

13

data

Актуальность

14

data

push

push

push

Актуальность

Конфликты

16

data data

17

Системы контроля версий

18

Дельты и ревизии

19

rev=1

rev=1 rev=1

Дельты и ревизии

20

rev=1

rev=1 rev=1

data, rev=1

Дельты и ревизии

21

rev=2

rev=2 rev=1

Дельты и ревизии

22

rev=2

rev=2 rev=1

data, rev=1

Дельты и ревизии

23

rev=2

rev=2 rev=1

delta, rev=2

Дельты и ревизии

24

rev=2

rev=2 rev=1

merge

Дельты и ревизии

25

rev=2

rev=2 rev=2

data, rev=2

Дельты и ревизии

26

rev=3

rev=2 rev=3

push

Дельты и ревизии

27

rev=3

rev=3 rev=3

Много устройств

28

rev=3

rev=3 rev=2rev=1 rev=1rev=2

Проблемы сети

29

rev=1

rev=1

timeout

Проблемы сети

30

rev=1

rev=1

retry

Проблемы сети

31

rev=2

rev=1

timeout

Проблемы сети

32

rev=2

rev=1

conflict

Подпись данных

33

rev=2

rev=1

timeout

sign=2123.4235.1315

Подпись данных

34

rev=2

rev=1

sign=2123.4235.1315

Подпись данных

35

rev=2

rev=2

Интерфейс

Простой? Универсальный?

37

38

Модель данных

39

db1 db2

Я.Диск +

Василий Пупкин

db3

Модель данных

База данных

Коллекция

40

Объект

Модель данных

〉Отсутствие схемы

41

Модель данных

〉Отсутствие схемы

〉База – единица синхронизации

41

Модель данных

〉Отсутствие схемы

〉База – единица синхронизации

〉Атомарность изменений внутри базы

41

Пример: Адреса

База данных: default

Коллекция: addresses

42

title

latitude

longitude

address_line

API

43

?

API

44

ServerClient code HTTP

API

45

ServerClient code HTTP ServerREST

API

46

ServerClient code ServerRESTHTTP SPDY

API

46

ServerClient code ServerRESTHTTP SPDY

Уменьшение задержек

Одно соединение с сервером

Один SSL Handshake

API

47

?

SPDY

REST

API

47

?delta rev

snapshot

push

SPDY

REST

DataSync API SDK

48

ServerClient code API ServerSDKNetwork

DataSync API SDK

49

ServerClient code API ServerNetworkC++Java

ObjC

50

SDK

50

SDK

50

SDK

50

SDK

50

SDK

50

SDK

изменить поле

методы

50

SDK

изменить поле

методы

сохранить

50

SDK

изменить поле

методы

сохранить

данные

Решенные проблемы

51

〉Разрешение конфликтов

Решенные проблемы

51

〉Разрешение конфликтов

〉Частичное обновление данных

Решенные проблемы

51

〉Разрешение конфликтов

〉Частичное обновление данных

〉Работа без сети

Решенные проблемы

51

〉Разрешение конфликтов

〉Частичное обновление данных

〉Работа без сети

〉Кроссплатформенность

52

52

НадежностьУниверсальность

Удобство

Yandex DataSync API

tech.yandex.ru/datasync

54

Вопросы?

55

Лев Толмачев

Разработчик облачных сервисов

Контакты

[email protected]