Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
0
10000
20000
30000
40000
50000
60000
70000
80000
0 200 400 600 800 1000 1200
Tarantool
Workload A
0
10000
20000
30000
40000
50000
60000
70000
80000
0 200 400 600 800 1000 1200
Раздельно
Вместе
Посмотрите на этот горбик!
0
10000
20000
30000
40000
50000
60000
70000
80000
0 200 400 600 800 1000 1200
Раздельно
ВместеСмотреть сюда!
0
10000
20000
30000
40000
50000
60000
70000
80000
0 200 400 600 800 1000 1200
Виртуалка
Железяка
0
10000
20000
30000
40000
50000
60000
70000
80000
0 200 400 600 800 1000 1200
NoWAL
WAL
Почему так?
50% Read / 50% Update
...
0
10000
20000
30000
40000
50000
60000
70000
80000
0 200 400 600 800 1000 1200
NoWAL
WAL
Это Read!
Никакой разницы!
0
10000
20000
30000
40000
50000
60000
70000
80000
0 200 400 600 800 1000 1200
WAL NoWAL
А это Update!
Вот оно!!!
0
10000
20000
30000
40000
50000
60000
70000
80000
0 200 400 600 800 1000 1200
DigitalOcean
Microsoft Azure
Tarantool
Redis
Azure Redis Cache
CouchBase
Memcached
Tarantool
Redis
Azure Redis Cache
CouchBase
Memcached
Tarantool
Redis
Azure Redis Cache
Tarantool (Hash)
Tarantool (Tree)
Memcached
Redis Azure Redis Cache
RSS=`echo 0 $(cat /proc/$MYPID/smaps | grep Rss |
awk '{print $2}' | sed 's#^#+#') | bc;`
Как выбрать In-memory NoSQL базу данных с умом. Тестируем производительность / Калугин-Балашов Дмитрий (Mail.Ru Group)
Как выбрать In-memory NoSQL базу данных с умом. Тестируем производительность / Калугин-Балашов Дмитрий (Mail.Ru Group)
Как выбрать In-memory NoSQL базу данных с умом. Тестируем производительность / Калугин-Балашов Дмитрий (Mail.Ru Group)
Как выбрать In-memory NoSQL базу данных с умом. Тестируем производительность / Калугин-Балашов Дмитрий (Mail.Ru Group)
Как выбрать In-memory NoSQL базу данных с умом. Тестируем производительность / Калугин-Балашов Дмитрий (Mail.Ru Group)
Как выбрать In-memory NoSQL базу данных с умом. Тестируем производительность / Калугин-Балашов Дмитрий (Mail.Ru Group)
Как выбрать In-memory NoSQL базу данных с умом. Тестируем производительность / Калугин-Балашов Дмитрий (Mail.Ru Group)
Как выбрать In-memory NoSQL базу данных с умом. Тестируем производительность / Калугин-Балашов Дмитрий (Mail.Ru Group)
Как выбрать In-memory NoSQL базу данных с умом. Тестируем производительность / Калугин-Балашов Дмитрий (Mail.Ru Group)
Как выбрать In-memory NoSQL базу данных с умом. Тестируем производительность / Калугин-Балашов Дмитрий (Mail.Ru Group)
Как выбрать In-memory NoSQL базу данных с умом. Тестируем производительность / Калугин-Балашов Дмитрий (Mail.Ru Group)
Как выбрать In-memory NoSQL базу данных с умом. Тестируем производительность / Калугин-Балашов Дмитрий (Mail.Ru Group)
Как выбрать In-memory NoSQL базу данных с умом. Тестируем производительность / Калугин-Балашов Дмитрий (Mail.Ru Group)
Как выбрать In-memory NoSQL базу данных с умом. Тестируем производительность / Калугин-Балашов Дмитрий (Mail.Ru Group)
Как выбрать In-memory NoSQL базу данных с умом. Тестируем производительность / Калугин-Балашов Дмитрий (Mail.Ru Group)
Как выбрать In-memory NoSQL базу данных с умом. Тестируем производительность / Калугин-Балашов Дмитрий (Mail.Ru Group)
Как выбрать In-memory NoSQL базу данных с умом. Тестируем производительность / Калугин-Балашов Дмитрий (Mail.Ru Group)
Как выбрать In-memory NoSQL базу данных с умом. Тестируем производительность / Калугин-Балашов Дмитрий (Mail.Ru Group)
Как выбрать In-memory NoSQL базу данных с умом. Тестируем производительность / Калугин-Балашов Дмитрий (Mail.Ru Group)
Как выбрать In-memory NoSQL базу данных с умом. Тестируем производительность / Калугин-Балашов Дмитрий (Mail.Ru Group)
Как выбрать In-memory NoSQL базу данных с умом. Тестируем производительность / Калугин-Балашов Дмитрий (Mail.Ru Group)
Как выбрать In-memory NoSQL базу данных с умом. Тестируем производительность / Калугин-Балашов Дмитрий (Mail.Ru Group)
Как выбрать In-memory NoSQL базу данных с умом. Тестируем производительность / Калугин-Балашов Дмитрий (Mail.Ru Group)
Как выбрать In-memory NoSQL базу данных с умом. Тестируем производительность / Калугин-Балашов Дмитрий (Mail.Ru Group)
Как выбрать In-memory NoSQL базу данных с умом. Тестируем производительность / Калугин-Балашов Дмитрий (Mail.Ru Group)
Как выбрать In-memory NoSQL базу данных с умом. Тестируем производительность / Калугин-Балашов Дмитрий (Mail.Ru Group)
Как выбрать In-memory NoSQL базу данных с умом. Тестируем производительность / Калугин-Балашов Дмитрий (Mail.Ru Group)
Как выбрать In-memory NoSQL базу данных с умом. Тестируем производительность / Калугин-Балашов Дмитрий (Mail.Ru Group)
Как выбрать In-memory NoSQL базу данных с умом. Тестируем производительность / Калугин-Балашов Дмитрий (Mail.Ru Group)
Как выбрать In-memory NoSQL базу данных с умом. Тестируем производительность / Калугин-Балашов Дмитрий (Mail.Ru Group)
Как выбрать In-memory NoSQL базу данных с умом. Тестируем производительность / Калугин-Балашов Дмитрий (Mail.Ru Group)
Как выбрать In-memory NoSQL базу данных с умом. Тестируем производительность / Калугин-Балашов Дмитрий (Mail.Ru Group)
Как выбрать In-memory NoSQL базу данных с умом. Тестируем производительность / Калугин-Балашов Дмитрий (Mail.Ru Group)
Как выбрать In-memory NoSQL базу данных с умом. Тестируем производительность / Калугин-Балашов Дмитрий (Mail.Ru Group)
Как выбрать In-memory NoSQL базу данных с умом. Тестируем производительность / Калугин-Балашов Дмитрий (Mail.Ru Group)
Как выбрать In-memory NoSQL базу данных с умом. Тестируем производительность / Калугин-Балашов Дмитрий (Mail.Ru Group)
Как выбрать In-memory NoSQL базу данных с умом. Тестируем производительность / Калугин-Балашов Дмитрий (Mail.Ru Group)
Как выбрать In-memory NoSQL базу данных с умом. Тестируем производительность / Калугин-Балашов Дмитрий (Mail.Ru Group)
Как выбрать In-memory NoSQL базу данных с умом. Тестируем производительность / Калугин-Балашов Дмитрий (Mail.Ru Group)
Как выбрать In-memory NoSQL базу данных с умом. Тестируем производительность / Калугин-Балашов Дмитрий (Mail.Ru Group)
Как выбрать In-memory NoSQL базу данных с умом. Тестируем производительность / Калугин-Балашов Дмитрий (Mail.Ru Group)
Как выбрать In-memory NoSQL базу данных с умом. Тестируем производительность / Калугин-Балашов Дмитрий (Mail.Ru Group)
Как выбрать In-memory NoSQL базу данных с умом. Тестируем производительность / Калугин-Балашов Дмитрий (Mail.Ru Group)
Как выбрать In-memory NoSQL базу данных с умом. Тестируем производительность / Калугин-Балашов Дмитрий (Mail.Ru Group)
Как выбрать In-memory NoSQL базу данных с умом. Тестируем производительность / Калугин-Балашов Дмитрий (Mail.Ru Group)
Как выбрать In-memory NoSQL базу данных с умом. Тестируем производительность / Калугин-Балашов Дмитрий (Mail.Ru Group)
Как выбрать In-memory NoSQL базу данных с умом. Тестируем производительность / Калугин-Балашов Дмитрий (Mail.Ru Group)
Как выбрать In-memory NoSQL базу данных с умом. Тестируем производительность / Калугин-Балашов Дмитрий (Mail.Ru Group)
Как выбрать In-memory NoSQL базу данных с умом. Тестируем производительность / Калугин-Балашов Дмитрий (Mail.Ru Group)
Как выбрать In-memory NoSQL базу данных с умом. Тестируем производительность / Калугин-Балашов Дмитрий (Mail.Ru Group)
Как выбрать In-memory NoSQL базу данных с умом. Тестируем производительность / Калугин-Балашов Дмитрий (Mail.Ru Group)
Как выбрать In-memory NoSQL базу данных с умом. Тестируем производительность / Калугин-Балашов Дмитрий (Mail.Ru Group)
Как выбрать In-memory NoSQL базу данных с умом. Тестируем производительность / Калугин-Балашов Дмитрий (Mail.Ru Group)
Upcoming SlideShare
Loading in …5
×

Как выбрать In-memory NoSQL базу данных с умом. Тестируем производительность / Калугин-Балашов Дмитрий (Mail.Ru Group)

1,844 views

Published on

В настоящее время, когда рынок полон различных In-memory NoSQL решений, вопрос выбора особенно актуален. Часто приходится видеть ситуацию, когда базу данных выбирают по принципу "самая распиаренная", "друг посоветовал" и пр. Такой подход имеет мало общего с инженерным мышлением. Может ли оказаться так, что решение, которое на первый взгляд лежит на поверхности, оказывается вовсе не лучшим для поставленной задачи?

Я расскажу о своих муках выбора, в процессе которых был изучен существующий инструментарий (а также написан недостающий), позволяющий оценить применимость той или иной базы данных к текущей задаче. Также в докладе я покажу, к каким результатам привели тесты (да, будет очень много графиков) таких In-memory NoSQL решений как Memcached, Redis, Tarantool, CouchBase и др.

Непременным приложением к докладу будут все исходные коды и образы виртуальных машин, так что при желании вы сможете повторить все у себя :)

Published in: Engineering
  • Be the first to comment

  • Be the first to like this

Как выбрать In-memory NoSQL базу данных с умом. Тестируем производительность / Калугин-Балашов Дмитрий (Mail.Ru Group)

  1. 1. 0 10000 20000 30000 40000 50000 60000 70000 80000 0 200 400 600 800 1000 1200 Tarantool Workload A
  2. 2. 0 10000 20000 30000 40000 50000 60000 70000 80000 0 200 400 600 800 1000 1200 Раздельно Вместе Посмотрите на этот горбик!
  3. 3. 0 10000 20000 30000 40000 50000 60000 70000 80000 0 200 400 600 800 1000 1200 Раздельно ВместеСмотреть сюда!
  4. 4. 0 10000 20000 30000 40000 50000 60000 70000 80000 0 200 400 600 800 1000 1200 Виртуалка Железяка
  5. 5. 0 10000 20000 30000 40000 50000 60000 70000 80000 0 200 400 600 800 1000 1200 NoWAL WAL Почему так? 50% Read / 50% Update Это Workload A!
  6. 6. 0 10000 20000 30000 40000 50000 60000 70000 80000 0 200 400 600 800 1000 1200 NoWAL WAL Это Read! Никакой разницы!
  7. 7. 0 10000 20000 30000 40000 50000 60000 70000 80000 0 200 400 600 800 1000 1200 WAL NoWAL А это Update! Вот оно!!!
  8. 8. 0 10000 20000 30000 40000 50000 60000 70000 80000 0 200 400 600 800 1000 1200 DigitalOcean Microsoft Azure
  9. 9. Tarantool Redis Azure Redis Cache CouchBase Memcached
  10. 10. Tarantool Redis Azure Redis Cache CouchBase Memcached
  11. 11. Tarantool Redis Azure Redis Cache
  12. 12. Tarantool (Hash) Tarantool (Tree) Memcached Redis Azure Redis Cache
  13. 13. RSS=`echo 0 $(cat /proc/$MYPID/smaps | grep Rss | awk '{print $2}' | sed 's#^#+#') | bc;`

×