MySQL

MySQL — свободная реляционная система управления базами данных

MySQL – это система управления реляционными базами данных.

Особенности MySQL

  • База данных представляет собой структурированную совокупность данных. Эти данные могут быть любыми – от простого списка предстоящих покупок до перечня экспонатов картинной галереи или огромного количества информации в корпоративной сети. Для записи, выборки и обработки данных, хранящихся в компьютерной базе данных, необходима система управления базой данных, каковой и является ПО MySQL. Поскольку компьютеры замечательно справляются с обработкой больших объемов данных, управление базами данных играет центральную роль в вычислениях. Реализовано такое управление может быть по-разному – как в виде отдельных утилит, так и в виде кода, входящего в состав других приложений.
  • В реляционной базе данных данные хранятся не все скопом, а в отдельных таблицах, благодаря чему достигается выигрыш в скорости и гибкости. Таблицы связываются между собой при помощи отношений, благодаря чему обеспечивается возможность объединять при выполнении запроса данные из нескольких таблиц. SQL как часть системы MySQL можно охарактеризовать как язык структурированных запросов плюс наиболее распространенный стандартный язык, используемый для доступа к базам данных.
  • Программное обеспечение MySQL – это ПО с открытым кодом.ПО с открытым кодом означает, что применять и модифицировать его может любой желающий. Такое ПО можно получать по Internet и использовать бесплатно. При этом каждый пользователь может изучить исходный код и изменить его в соответствии со своими потребностями.

 

Внутренние характеристики и переносимость

  • Написан на 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-инструментов.

 

Основной функционал сервиса

  • Типы столбцов
    • Большое количество: целочисленные со знаком/беззнаковые, длиной в 1, 2, 3, 4 и 8 байтов, FLOATDOUBLECHARVARCHARTEXTBLOBDATETIMEDATETIMETIMESTAMPYEARSET и ENUM. See section.
    • С записями фиксированной и переменной длины.
    • Все столбцы имеют значения по умолчанию. С помощью INSERT можно вставить подмножество столбцов таблицы; столбцы, для которых явно не заданы значения, устанавливаются в значения по умолчанию.
  • Команды и функции
    • Полная поддержка операторов и функций в SELECT– и WHERE– частях запросов. Например:
      mysql> SELECT CONCAT(first_name, " ", last_name)
          -> FROM tbl_name
          -> WHERE income/dependents > 10000 AND age > 30;
      
    • Полная поддержка для операторов SQL GROUP BY и ORDER BY с выражениями SQL. Поддержка групповых функций (COUNT()COUNT(DISTINCT ...)AVG()STD()SUM()MAX() и MIN()).
    • Поддержка LEFT OUTER JOIN и RIGHT OUTER JOIN с синтаксисом ANSI SQL и ODBC.
    • Разрешены псевдонимы для таблиц и столбцов в соответствии со стандартом SQL92.
    • DELETEINSERTREPLACE, and UPDATE возвращают число строк, которые были изменены. Вместо этого можно задать возвращение совпавших строк. Для этого следует установить флаг при соединении с сервером.
    • Команду SHOW, которая является специфической для MySQL, можно использовать для получения информации о базах данных, таблицах и индексах. Чтобы выяснить, как оптимизатор выполняет запрос, можно применять команду EXPLAIN.
    • Имена функций не конфликтуют с именами таблиц и столбцов. Например, ABS является корректным именем столбца. Для вызова функции существует только одно ограничение: между именем функции и следующей за ним открывающей скобкой `(‘ не должно быть пробелов.
    • В одном и том же запросе могут указываться таблицы из различных баз данных (с версии 3.22).
  • Безопасность
    • Система, основанная на привилегиях и паролях, за счет чего обеспечивается гибкость и безопасность, и с возможностью верификации с удаленного компьютера. Пароли защищены, т.к. они при передаче по сети при соединении с сервером шифруются.
  • Масштабируемость и ограничения
    • Управляет очень большими базами данных. Компания MySQL AB. использует MySQL для работы с несколькими базами данных, которые содержат 50 миллионов записей, кроме того, нам известны пользователи, использующие MySQL для работы с 60000 таблицами, включающими около 5000000000 строк.
    • Для каждой таблицы разрешается иметь до 32 индексов. Каждый индекс может содержать от 1 до 16 столбцов или частей столбцов. Максимальная ширина индекса 500 бит (это значение может быть изменено при компиляции MySQL). Для индекса может использоваться префикс поля CHAR или VARCHAR.
  • Установка соединений
    • Клиенты могут соединяться с MySQL, используя сокеты TCP/IP, сокеты Unix или именованные каналы (named pipes, под NT).
    • Поддержка ODBC (Open-DataBase-Connectivity) для Win32 (с исходным кодом). Все функции ODBC 2.5 и многие другие. Например, для соединения с MySQL можно использовать MS Access.
  • Локализация
    • Сервер может обеспечивать сообщения об ошибках для клиентов на различных языках.
    • Полная поддержка нескольких различных кодировок, включая ISO-8859-1 (Latin1), немецкий, big5, ujis и многие другие. Например, скандинавские символы разрешены в именах таблиц и столбцов.
    • Для хранения всех данных используется выбранный набор символов. Все сравнения для столбцов с нормальными строками проводятся с учетом регистра символов.
    • Сортировка производится согласно выбранному алфавиту (по умолчанию используется шведский). Эту установку можно изменить при запуске сервера MySQL. Чтобы ознакомиться с примером очень грамотной сортировки, можно обратиться к коду сортировки для чешского языка. MySQL поддерживает много различных кодировок, которые можно задавать во время компиляции и в процессе работы.
  • Клиенты и инструментарий
    • Включает myisamchk, очень быструю утилиту для проверки, оптимизации и восстановления таблиц. Все функциональные возможности myisamchk также доступны через SQL-интерфейс.
    • Все MySQL-программы можно запускать с опциями --help или -? для получения помощи.
  • Разработка
    ...
  • Базы данных
    ...

Аналоги и альтернативы для MySQL

MySQL - похожие продукты (инструменты, решения, сервисы)

Отзывы

Отзывов пока нет.

Будьте первым, кто оставил отзыв на “MySQL”

Ваш адрес email не будет опубликован. Обязательные поля помечены *