2015-12-05 Данил Никифоров - nosql для мобайла с...
TRANSCRIPT
![Page 1: 2015-12-05 Данил Никифоров - NoSQL для мобайла с синхронизацией данных](https://reader030.vdocuments.net/reader030/viewer/2022032710/5884baff1a28ab34778b570b/html5/thumbnails/1.jpg)
МобильныиNoSQL
исинхронизация
![Page 2: 2015-12-05 Данил Никифоров - NoSQL для мобайла с синхронизацией данных](https://reader030.vdocuments.net/reader030/viewer/2022032710/5884baff1a28ab34778b570b/html5/thumbnails/2.jpg)
Сложностиприсинхронизацииданных
1. Поддержкаконсистентностиданных2. Учетсостояниеоффлайн/онлайн3. Обработкаконфликтов4. Разграничениеправдоступа5. MappingсущностейлокальнойБДнаБДсервера
![Page 3: 2015-12-05 Данил Никифоров - NoSQL для мобайла с синхронизацией данных](https://reader030.vdocuments.net/reader030/viewer/2022032710/5884baff1a28ab34778b570b/html5/thumbnails/3.jpg)
КОМПОНЕНТЫСИСТЕМЫСИНХРОНИЗАЦИИ
![Page 4: 2015-12-05 Данил Никифоров - NoSQL для мобайла с синхронизацией данных](https://reader030.vdocuments.net/reader030/viewer/2022032710/5884baff1a28ab34778b570b/html5/thumbnails/4.jpg)
Couchbasemobile
![Page 5: 2015-12-05 Данил Никифоров - NoSQL для мобайла с синхронизацией данных](https://reader030.vdocuments.net/reader030/viewer/2022032710/5884baff1a28ab34778b570b/html5/thumbnails/5.jpg)
CouchbaseLiteНативный,полнофункциональный,документ-ориентированный,легковесный,секьюрный
фреймворк
![Page 6: 2015-12-05 Данил Никифоров - NoSQL для мобайла с синхронизацией данных](https://reader030.vdocuments.net/reader030/viewer/2022032710/5884baff1a28ab34778b570b/html5/thumbnails/6.jpg)
Легковесность
• Являетсябиблиотекойподключаемойкприложению,анедополнительнымсервернымпроцессом.
• БыстрыйзапускнаотносительномедленныхCPU:<50msнасвежихiPhone.
• Невысокоепотреблениепамятиихорошаяпроизводительность.
![Page 7: 2015-12-05 Данил Никифоров - NoSQL для мобайла с синхронизацией данных](https://reader030.vdocuments.net/reader030/viewer/2022032710/5884baff1a28ab34778b570b/html5/thumbnails/7.jpg)
Документо-ориентированность
• ДанныехранятсяввидеJSONдокументов.
• Отсутствуетсхемабазыданных
• Данныемогутэволюционироватьбезнеобходимостиявныхмиграций
• Документымогутсодержатьсравнительнобольшиеаттачменты
![Page 8: 2015-12-05 Данил Никифоров - NoSQL для мобайла с синхронизацией данных](https://reader030.vdocuments.net/reader030/viewer/2022032710/5884baff1a28ab34778b570b/html5/thumbnails/8.jpg)
Синхронизируемость
• Любые2копиибазымогутбытьсинхронизированы(eventuallyconsistent)
• Интерфейсдлямерджа
• Двавида:on-demandиconxnuous
![Page 9: 2015-12-05 Данил Никифоров - NoSQL для мобайла с синхронизацией данных](https://reader030.vdocuments.net/reader030/viewer/2022032710/5884baff1a28ab34778b570b/html5/thumbnails/9.jpg)
Архитектура
![Page 10: 2015-12-05 Данил Никифоров - NoSQL для мобайла с синхронизацией данных](https://reader030.vdocuments.net/reader030/viewer/2022032710/5884baff1a28ab34778b570b/html5/thumbnails/10.jpg)
Хранилище:SQLite/ForestDBForestDBэтоновоехранилищекотороеможетбытьиспользовановCBL.Оноимеетпреимуществавскорости(2x-5x)ииспользованиипамяти.Недостатки:• НельзятакпростопереключитьсясSQLiteнаForestDB
• FullTextsearchоченьлимитированныйимедленнеечемFTS3(SQLite)
• GEOSearchоченьлимитированный(толькопоискпоточкам)
![Page 11: 2015-12-05 Данил Никифоров - NoSQL для мобайла с синхронизацией данных](https://reader030.vdocuments.net/reader030/viewer/2022032710/5884baff1a28ab34778b570b/html5/thumbnails/11.jpg)
КАЖДОМУIOSРАЗРАБОТЧИКУНУЖНЫМОДЕЛИ
![Page 12: 2015-12-05 Данил Никифоров - NoSQL для мобайла с синхронизацией данных](https://reader030.vdocuments.net/reader030/viewer/2022032710/5884baff1a28ab34778b570b/html5/thumbnails/12.jpg)
![Page 13: 2015-12-05 Данил Никифоров - NoSQL для мобайла с синхронизацией данных](https://reader030.vdocuments.net/reader030/viewer/2022032710/5884baff1a28ab34778b570b/html5/thumbnails/13.jpg)
Models
![Page 14: 2015-12-05 Данил Никифоров - NoSQL для мобайла с синхронизацией данных](https://reader030.vdocuments.net/reader030/viewer/2022032710/5884baff1a28ab34778b570b/html5/thumbnails/14.jpg)
CRUD
![Page 15: 2015-12-05 Данил Никифоров - NoSQL для мобайла с синхронизацией данных](https://reader030.vdocuments.net/reader030/viewer/2022032710/5884baff1a28ab34778b570b/html5/thumbnails/15.jpg)
DocumentinDB
![Page 16: 2015-12-05 Данил Никифоров - NoSQL для мобайла с синхронизацией данных](https://reader030.vdocuments.net/reader030/viewer/2022032710/5884baff1a28ab34778b570b/html5/thumbnails/16.jpg)
A�achments
![Page 17: 2015-12-05 Данил Никифоров - NoSQL для мобайла с синхронизацией данных](https://reader030.vdocuments.net/reader030/viewer/2022032710/5884baff1a28ab34778b570b/html5/thumbnails/17.jpg)
Synchronizaxon
![Page 18: 2015-12-05 Данил Никифоров - NoSQL для мобайла с синхронизацией данных](https://reader030.vdocuments.net/reader030/viewer/2022032710/5884baff1a28ab34778b570b/html5/thumbnails/18.jpg)
RevisionHistory
• Прикаждомизменениидокументасоздаетсяноваяревизия(CBLRevision)
• Удалениеэтосозданиеревизиисполем“_deleted”
• Намвозможнопотребуетсяустранятьконфликты
• [databasecompact];
![Page 19: 2015-12-05 Данил Никифоров - NoSQL для мобайла с синхронизацией данных](https://reader030.vdocuments.net/reader030/viewer/2022032710/5884baff1a28ab34778b570b/html5/thumbnails/19.jpg)
ReplicaxonConflicts
![Page 20: 2015-12-05 Данил Никифоров - NoSQL для мобайла с синхронизацией данных](https://reader030.vdocuments.net/reader030/viewer/2022032710/5884baff1a28ab34778b570b/html5/thumbnails/20.jpg)
Authenxcaxon
![Page 21: 2015-12-05 Данил Никифоров - NoSQL для мобайла с синхронизацией данных](https://reader030.vdocuments.net/reader030/viewer/2022032710/5884baff1a28ab34778b570b/html5/thumbnails/21.jpg)
SYNCGATEWAY
![Page 22: 2015-12-05 Данил Никифоров - NoSQL для мобайла с синхронизацией данных](https://reader030.vdocuments.net/reader030/viewer/2022032710/5884baff1a28ab34778b570b/html5/thumbnails/22.jpg)
SyncGateway
• Репликации• Аутентификация• Секционирование(parxxoning)данных
• Контрольдоступакданным
![Page 23: 2015-12-05 Данил Никифоров - NoSQL для мобайла с синхронизацией данных](https://reader030.vdocuments.net/reader030/viewer/2022032710/5884baff1a28ab34778b570b/html5/thumbnails/23.jpg)
Channels
![Page 24: 2015-12-05 Данил Никифоров - NoSQL для мобайла с синхронизацией данных](https://reader030.vdocuments.net/reader030/viewer/2022032710/5884baff1a28ab34778b570b/html5/thumbnails/24.jpg)
SyncFuncxon
![Page 25: 2015-12-05 Данил Никифоров - NoSQL для мобайла с синхронизацией данных](https://reader030.vdocuments.net/reader030/viewer/2022032710/5884baff1a28ab34778b570b/html5/thumbnails/25.jpg)
![Page 26: 2015-12-05 Данил Никифоров - NoSQL для мобайла с синхронизацией данных](https://reader030.vdocuments.net/reader030/viewer/2022032710/5884baff1a28ab34778b570b/html5/thumbnails/26.jpg)
![Page 27: 2015-12-05 Данил Никифоров - NoSQL для мобайла с синхронизацией данных](https://reader030.vdocuments.net/reader030/viewer/2022032710/5884baff1a28ab34778b570b/html5/thumbnails/27.jpg)
SyncFuncxonSample1
![Page 28: 2015-12-05 Данил Никифоров - NoSQL для мобайла с синхронизацией данных](https://reader030.vdocuments.net/reader030/viewer/2022032710/5884baff1a28ab34778b570b/html5/thumbnails/28.jpg)
SyncFuncxonSample2
![Page 29: 2015-12-05 Данил Никифоров - NoSQL для мобайла с синхронизацией данных](https://reader030.vdocuments.net/reader030/viewer/2022032710/5884baff1a28ab34778b570b/html5/thumbnails/29.jpg)
![Page 30: 2015-12-05 Данил Никифоров - NoSQL для мобайла с синхронизацией данных](https://reader030.vdocuments.net/reader030/viewer/2022032710/5884baff1a28ab34778b570b/html5/thumbnails/30.jpg)
![Page 31: 2015-12-05 Данил Никифоров - NoSQL для мобайла с синхронизацией данных](https://reader030.vdocuments.net/reader030/viewer/2022032710/5884baff1a28ab34778b570b/html5/thumbnails/31.jpg)
Q&A
![Page 32: 2015-12-05 Данил Никифоров - NoSQL для мобайла с синхронизацией данных](https://reader030.vdocuments.net/reader030/viewer/2022032710/5884baff1a28ab34778b570b/html5/thumbnails/32.jpg)
THANKYOU