MySQL & mSQL

Версии mSQL


После выхода mSQL сообщество разработчиков программ немедленно подверглось его воздействию. Впервые появилась возможность работы с доступным по цене, поддерживающим SQL, ядром базы данных. Одной из поразительных особенностей было то, что оно не только было сравнимо по производительности с основными коммерческими продуктами, но на практике было быстрее - иногда более, чем в 100 раз -в тех областях, для которых предназначалось.

Однако в наше время вычислительная среда долго не стоит на месте. С возникновением широкомасштабного сотрудничества через Интернет не стало проектов, недоступных для преданных им групп программистов. К 1996 году стали появляться другие недорогие реализации SQL, MySQL в их числе, и mSQL перестала существовать в одиночестве.

В продолжение 1990-х Хьюз разрабатывал и совершенствовал mSQL. Однако ядро базы данных в итоге достигло той точки, где дальнейшая разработка требовала глубокого пересмотра всего проекта. Такая большая работа потребовала бы много времени, поскольку новый проект влечет новые ошибки и промахи. Одновременно необходимо осуществлять и поддержку существующего продукта. Таким образом, mSQL 2 появилась как переработка ядра базы данных при продолжении одновременной поддержки существующего продукта - mSQL 1.

mSQL 2 вышла в то время, когда первоначальный продукт начал устаревать. Проблемы с устойчивостью и отсутствие важных функциональных возможностей, таких, как поддержка достаточного числа типов данных, заставляли искать другие решения, например MySQL. mSQL 2 обеспечила устранение многочисленных ошибок, досаждавших пользователям последних версий mSQL 1, и добавила многочисленные новые возможности, сохраняя при этом верность первоначальным целям проекта. Расширилось подмножество ANSI SQL, поддерживаемое mSQL, и было добавлено несколько новых типов данных. Был переработан способ индексирования, значительно повысивший мощь системы.

Основные изменения, произведенные в mSQL 2 в сравнении с mSQL 1, следующие:

Возросшие устойчивость и производительность


В первом выпуске mSQL 2 были решены все известные проблемы со стабильностью в mSQL 1. Были устранены утечки памяти, а код тщательно протестирован для выявления ошибок. Общая производительность выросла, несмотря на добавление новых характеристик.

Улучшенная поддержка индексов

В первой версии mSQL использовалась очень слабая схема индексирования. В каждой таблице можно было иметь только один индекс, состоящий только из одной колонки, - первичный ключ. В mSQL 2 индексирование полностью переработано с целью поддержки более сложных и часто встречающихся задач. Теперь можно иметь несколько индексов для каждой таблицы и составлять их более чем из одной колонки. Индексирование теперь поддерживает индексные файлы как в виде В-дерева, так и в стиле AVL.

Дополнительные типы данных

В mSQL 2 добавились многие типы данных, что приближает его к полной реализации спецификации ANSI SQL2. Наряду с MONEY, DATE и TIME mSQL 2 поддерживает теперь и тип TEXT. В первоначальной версии mSQL все поля были фиксированной длины, и поэтому текстовые поля типа CHAR имели предустановленный размер. Часто для поддержки таких атрибутов, как адреса электронной почты или названия книг, приходилось определять большое поле типа CHAR, что приводило к неоправданному расходу памяти. Например, для поля адреса электронной почты вы определили бы поле CHAR(35). Даже если адрес оказывался «xxx@imaginary.com», mSQL использовал все 35 символов поля. Еще хуже то, что если адрес оказывался длиннее 35 символов, вам сильно не повезло. Новый тип данных TEXT решает обе проблемы, позволяя вам задать среднюю длину поля. Все, превышающее этот размер, будет храниться в буфере переполнения. При меньшем размере лишние символы не будут записываться. К сожалению, поля типа TEXT имеют недостатки, не позволяющие использовать их в качестве индексов и употреблять в предложениях типа LIKE.

Улучшенный сервис и поддержка API

Стандартный инструментарий, поставляемый с mSQL, улучшен с целью поддержки всех новых характеристик. Хьюз добавил новые функции, такие как, например, копирование и переименование таблиц в msqladmin. Приложение W3-msql для взаимодействия с WWW существенно переделано и дополнено. Язык сценариев переработан в Lite - язык с прямой поддержкой взаимодействия WWW и баз данных.

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




Содержание раздела