Важно ли использовать InnoDB и транзакции для аукциона? - PullRequest
0 голосов
/ 07 января 2010

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

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

Ставки, которые размещаются, однако, размещаются очень быстро, возможно несколько раз в секунду.

Мне было интересно, не могу ли я просто использовать обычные таблицы MyIsam для этой проблемы.

Будет огромное количество операций чтения и записи каждую секунду.

Ответы [ 2 ]

2 голосов
/ 07 января 2010

MyISAM имеет серьезные проблемы с производительностью при одновременном обновлении одной таблицы. Исходя из этого, я бы сказал, что идти с InnoDB.

Транзакции важны, когда вам нужно обеспечить поведение «все или ничего» для нескольких обновлений базы данных. Вполне возможно, что вы можете обойтись без транзакций, используя технику сравнения и обмена: читайте текущую самую высокую ставку, если текущая ставка выше атомно, обновляйте запись только тогда, когда самая высокая цена не изменилась, если не обновили начало в начале , Но будьте осторожны, параллелизм действительно сложен даже с транзакциями, а обеспечить согласованность без них на порядок сложнее. Я бы даже сказал, что если вы спросите, вы не поймете это правильно.

1 голос
/ 07 января 2010

MyISAM будет быстрее, безусловно, потому что он теряет ACID-совместимость, которая присуща InnoDB. Я бы сделал тест производительности, чтобы принять решение, но я больше склонен к InnoDB для этого типа системы.

...