InnoDB: Разлика между версии

Изтрито е съдържание Добавено е съдържание
Shokoban (беседа | приноси)
мРедакция без резюме
Tonank (беседа | приноси)
Ред 21:
[[MyISAM]] е стандартната алтернатива на InnoDB. Някои от качествата, които ги отличават са следните:
 
* InnoDB се възстановява от срив или друго неочаквано прекъсване като преиграва записаната исотрия в лог-файловете истoрия. MyISAM трябва изцяло да сканира и да поправи индексите или таблиците, които са били обновени, но не записани на диска. Тъй като достъпът за запис на InnoDB е с фиксирано време, а времето за запис на MyISAM расте с увеличаване на размера на файловете, InnoDB осигурява по-висока достъпност и надеждност при увеличаване на обема на базата данни.
* MyISAM разчита на операционната система за кеширането на четенето и писането към базата данни, докато InnoDB реализира тази функционалност сам в себе си. Променените страници в базата не се изпращат незабавно към операционната система за запис, което прави InnoDB значително по-бърз от MyISAM при някои ситуации.
* InnoDB съхранява данните физически сортирани по първичен ключ, докато MyISAM ги съхранява предимно по реда, по който данните биват добавяни. Съхраняването на редовете по реда на първичните ключове се равнява на "клъстеризирания индекс" при MS SQL и на "организираните по индекс таблици" при Oracle. Когато първичния ключ е подреден така, че да съответства на повечето стандартни заявки за търсене, това води до по-добро бързодействие.
* InnoDB не предлага компресия както MyISAM, така че може да се наложи повече кеширане в рамRAM паметта и върху твърдия диск.
* При опериране в напълно ACID-съвместим режим, InnoDB трябва да прави запис на диска поне един път по време на всяка транзакция, докато може да обединява записите от многобройни конекции. При работа със стандартни твърди дискове или масиви от дискове това ограничава броя на транзакциите до около 200 на секунда. Възможност за по-висока скорост на транзакциите се постига чрез използването на ZFS файлова система с флаш-диск. Друг подход за постигане на същия ефект е използване на дискови контролери с кеширане на записите (write caching) и резервно захранване на батерии за осигуряване непрекъснатост на транзакциите. MyISAM не страда от тези недостатъци единствено защото не работи с транзакции.