NoSQL и Zend Framework (Ростислав Михайлив)

4,050 views

Published on

Ростислав Михайлив
Chief Developer / Software Architect, Gadu-Gadu

Published in: Technology
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
4,050
On SlideShare
0
From Embeds
0
Number of Embeds
2,533
Actions
Shares
0
Downloads
25
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

NoSQL и Zend Framework (Ростислав Михайлив)

  1. 1. NoSQL и немного больше
  2. 2. Sql VS NoSQL  Схема данных  Аггрегация данных  Консистентность данных  Миграция от SQL к NoSQL  Кеширование  Map-Reduce/Queues
  3. 3. Схема данных  Отсутсвут напрочь  Не требуется миграции схем  Можно хранить древовидные данные в удобном формате  Естественные ключи
  4. 4. Схема данных  Приводить к ожидаемому виду уже на клиенте (mappers)  Следить за целостностью данных (signup, optimistic blocking, update timespamp)  Разбирать конфликты, когда на разных шардах разные данные
  5. 5.  Аггрегация данных  Консистентность данных
  6. 6. Миграция от Sql к NoSQL  Key-Value - быстро  Map-Reduce — медленно  Queues — для всех тяжелых операций, запись, обновление нескольких записей
  7. 7. Миграция от Sql к NoSQL  Один ко одному
  8. 8. Миграция от Sql к NoSQL  Выделить натуральный ключ name  Изменить UserDescription::id $ {name}_description
  9. 9. Миграция от Sql к NoSQL  Один ко многим
  10. 10. Миграция от Sql к NoSQL  Мало елементов/Редко меняются → серилизованый подмассив  Выделить естественный ключ  Преобразовать связь в однопарпавленную
  11. 11. Миграция от Sql к NoSQL  Многие ко многим
  12. 12. Миграция от Sql к NoSQL Способ 1 — серилизация Быстро, дешево удобно — если чего-то мало
  13. 13. Миграция от Sql к NoSQL Способ 2 — финт ушами Обновлять в 2 шага, просто резать
  14. 14. Миграция от Sql к NoSQL Способ 3 — внешний сервис Просто, дешево — внешний сервис
  15. 15. Миграция от Sql к NoSQL Автоинкремент  Сервис — memcache  Случайный ключ — 2^32, Uid 16/32  Хеш данных — md5  Натуральный ключ — просто, очевидно
  16. 16. Миграция от Sql к NoSQL Random  Предварительно выбраные данные  Буфер с лимитом — обращений пользователей к сайту за 5-30 мин — случайны  Случайный процент трафика за сутки
  17. 17. Миграция от Sql к NoSQL GroupBy  Map-Reduce — собираем и раскладываем в нужном порядке в очереди  Собираем все и групируем на фротенде
  18. 18.  Crc32 % N  Кольцо  Сервис  Сервис — финт ушами
  19. 19. Вопросы ?

×