Reputation: 18953
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
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
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
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
Reputation: 4110
I recommend document stores like CouchDB. Have a look at some NoSQL solutions here.
Upvotes: 0
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