2011-01-14 3 views
4

Я знаю, что Google использует свои собственные большие таблицы (это правильно?) И Facebook и Twitter использовать Кассандру, но когда делает ваш повседневный проект перерастет MySQL (если когда-нибудь?)Когда проект становится слишком большим для MySQL

Если вы начали использовать потенциально масштабное веб-приложение, вы бы использовали mysql в качестве двигателя или начинаете с альтернативы с самого начала?

+0

Я думаю, что facebook по-прежнему использует mysql для своих данных. Сообщения находятся в кассандре. Я мог ошибаться, хотя – piyush

+0

вы можете быть правы, я думаю, что он использует cassandra для своего «входящего», просто пытаясь запомнить что-нибудь из The Social Network, ha! – benhowdle89

ответ

3

Я думаю, что единственный способ узнать, когда MySQL недостаточно хорош, - это когда вы начинаете видеть проблемы с производительностью или чувствуете, что сражаетесь, чтобы сохранить это. Если вам известно, что ваше приложение потенциально огромно, вы должны с самого начала использовать правильные инструменты, иначе это будет огромная передача головной боли позднее.

0

Я бы начал с альтернативы (PostgreSQL), но не из-за проблем с масштабированием, а потому, что поддержка MySQL транзакций и ссылочной целостности бесполезна.

+1

Кажется, вы пытаетесь запустить фламенар. Вы хотите помочь с этим? '' – Piskvor

+0

Не пытаясь загореться здесь, но у MySQL есть проблемы с целостностью данных. MyISAM вообще не поддерживает внешние ключи, и даже InnoDB бесшумно совершает транзакцию при выполнении инструкции DDL. – tdammers

3

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

Да, крупномасштабный clSuter noSQL может выходить из кластера MySQL, построенного для одного и того же бюджета для OLTP, однако его называемый noSQL по какой-либо причине - когда вам нужно начать делать что-то полезное с данными, реляционной моделью и языком SQL сделать резку и резку данных намного проще. OTOH, в какой-то момент OLAP затем обходит реляционную модель с точки зрения производительности, но я думаю, было бы довольно сложно использовать хранилище данных для обработки транзакций.

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

Смежные вопросы