2015-12-05 Данил Никифоров - nosql для мобайла с...

32
Мобильный NoSQL и синхронизация

Upload: happydev

Post on 22-Jan-2017

333 views

Category:

Software


3 download

TRANSCRIPT

Page 1: 2015-12-05 Данил Никифоров - NoSQL для мобайла с синхронизацией данных

МобильныиNoSQL

исинхронизация

Page 2: 2015-12-05 Данил Никифоров - NoSQL для мобайла с синхронизацией данных

Сложностиприсинхронизацииданных

1. Поддержкаконсистентностиданных2. Учетсостояниеоффлайн/онлайн3. Обработкаконфликтов4. Разграничениеправдоступа5. MappingсущностейлокальнойБДнаБДсервера

Page 3: 2015-12-05 Данил Никифоров - NoSQL для мобайла с синхронизацией данных

КОМПОНЕНТЫСИСТЕМЫСИНХРОНИЗАЦИИ

Page 4: 2015-12-05 Данил Никифоров - NoSQL для мобайла с синхронизацией данных

Couchbasemobile

Page 5: 2015-12-05 Данил Никифоров - NoSQL для мобайла с синхронизацией данных

CouchbaseLiteНативный,полнофункциональный,документ-ориентированный,легковесный,секьюрный

фреймворк

Page 6: 2015-12-05 Данил Никифоров - NoSQL для мобайла с синхронизацией данных

Легковесность

•  Являетсябиблиотекойподключаемойкприложению,анедополнительнымсервернымпроцессом.

•  БыстрыйзапускнаотносительномедленныхCPU:<50msнасвежихiPhone.

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

Page 7: 2015-12-05 Данил Никифоров - NoSQL для мобайла с синхронизацией данных

Документо-ориентированность

•  ДанныехранятсяввидеJSONдокументов.

•  Отсутствуетсхемабазыданных

•  Данныемогутэволюционироватьбезнеобходимостиявныхмиграций

•  Документымогутсодержатьсравнительнобольшиеаттачменты

Page 8: 2015-12-05 Данил Никифоров - NoSQL для мобайла с синхронизацией данных

Синхронизируемость

•  Любые2копиибазымогутбытьсинхронизированы(eventuallyconsistent)

•  Интерфейсдлямерджа

•  Двавида:on-demandиconxnuous

Page 9: 2015-12-05 Данил Никифоров - NoSQL для мобайла с синхронизацией данных

Архитектура

Page 10: 2015-12-05 Данил Никифоров - NoSQL для мобайла с синхронизацией данных

Хранилище:SQLite/ForestDBForestDBэтоновоехранилищекотороеможетбытьиспользовановCBL.Оноимеетпреимуществавскорости(2x-5x)ииспользованиипамяти.Недостатки:•  НельзятакпростопереключитьсясSQLiteнаForestDB

•  FullTextsearchоченьлимитированныйимедленнеечемFTS3(SQLite)

•  GEOSearchоченьлимитированный(толькопоискпоточкам)

Page 11: 2015-12-05 Данил Никифоров - NoSQL для мобайла с синхронизацией данных

КАЖДОМУIOSРАЗРАБОТЧИКУНУЖНЫМОДЕЛИ

Page 12: 2015-12-05 Данил Никифоров - NoSQL для мобайла с синхронизацией данных
Page 13: 2015-12-05 Данил Никифоров - NoSQL для мобайла с синхронизацией данных

Models

Page 14: 2015-12-05 Данил Никифоров - NoSQL для мобайла с синхронизацией данных

CRUD

Page 15: 2015-12-05 Данил Никифоров - NoSQL для мобайла с синхронизацией данных

DocumentinDB

Page 16: 2015-12-05 Данил Никифоров - NoSQL для мобайла с синхронизацией данных

A�achments

Page 17: 2015-12-05 Данил Никифоров - NoSQL для мобайла с синхронизацией данных

Synchronizaxon

Page 18: 2015-12-05 Данил Никифоров - NoSQL для мобайла с синхронизацией данных

RevisionHistory

•  Прикаждомизменениидокументасоздаетсяноваяревизия(CBLRevision)

•  Удалениеэтосозданиеревизиисполем“_deleted”

•  Намвозможнопотребуетсяустранятьконфликты

•  [databasecompact];

Page 19: 2015-12-05 Данил Никифоров - NoSQL для мобайла с синхронизацией данных

ReplicaxonConflicts

Page 20: 2015-12-05 Данил Никифоров - NoSQL для мобайла с синхронизацией данных

Authenxcaxon

Page 21: 2015-12-05 Данил Никифоров - NoSQL для мобайла с синхронизацией данных

SYNCGATEWAY

Page 22: 2015-12-05 Данил Никифоров - NoSQL для мобайла с синхронизацией данных

SyncGateway

•  Репликации•  Аутентификация•  Секционирование(parxxoning)данных

•  Контрольдоступакданным

Page 23: 2015-12-05 Данил Никифоров - NoSQL для мобайла с синхронизацией данных

Channels

Page 24: 2015-12-05 Данил Никифоров - NoSQL для мобайла с синхронизацией данных

SyncFuncxon

Page 25: 2015-12-05 Данил Никифоров - NoSQL для мобайла с синхронизацией данных
Page 26: 2015-12-05 Данил Никифоров - NoSQL для мобайла с синхронизацией данных
Page 27: 2015-12-05 Данил Никифоров - NoSQL для мобайла с синхронизацией данных

SyncFuncxonSample1

Page 28: 2015-12-05 Данил Никифоров - NoSQL для мобайла с синхронизацией данных

SyncFuncxonSample2

Page 29: 2015-12-05 Данил Никифоров - NoSQL для мобайла с синхронизацией данных
Page 30: 2015-12-05 Данил Никифоров - NoSQL для мобайла с синхронизацией данных
Page 31: 2015-12-05 Данил Никифоров - NoSQL для мобайла с синхронизацией данных

Q&A

Page 32: 2015-12-05 Данил Никифоров - NoSQL для мобайла с синхронизацией данных

THANKYOU