<MyRusakov.ru />

Написание лайфхаков на Python

Написание лайфхаков на Python

Данный курс научит Вас автоматизировать самые разные задачи на языке Python, благодаря чему Вы сэкономите на рутине тысячи и тысячи часов своей жизни. Курс состоит из 20 примеров в различных областях: файлы и директории, медиа-файлы, Интернет, Web-мастеринг, Unreal Engine. Каждый пример упрощает ту или иную задачу в своей области, при этом каждый из них создаётся прямо на Ваших глазах и тщательно комментируется.

Помимо самих уроков Вы так же получаете и множество упражнений. По сути, Вы создадите свои собственные 20 небольших проектов, благодаря чему у Вас появится и практика, и портфолио.

Подробнее
Подписка

Подпишитесь на мой канал на YouTube, где я регулярно публикую новые видео.

YouTube Подписаться

Подписавшись по E-mail, Вы будете получать уведомления о новых статьях.

Подписка Подписаться

Добавляйтесь ко мне в друзья ВКонтакте! Отзывы о сайте и обо мне оставляйте в моей группе.

Мой аккаунт Мой аккаунт Моя группа
Опрос

Зачем Вы изучаете программирование/создание сайтов?

Движки баз данных.

Движки баз данных.

Всем привет! Наверняка, вы, создавая таблицы в базе данных, видели такие надписи, как MyISAM или InnoDB. Возможно, вы даже знаете, что это такое, но вот когда что выбирать? Об этом мы сегодня и поговорим.

Движок базы данных - это способ хранения данных.

Существуют самые разные движки баз данных - MyISAM, InnoDB, Memory, Archive, CSV, DBD, Federated, Blackhole.

InnoDB

Это многофункциональный движок, который поддерживает большинство функций: транзакции, все ограничения, внешние ключи, связи таблиц и другое, но НЕ поддерживает полнотекстовый индекс. Данный движок в основном направлен на выборку данных, а не на вставку, следовательно, используйте его там, где вам чаще всего нужно будет быстро что-то выбрать, а не вставить. Или там, где вам нужен какой-то функционал, который не поддерживают другие движки.

MyISAM

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

Archive

Из названия понятно, для чего нужен этот движок. Он хранит данные в виде ZIP архива. Размер таблицы, работающей на данном движке, будет очень мал. Однако, из этого следует, что изменение данных будет ОЧЕНЬ медленным. Выборка же данных примерно как у движка MyISAM. У этого движка нет ограничения Primary Key, транзакций и прочего. Основное предназначение данного движка для данных, которые никогда или очень редко меняются. Например, справочники.

CSV

Данные в данном движке хранятся в таком виде:

value1,value2,value3

value1,value2,value3

Т.е. каждая новая запись с новой строки, а столбцы разделяются запятой.

В основном данный движок предназначен для совместимости со старыми mainframe записями.

Внешнего ключа нет, транзакций нет, полнотекстового индекса нет, primary key, unique key есть.

Скорость выборки примерно как у MyISAM. Врядли вам когда-нибудь придется его использовать.

BDB

Используется для совместимости с сервером BerkeleyDB. Тоже врядли он вам понадобится.

Memory

Данный движок хранит все данные в оперативной памяти сервера. На диске он ничего не хранит.

Данный движок очень быстр как на запись, изменение, удаление данных, так и на их выборку. Однако, вы должны понимать, что данные очень легко потерять.

Рекомендуется для хранения временных таблиц.

Federated

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

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

Blackhole

Очень интересный движок. Его название переводится как "черная дыра". И это не просто так. Если вы попробуете создать таблицу на этом движке, а потом что-то выбрать из нее, то увидите Empty set. Все, что записывается в таблицу на движке Blackhole, сразу уничтожается.

Данный движок используется для отладки.

Заключение

Итак, надеюсь, что теперь для вас такое словосочетание, как "движки баз данных" не будет просто пустым звуком. Конечно, мы разобрали здесь не все движки, которые существуют у баз данных, но самые распространенные я описал. Выбирайте тот, который лучше подходит под ваши задачи. Спасибо за внимание и удачного проектирования баз данных! :)

Копирование материалов разрешается только с указанием автора (Михаил Русаков) и индексируемой прямой ссылкой на сайт (http://myrusakov.ru)!

Добавляйтесь ко мне в друзья ВКонтакте: http://vk.com/myrusakov.
Если Вы хотите дать оценку мне и моей работе, то напишите её в моей группе: http://vk.com/rusakovmy.

Если Вы не хотите пропустить новые материалы на сайте,
то Вы можете подписаться на обновления: Подписаться на обновления

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

Порекомендуйте эту статью друзьям:

Если Вам понравился сайт, то разместите ссылку на него (у себя на сайте, на форуме, в контакте):

  1. Кнопка:

    Она выглядит вот так: Как создать свой сайт

  2. Текстовая ссылка:

    Она выглядит вот так: Как создать свой сайт

  3. BB-код ссылки для форумов (например, можете поставить её в подписи):

Комментарии (2):

kruty kruty 15.07.2014 20:54:02

Я б краще навчив новачків ставити MariaDB чи Percona. Там нема того. що з цього рідко використовується, але зате є ефективніші движки. Так, наприклад XtraDB - ефективний форк InnoDB, там є патчі від самого гугла і т.д Швидкість набагато краща і менше навантаження. А щодо BerkeleyDB я використовую memcachedb. Це memcache i berkeleyDB одночасно. Точніше, зберігається інформація в 2, а для швидкості кешується в 1. А щодо Archive - то, блін, я таке теж думав зробити, а воно є)

Ответить

ivan.ratkevich@mail.ru ivan.ratkevich@mail.ru 27.10.2016 08:44:55

Михаил, доброго времени суток. В своих курсах Вы рекомендуете использовать MyISAM. Подскажите, пожалуйста, для реализации соцсети имеет ли смысл создать базу на InnoDB с использованием внешних связей. Какие могут быть нюансы использования InnoDB кроме описанных в Вашей статье?

Ответить

Для добавления комментариев надо войти в систему.
Если Вы ещё не зарегистрированы на сайте, то сначала зарегистрируйтесь.