|
|
|
| Какая структура базы данных больше подойдет для социальной сети? Таблицы с типом InnoDB или MyISAM. MyISAM насколько я знаю быстрее производит поиск и выборку. Но между таблицами необходима бывает взаимосвязь, установка внешних ключей, что MyISAM не поддерживает. Или это не принципиально? | |
|
|
|
|
|
|
|
для: ruslanaxti
(06.02.2011 в 22:59)
| | Если ожидается хоть какое-то большое количество народу - лучше MyISAM, в конце концов работу внешних ключей можно эмулировать, да и не так часто они требуются по сравнению с обычными запросами на выборку. | |
|
|
|
|
|
|
|
для: ruslanaxti
(06.02.2011 в 22:59)
| | просто для себя сравните:
http://ru.wikipedia.org/wiki/InnoDB здесь InnoDB
http://ru.wikipedia.org/wiki/MyISAM MyISAM
легче и лучше работается с MyISAM.
в качестве отступления
Если планируете очень большой проект на собственном хостинге, то посмотрите в сторону Oracle.
просто под большой нагрузкой чувствует себя лучше, но и работается с ней "веселее" | |
|
|
|
|
|
|
|
для: ruslanaxti
(06.02.2011 в 22:59)
| | Во время записи InnoDB использует блокирование на уровне строк, в то время как MyISAM блокирует всю таблицу. Поэтому использование InnoDB оправдано если ожидается много конкурирующих запросов на запись.
"Социальная сеть" — это слишком обширное описание возможных и планируемых нагрузок на базу данных. Эффективно проектировать базу можно только зная какие запросы будут к ней отправляться, с какой частотой и прочее.
Внешние зависимости можно поддерживать на уровне приложения, но это требует дополнительного кодирования. Вот я до сих пор избегаю внешних ключей на уровне базы данных просто потому, что привык все связи программировать явно на уровне приложения. Я не боюсь триггеров и хранимых процедур, но в production не рискую их использовать. | |
|
|
|
|
|
|
|
для: Саня
(07.02.2011 в 14:08)
| | Как, по вашему, нормально ли использовать оба типа в одном проекте?
Например, для логов разнообразных действий использовать InnoDB, а для каких-нибудь заметок MyISAM? | |
|
|
|
|
|
|
|
для: neadekvat
(07.02.2011 в 14:26)
| | Оба типа не имеет смысла использовать, так как сложно сконфигурировать сервер на эффективное использование и InnoDB, и MyISAM одновременно. Если выделить больше ресурсов на myisam, то innodb будет "страдать" и наоборот. Использовать разные движки стоит только если один движок работает на всю катушку, а другой используется очень редко, например только для сервисных нужд или для аггрегации некоторых выборок из основной базы. | |
|
|
|
|
|
|
|
для: Саня
(07.02.2011 в 14:44)
| | Есть такая книга
Разработка и проектирование социальных сетей на PHP5
Автор Майкл Пикок .
лежала http://mirknig.com/knigi/programming/1181343193-php-5-social-networking.html здесь. ,Может окажет консультативную помощь в разработке проекта. язык английский. | |
|
|
|
|
|
|
|
для: Nextia
(08.02.2011 в 02:33)
| | Спасибо, но эта книга мне ни к чему. | |
|
|
|