0

A dataset growing currently >1 million which requires constant lookup / updation of user specific data. looking for fastest and scalable option with high TPS. Memcache/memcacheddb vs mysql memory tables are a big confusion for implementation and scaling options. Can any one provide proper scaling / tps and performance information for which one to land on?

axe
  • 11
  • 2

2 Answers2

0

Does the integrity of this data matter? If it does, you can immediately rule out memcached and MySQL memory tables, as neither one is persisted to durable storage. memcachedb is at least persisted, but it doesn't make the same sorts of reliability guarantees that a normal (R)DBMS would.

  • nop percistance is not required! I was wondering how'd be write perform on memcached vs memory tables!! – axe Sep 14 '11 at 10:37
  • If that's the case, then memcached wins at performance! Just keep in mind that it supports a simpler set of actions (just GET/SET). –  Sep 14 '11 at 15:17
  • Persistence could be ensured at a different level. – Lodewijk Sep 29 '14 at 20:10
0

If you've got a large dataset, you don't scale it by throwing hardware at it. Since you didn't say what's your growth rate, it's difficult to suggest anything.

If you need to scale writes - you partition your table. If you need to scale reads - you create master > multiple slaves replication cluster.

Also, there's an engine called TokuDB available for MySQL - more info at www.tokutek.com. It's extremely fast for certain things (updates, hot index addition and similar) but not that excellent when it comes to mass updating. It's worth checking out.

N.B.
  • 13,688
  • 3
  • 45
  • 55
  • It's about scaling for reads on a dataset which can grow from 1mill./month atleast. There 'd be constant updates and heavy reads on dataset... so write is also a factor!! Is tokudb as fast as memcache/memory table ?!! – axe Sep 14 '11 at 10:40