Направо към съдържанието

InnoDB

от Уикипедия, свободната енциклопедия
Версия от 10:52, 22 ноември 2022 на Сале (беседа | приноси) (У:КНИ; MySQL AB е бившата фирмата, не СУБД; Махам и някои неточности.)
(разл) ← По-стара версия | Текуща версия (разл) | По-нова версия → (разл)
InnoDB
Информация
РазработчикOracle Corporation
Платформамеждуплатформен софтуер
Вид софтуерСУБД (подсистема за съхранение за MySQL)
ЛицензGPL или лицензионен
Уебсайтwww.innodb.com

InnoDB е една от предпочитаните подсистеми на системата за управление на бази данни MySQL и MariaDB. Основното предимство на InnoDB пред други подсистеми от ниско ниво на MySQL е наличието на съвместим с ACID механизъм за трансакции.

InnoDB става продукт на Oracle Corporation след изкупуването на Innobase Oy през октомври 2005 г. Софтуерът е двойно лицензиран. Разпространява се под GNU General Public License, но може да се включва и в лицензен софтуер.

MyISAM е стандартната алтернатива на InnoDB. Някои от качествата, които ги отличават, са следните:

  • InnoDB се възстановява от срив или друго неочаквано прекъсване, като преиграва записаната в журналните файлове история. MyISAM трябва изцяло да сканира и да поправи индексите или таблиците, които са били обновени, но не записани на диска.
  • MyISAM разчита на операционната система за кеширането на четенето и писането към базата данни, докато InnoDB реализира тази функционалност сам в себе си. Променените страници в базата не се изпращат незабавно към операционната система за запис, което прави InnoDB значително по-бърз от MyISAM при някои ситуации.
  • InnoDB съхранява данните физически сортирани по първичен ключ, докато MyISAM ги съхранява предимно по реда, по който данните биват добавяни. Съхраняването на редовете по реда на първичните ключ��ве се равнява на „клъстеризирания индекс“ при MS SQL и на „организираните по индекс таблици“ при Oracle. Когато първичният ключ е подреден така, че да съответства на повечето стандартни заявки за търсене, това води до по-добро бързодействие.
  • При опериране в напълно ACID съвместим режим InnoDB трябва да прави запис на диска поне един път по време на всяка трансакция, докато може да обединява записите от многобройни връзки. Възможност за по-висока скорост на трансакциите се постига чрез използването на ZFS файлова система със SSD. Друг подход за постигане на същия ефект е използване на дискови контролери с кеширане на записите (write caching) и резервно захранване на батерии за осигуряване на непрекъснатост на трансакциите.