Cassandra or mysql 5? What will be good for the future?

Should I use Cassandra for 100,000 user projects? In MySQL 5, I have full-text search and table partitioning. I am starting a Q & A system such as SO with CodeIgniter. This is a transition from vBulletin to the new system. In the old vBulletin system, I had 100,000 users with a total of about 80,000 posts. In the next 3 or 4 years, I expect that there will be more users and posts. So, should you use Cassandra instead of MySQL 5?

If I use Cassandra, I need to switch from Grid-Service to dedicated-shared hosting in Media Temple. Since Cassandra is not provided as part of the hosting system, I need to use a VPS or DV server solution. If I use MySQL, hosting is not a problem, but what about performance, search speed.

By the way, what database is stack overflow with?

+7
php mysql cassandra codeigniter
source share
3 answers

You say 100,000 users - but how many concurrent users?

Kassandra is not built in the hosting system

Using a hosted service on a single server involves a very small scale operation - and yours is clearly limited by your budget. Of course, there is no advantage to running Cassandra on a single node server.

There is full-text search in mysql 5

This is not a very scalable solution - you should definitely consider using a normalized search (which I suppose you will need to do if you go to Cassandra anyway).

Given that you can conveniently scale the MySQL solution for multiple databases using replication before you even think about a fully cluster solution, and you obviously don't have a budget for your own hosting, switching to Kassandra seems like a massive overkill.

+6
source share

From the information you provided, I would suggest sticking to MySQL.

As a note, Facebook first used MySQL and eventually moved to Cassandra only after it stored over 7 Terabytes of incoming messages, over 100 million users.

Wikipedia also processes hundreds of gigabytes of text data in MySQL.

+8
source share

I would not recommend you use cassandra in your case for the following reasons:

  • Cassandra needs a good understanding of the application you are creating. It is much more difficult to make changes and run complex queries against the data stored in cassandra. SQL is more flexible and easier to maintain. Cassandra is good when you need to store huge amounts of data and when you know exactly how the data stored in cassandra will be available and sorted.

  • Mysql works fine for millions of rows if indexes are built correctly.

  • If you encounter some bottlenecks in the future using mysql, you can see exactly what problems are and scale them with cassandra. I mean, you should be able to combine both approaches: SQL and noSQL in one project.

As for the full-text mysql index, I can say that it is useless. I mean, it works too poorly to be used in high-load projects. Take a look at sphinxsearch.com, which is an excellent full-text search implementation for sql databases.

But if you expect your system to grow rapidly and serve millions of users, you should consider cassandra from the start.

+1
source share

All Articles