Best unofficial Apache Server developers community |
|
hello, i am developing an application that will use three tables. 1 - 1 million rows of products. 2 - 500 million rows of users. 3 - 10 billion rows of products that the users like. the tables will grow with the time but will stay around those numbers. i want to choose the right method for this kind of DB. i really don't know much about sharding, clustering or partitioning but if some of you can tell me the best solution for this problem i will focus on it and its will be a huge help. i want only methods that support mysql and if i need multiple servers for this kind of DB? thanks.
posted via StackOverflow
|
|
 
|
I think if you really don't want a noSQL solution like Hadoop, you can't avoid to get multiple database (here: MySQL) servers. And a MySQL replication doesn't provide in my opinion enough scalability for this kind of data, because the master will become the bottleneck. I'm also not a scalability professional, but I am currently also thinking of a nice solution for a similar problem on my side. I think I will go with a sharding solution where I partition my data over multiple nodes. I am just thinking about an intelligent way to create the mapping from data to shard. But this depends on your application how you want to make it. I think your 'product liking' data is a good candidate for partitioning, because it's so huge. BTW: An interesting article against sharding: http://37signals.com/svn/posts/1509-mr-moore-gets-to-punt-on-sharding |