2014-03-26 2 views
1

После некоторых исследований в Интернете я не смог найти много сравнительного сравнения между ними. Я нашел один redis vs mongodb: (How much faster is Redis than mongoDB?).Насколько быстрее redis, чем Postgres?

Согласно моему следующему чрезвычайно ненаучному тесту, выполняющему два простых неравных кода в рельсах, я предполагаю, что записи примерно одинаковы, но redis примерно в 2 раза быстрее читает. Не так большое преимущество в скорости, как я ожидал, учитывая, что мои взгляды обычно составляют 50 мс ~ 150 мс.

Мой вопрос: есть ли там другие эталонные тесты, которые могут дать мне «грубую» идею о двух? С условными конфигурациями в обоих, возможно, даже протестировать его против базового dyno героя и его службы postgres? Спасибо!

##NOTICE: #follow is implemented with Redis. #public is just a postgres ActiveRecord property. 
[93] pry(main)> Benchmark.measure{ 100.times { c.public = !c.public; c.save; c.public = !c.public; c.save}} 
=> #<Benchmark::Tms:0x007faeb3c814f0 
@cstime=0.0, 
@cutime=0.0, 
@label="", 
@real=0.743117, 
@stime=0.03000000000000025, 
@total=0.6000000000000005, 
@utime=0.5700000000000003> 
[94] pry(main)> Benchmark.measure{ 100.times { u.unfollow! u2; u.follow! u2 }} 
=> #<Benchmark::Tms:0x007faeb1409c20 
@cstime=0.0, 
@cutime=0.0, 
@label="", 
@real=0.988483, 
@stime=0.14000000000000057, 
@total=0.8800000000000026, 
@utime=0.740000000000002> 
[95] pry(main)> Benchmark.measure{ 100.times { u.follows? u2 }} 
=> #<Benchmark::Tms:0x007faeb2f22ea8 
@cstime=0.0, 
@cutime=0.0, 
@label="", 
@real=0.045072, 
@stime=0.009999999999999787, 
@total=0.06000000000000405, 
@utime=0.05000000000000426> 
[96] pry(main)> Benchmark.measure{ 100.times { Course.first.public? }} 
=> #<Benchmark::Tms:0x007faeac97b8c0 
@cstime=0.0, 
@cutime=0.0, 
@label="", 
@real=0.11811, 
@stime=0.0, 
@total=0.09000000000000341, 
@utime=0.09000000000000341> 
+0

Если я дам вам ссылку на тесты Postgres vs Redis Object Storage Benchmarks, это будет полезно? – Pavan

+0

@ Паван, да, это было бы полезно! – randomor

+0

Если это не одно: https://gist.github.com/NateBarnes/3001890 Наборы примерно в 2 раза быстрее, получают 1 раз быстрее ... – randomor

ответ

0

Redis - это база данных хранилища ключей, Postgres - это РСУБД. База данных с ключом позволяет хранить данные без схемы, но не реляционную базу данных.

Оба подхода имеют свои плюсы и минусы. Для дальнейшего чтения вы можете просмотреть этот существующий stackoverflow post.

Смежные вопросы