-1

Currently, I am using MySQL but I feel it is not keeping up with the stream data that is coming. I have memcached in front of MySQL for caching, but most the data is accessed for single time so the cache is not helping much. The other problem is the ibdata file keeps getting bigger and even deleting data won't claim disk space.

The data is short, average 200 characters. I just want store the data and retrieve it using a key. There is no complex data relationship. There are about 1,000,000 insert and get in hour but getting much bigger. I even tried Amazon RDS service, but the latency between EC2 and RDS within the same region is slow I started getting MySQL too many connection error.

I know that I have to use Nosql type of database, but not sure which one. Disk space is important that I need to claim it when I delete data.

mary
  • 9
  • 3

3 Answers3

1

It is only you who can choose. There is a perfect starting point at http://nosql-databases.org/ where you can begin your discovery.

Beside seeing all current databases you can compare their features, options and case studies. This should lead you in the right direction.

Joel Coel
  • 12,932
  • 14
  • 62
  • 100
mailq
  • 17,023
  • 2
  • 37
  • 69
1

Have you considered using a simpler data store, since you aren't using relationships and only need to query by a key?

I'm thinking something along the lines of Berkeley DB or Redis.

Martin
  • 490
  • 2
  • 5
0

First of all - in SQL world MySQL is fastest engine with very good scalability.

  • I think, you can|have to redesign some parts in order to get real performance, 1 million operation per hour isn't impossible number.
  • Maybe you'll want to examine all possible backend-engines and change used at start,fine-tune mysql-settings
  • PRIMARY KEY
  • persistent connections
  • consider running ANALYZE TABLE (or myisamchk --analyze from command line) on a table to help MySQL better optimize queries
  • Use INSERT DELAYED or INSERT LOW_PRIORITY (for MyISAM) to write to your change log table.
  • if you delete data from tables, schedule running OPTIMIZE TABLE query regularly

TBC, if you'll want

Lazy Badger
  • 3,137
  • 15
  • 13