NoSQL и Zend Framework (Никита Грошин)

4,795 views

Published on

Никита Грошин
Geometry Lab

0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
4,795
On SlideShare
0
From Embeds
0
Number of Embeds
2,400
Actions
Shares
0
Downloads
17
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

NoSQL и Zend Framework (Никита Грошин)

  1. 1. NOSQL
  2. 2. GeometriaLab Geometria.Ru Geometria.Me
  3. 3. Тренды Количество данных Связанность данных Усложнение сущностей Усложнение архитектуры
  4. 4. Нагрузка В чем причина?
  5. 5. NOSQL Key-Value Document GraphDB BigTable
  6. 6. Key-Value Большие объемы данных Скорость Репликация Масштабируемость
  7. 7. Document Выборки по Value Шардинг Map/Reduce Версионность
  8. 8. Graph/BigTable Пара слов..
  9. 9. Плюсы Масштабируемость Надежность Доступность Гибкость
  10. 10. Минусы Выборки Согласованность Стандартизация Безопасность
  11. 11. Минусы Выборки Согласованность Стандартизация Безопасность
  12. 12. Redis Легкий,быстрый lists, sets, ordered sets Атомарные операции union, intersection, difference
  13. 13. Данные Key:String =>Value:String Key:String =>Value:LIST Key:String =>Value:SET Key:String =>Value:ZSET
  14. 14. Скорость 200000 GET/SET в секунду Множество клиентов Операции в RAM Асинхронный persistencRAMe
  15. 15. Репликация Встроенный асинхронный Master=>Slave Цепочки репликаций Slave блокируется, Master нет
  16. 16. Шардинг Консистентные хэши Redis Cluster Application level
  17. 17. Rediska Несколькими серверами Ключами как с объекты LIST и SET как массивы Интеграция с Zend Framework
  18. 18. Zend Framework Кладем Redika в library Вносим Rediska в конфиг
  19. 19. Интеграция
  20. 20. Zend Framework Кладем Redika в library Вносим Rediska в конфиг
  21. 21. Интеграция Zend_Auth adapter Zend_Cache backend Zend_Log writer Zend_Queue adapter Zend_Session save handler
  22. 22. Интеграция Zend_Auth adapter Zend_Cache backend Zend_Log writer Zend_Queue adapter Zend_Session save handler
  23. 23. class UsersPosts extends Rediska_Key_Set { … $users = new UsersPosts($userId); $users->add($postId1); $users->add($postId2); … foreach ($users as $userId) {
  24. 24. MongoDb
  25. 25. Хорош Идеален для Web Кэширование JSON, BSON Там где RDBMS плох
  26. 26. Плох Сложные Транзакции Enterprise Забивание гвоздей Там где RDBMS плох
  27. 27. Sql vs. Mongo
  28. 28. SQL MongoDB SELECT a,b FROM users db.users.find({}, {a:1,b:1}) SELECT * FROM users WHERE age<33 db.users.find({'age' :{$lt:33}})})
  29. 29. Mongo PHP Pecl driver ZF, Kohana, Symfony Morph, Simplemongophp, MapReduce API

×