esamatti
esamatti

Reputation: 18953

Which database for chat logging?

I'm implementing a chat system.

What kind of database I should use for logging chat messages?

I need to do some queries to it. For example "give me all the links from user x between these dates"

I've heard some good things about MongoDB for this kind of stuff. How about other NoSQL solutions? Redis? Cassandra?

How about old SQL solutions? Although I'm very interested having experiences with NoSQL-databases, but I'm not going to it just sake of it :)

I need to be able to handle hundreds of active users.

Upvotes: 3

Views: 2681

Answers (7)

hugle
hugle

Reputation: 145

You can determine by the following ways :

If your data is simple and small, you could consider using SQLite, it is easy to integrate with either web app, mobile app or desktop application and it is light weight.

check http://www.sqlite.org/

If the data is big, consider NOSQL databases, such as

MongoDB http://www.mongodb.org/

or

HBase https://hbase.apache.org/

If you are familiar with windows and , consider MYSQL or MSSQL

Upvotes: 0

Alfred
Alfred

Reputation: 61783

My vote goes out to redis(+node). I can handle that scale easily.

Upvotes: 0

Sashi
Sashi

Reputation: 1

I suggest Cassandra. I find it easier to develop for than even MySQL, though there is a little bit of learning curve. Dealing with schema changes is a real pain in production environments with MYSQL, IMO.

Upvotes: 0

Joshua Partogi
Joshua Partogi

Reputation: 16425

Ok. So basically NoSQL is not a panacea. You really have to know the sweet spot for each NoSQL to gain maximum benefit of it.

For your scenario I would recommend mongodb. Why? Because mongodb offer very rich query just as you would have in SQL database, unlike key-value store database. Mongodb is relatively fast in both write and read.

Unless you need massive scalability like facebook or twitter, cassandra is not for you.

Upvotes: 2

Exa
Exa

Reputation: 4110

I recommend document stores like CouchDB. Have a look at some NoSQL solutions here.

Upvotes: 0

Sebastian Brózda
Sebastian Brózda

Reputation: 879

I consider that you are not a google or a twitter ;) just use mysql, sqlite or any relational database. This should completely suffice for you, but if it don't then think about nosql solutions, not now.

Upvotes: 0

Galwegian
Galwegian

Reputation: 42237

I've used SQLite for this type of logging in the past and it's worked a treat.

Upvotes: 1

Related Questions