2017-02-20 4 views
0

Let's-
У меня есть 1 000 000 пользователей, которые вошли в систему. Это будет сайт типа facebook (Not really facebook).Как мне организовать базу данных mysql?

Таким образом, у меня есть огромное количество данных, которые будут храниться в моей базе данных. Пожалуйста, помогите мне выбрать дизайн базы данных.

Дизайн 1:

Database count : 1,000,000 [i.e. user_1, user_2, user_3] 
Table count  : 15 Per Database 
Row Count   : 100+ Per Table 

Дизайн 2:

Database count : 15 
Table count  : 1,000,000 Per Database 
Row count   : 100+ Per Table 

Дизайн 3:

Database count : 1 
Table count  : 15 Per Database 
Row count   : 10,000,000++ Per Table 


Что мне выбрать?

Дизайн 1: У вас огромное количество баз данных на сервере.
Дизайн 2: У вас огромное количество таблиц в базе данных.
Дизайн 3: У вас огромное количество строк в таблице.

+1

Если вы выберете # 1 или # 2, у вас есть хоть малейшее представление о том, как управлять миграцией для 1 миллиона объектов? –

+2

Если вы хотите получить прибыль СУБД RELATIONAL, которая является mysql, 3 является единственным серьезным решением. Кроме того, вы должны использовать hadoop или что-то еще. –

+1

Непосредственно связанные: [MySQL может занять больше часа] (http://stackoverflow.com/questions/42348578/mysql-can-take-more-than-an-hour-to-start) –

ответ

1

Вариант 1 фактически может быть практически невозможным на практике, так как каждая база данных требует собственных ресурсов, и вы, вероятно, исчерпаете любую систему, которую вы используете для ее реализации. И есть операционный кошмар, связанный с необходимостью создания новой базы данных каждый раз, когда присоединяется новый пользователь. Этот выбор согласуется со словарным определением «безумный».

Вариант 2 немного отстает от варианта 1 по шкале безумия, за исключением того, что его можно реализовать.

Вариант 3 не имеет большого значения и является обычной ситуацией. Используйте этот параметр.

Для традиционной реляционной базы данных строки до 20М считаются «маленькими» для таблицы (нет ссылок, просто опыт). 20M-200M «средний», выше «большой».

Для нетрадиционной СУБД, например, красное смещение и NoSql DB (mongo, cassandra, hadoop и т. Д.). 10M строк - это «крошечные», а миллиарды строк - не большая проблема.