Mysql: ограничения на количество таблиц, строк и тому подобное

0

Я работаю в социальной сети.

Из того, что я собрал, существует ограничение на 1792 для количества таблиц в кластере mysql. На данный момент я, вероятно, в конечном итоге на 100-200 столов. Является ли это разумным/приемлемым? Или моя схема db ужасна? Что разумно для крупномасштабного проекта, такого как социальная сеть?

Кроме того, каков тогда предел количества строк в таблице? Некоторые из моих таблиц будут ограничены несколькими десятками или несколькими сотнями строк, но другие (например, сообщения пользователя и статистика) могут попасть в миллионы, миллиарды. Есть ли разумный предел для того, сколько строк я должен разместить в каждой таблице? Если мне лучше, я могу создавать статистические таблицы по годам (stats2010, stats2011).

Я могу читать Интернет весь день, но большая часть информации там только сообщает мне, что такое min/maxes для дизайна базы данных, а не то, что является хорошим дизайном db. Чем раньше в моей проектной жизни я могу решить эти проблемы, тем лучше я буду в конечном итоге.

Любые другие важные указатели, о которых я должен знать? Я все еще узнаю о максимальных соединениях, тайм-аутах выгрузки и десятках других, но я хотел бы начать с этого. Спасибо за любую помощь, которую вы можете дать.

  • 0
    Самая большая база данных MySQL, которой я когда-либо управлял, имела 112 таблиц; самая большая таблица имела более одного миллиарда строк, а несколько таблиц имели более 100 миллионов строк. Он работал довольно хорошо, учитывая, что мы работали на каком-то недорогом оборудовании. Это действительно зависит от того, как вы используете базу данных.
Теги:
database-design

1 ответ

1
Лучший ответ

... вероятно, закончится с 100-200 таблицами. Является ли это разумным/приемлемым? Или моя схема db ужасна? Что разумно для крупномасштабного проекта, такого как социальная сеть?

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

  • Пользователи (user_id, подробности, пароль)
  • Друзья (user_id, friend_id)

каково тогда предел количества строк в таблице?

То, что зависит от движка таблицы MySQL - MyISAM имеет ограничение 4 ГБ; InnoDB отличается. См. Эту ссылку для более подробной информации.

Если мне лучше, я могу создавать статистические таблицы по годам (stats2010, stats2011).

Звучит как преждевременная оптимизация.

  • 0
    Мои таблицы используют гамму из простых 20 строк * 3 столбца для сортировки сложных баз данных новостей с уже 400 строками * 8 столбцов. Это может быть преждевременная оптимизация, но это плохо?
  • 0
    После посещения этой страницы ( mikebernat.com/blog/MySQL_-_InnoDB_vs_MyISAM ) я решил, что до сих пор использовал InnoDB для всех своих таблиц.
Показать ещё 1 комментарий

Ещё вопросы

Сообщество Overcoder
Наверх
Меню