Выбор СУБД
В качестве СУБД наиболее подходящей оказалась MySQL – это свободно распространяемая объектно-реляционная система управления базами данных (ORDBMS), наиболее развитая из открытых СУБД в мире и являющаяся реальной альтернативой коммерческим базам данных MySQL является решением для малых и средних приложений. Входит в состав серверов WAMP, AppServ, LAMP и в портативные сборки серверовДенвер, XAMPP. Обычно MySQL используется в качестве сервера, к которому обращаются локальные или удалённые клиенты, однако в дистрибутив входит библиотека внутреннего сервера, позволяющая включать MySQL в автономные программы. Гибкость СУБД MySQL обеспечивается поддержкой большого количества типов таблиц: пользователи могут выбрать как таблицы типа MyISAM, поддерживающие полнотекстовый поиск, так и таблицы InnoDB, поддерживающие транзакции на уровне отдельных записей. Более того, СУБД MySQL поставляется со специальным типом таблиц EXAMPLE, демонстрирующим принципы создания новых типов таблиц. Благодаря открытой архитектуре и GPL-лицензированию, в СУБД MySQL постоянно появляются новые типы таблиц. Внутренние характеристики и переносимость - Написан на C и C++. Протестирован на множестве различных компиляторов. - Работает на различных платформах. See section 2.2.5 Операционные системы, поддерживаемые MySQL. - Для обеспечения переносимости используется GNU Automake, Autoconf и Libtool. - API для C, C++, Eiffel, Java, Perl, PHP, Python, Ruby и Tcl. See section 8 Интерфейсы для MySQL. - Полностью многопоточный с использованием потоков ядра. Это означает, что, если такая возможность обеспечивается, можно легко организовать работу с несколькими процессорами. - Очень быстрые дисковые таблицы на основе В-деревьев со сжатием индексов. - Очень быстрая базирующаяся на потоках система распределения памяти. - Очень быстрые соединения, использующие оптимизированный метод однопроходного мультисоединения (one-sweep multi-join). - Хеш-таблицы в памяти, используемые как временные таблицы. - SQL-функции реализованы при помощи хорошо оптимизированной библиотеки классов, поэтому они выполняются настолько быстро, насколько это возможно. Обычно после инициализации запроса распределения памяти не происходит вообще. - MySQL- код протестирован с использованием Purify (коммерческий детектор утечки памяти), а также Valgrind, одного из GPL-инструментов Функции в MySQL однозначно определяются названием, количеством и типами аргументов.
|