Вход на хостинг
IT-новости
20.04.2016 iPhone 2017 года поместят в водонепроницаемый корпус из стекла
Линейка iPhone в новом году серьезно поменяется. В этом уверен аналитический исследователь Мин Чи Ку......
30.07.2015 Ищем уникальный контент для сайта
Ищем уникальный контент для сайта Без уникального контента Ваш сайт обречен на то, что его страницы......
Денис Колисниченко
SQLite – альтернатива MySQL
Три наиболее важных фактора веб-проектов – это быстрота, небольшая ресурсоемкость и сравнительно малая себестоимость. Основная масса веб-проектов не располагает ни кластерной архитектурой, ни выделенным сервером баз данных. Под них не закупается дорогостоящее программное обеспечение. Типичный веб-сайт – это нелюбимый пасынок в статье расходов.
Наибольшую популярность и распространенность среди веб-разработчиков давно и заслуженно обрел сервер баз данных MySQL. Он бесплатен, прост в установке, входит в состав большинства дистрибутивов Linux, почти наверняка окажется на сервере вашего хостинг-провайдера. Это – рабочая лошадка Web.
Долгое время поддержка работы с MySQL была по умолчанию встроена в интерпретатор PHP. Но не все так безоблачно. Сейчас почти повсеместно используется PHP 4-й версии, но не за горами выход следующей, пятой версии. И вот тут ситуация может измениться.
Из-за возникающих лицензионных проблем поддержка MySQL скорее всего не будет включена в PHP 5 по умолчанию. Так, из бета-версии PHP 5 уже удалена встроенная поддержка MySQL, зато появилась поддержка SQLite.
Замечание: речь идет о встроенной поддержке по умолчанию. Возможность собрать PHP с поддержкой MySQL остается по-прежнему, но требует «дополнительных телодвижений». А это, согласитесь, сделает не каждый.
MySQL всегда был ориентирован на быстроту, при этом частично жертвуя дополнительными возможностями. Разумеется, в проектах, предполагающих более сложную структуру базы данных, строгий контроль целостности и сложные запросы к базе данных, стоит использовать более развитые СУБД, например, PostgreSQL или Sybase. Но большинство малых и средних проектов, таких как интернет-каталог, обновляемый прайс-лист или веб-форум, вполне позволяют обойтись компактным, слегка ограниченным, но быстрым сервером баз данных. Традиционно таким сервером и был MySQL. Подойдет ли SQLite в качестве достойной замены?
Как любой программный продукт, SQLite обладает своими преимуществами и недостатками. Среди его преимуществ бесплатность и высокая производительность, помните о «трех китах» веб-программирования? Но ничто не дается даром. Производительность SQLite достигается не столько за счет уникального алгоритма, сколько из-за определенных ограничений его возможностей.
Традиционные системы управления базами данных построены на архитектуре клиент-сервер. Это значит, что клиент-приложение обращается к серверу-хранилищу данных с запросом для получения данных или для выполнения каких-либо операций. Сервер выполняет нужные операции и возвращает программе-клиенту результат своей работы. Такой подход предполагает возможность размещать приложение и хранилище данных на разных компьютерах, разделяя нагрузку на аппаратные ресурсы.
В этом смысле SQLite не является настоящим сервером баз данных. То есть он умеет работать только с файловыми базами данных, размещенными в виде файлов на локальном диске вашего компьютера. Для сравнительно небольших проектов это не является критичным, но снижает универсальность решения и лишает нас возможности разделить нагрузку на аппаратные ресурсы между несколькими компьютерами.
Перечислю основные характеристики SQLite:
n соответствует стандарту SQL-92. Правда, не полностью: некоторые функции не поддерживаются, но этим «грешил» и MySQL;
n база данных (включая таблицы и индексы) хранится в одном едином файле;
n максимальный размер файла базы данных – 2 Тб, т.е. суммарный размер базы данных, включая таблицы данных и индексы, не может превышать 2 Тб;
n существует реализация для платформ Linux и Windows;
n файлы баз данных имеют универсальный формат и могут быть перенесены из одной операционной системы в другую без потерь и дополнительных преобразований. Т.е. база данных, созданная на компьютере под управлением ОС Linux, может быть просто скопирована на компьютер с ОС Windows и наоборот. Это большой «плюс»;
n примерно в два раза быстрее, чем PostgreSQL и MySQL.