Картинка блога

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

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

Все (насколько я знаю) локальные базы поддерживают только одно параллельное подключение на запись.

SQLite

Это повсеместно используемая база данных состоит из одного файла (во время работы с базой, могут создаваться другие файлы). Библиотеки доступа к базе есть на любом современном языке программирования и запускается на любой платформе. Open Source.

ACCESS

Эта база данных идет как часть MS Office. С не мне тоже приходилось работать. Как и SQLite, читать базу может несколько клиентов, писать — только один. Закрытый код и не совсем понятно соглашение. Получается, что пользоваться базой можно только в том случае если есть лицензия на приложение Office. С другой стороны, пользоваться ACCESS без установленного Office можно с помощью ODBC.

SQL Server Compact

Эта база данных как и SQLite хранит данные в одном файле, но для работы с ним требует нескольких не управляемых (unmanaged DLL) библиотек и провайдера. На первый взгляд ничем не лучше SQLite. Эта база данных присутствует в Windows Mobile и Windows Phone устройствах.

MS SQL

Это серверная база данных от Microsoft. Для написания скриптов используется Transact-SQL. В полной версии поддерживается куб (OLAP) и присутствуют функции для сбора статистики и добычи данных (data mining). Среди редакций есть бесплатная, экспресс версия — MS SQL Express.

1 поддерживаемый процессор (но может быть установлен на любой сервер),
1 Гб адресуемой памяти,
4 Гб максимальный размер базы (10 Гб для версии SQL Server 2008 R2),
Через интерфейс SQL Server Management Studio 2005 нет возможности экспорта/импорта данных (в версии 2008 эта возможность присутствует)

Oracle

Это одна из самых древних, серверных баз данных. Об этом намекают и PL-SQL и обязательные sequence-ы, которые нужно создавать в ручную к инкрементальным полям. Признаюсь, работал я с этой базой последний раз года 4 назад. Но если за 25 лет ничего кардинально не изменилось, почему должно меняется последние 5 лет? Лицензия стоит больших денег, хотя, как и у MSSQL есть Express edition — Oracle XE. Ограничения были опубликованы в Computerra.

размер базы данных до 4 Гбайт и поддержка только одного процессора и 1 Гбайт оперативной памяти.

Postgree

Серваерная база с открытым исходным кодом уровня предприятия. Нет единого разработчика. Разработка ведется усилиями нескольких разработчиков и компаний. Действительно быстрая и полнофункциональная база данных. Из других блогов и форумов ясно, что проблемы могут возникнуть в самых потенных уголках postgree. А для оптимальной производительности может требовать работы напильником. Мне нравится 🙂

MySQL

Кто не слышал про MySQL? На самом деле MySQL объединяет в себе несколько движков хранения данных (все они имеют свои достоинства и свои недостатки). Этот пункт, вместе с простотой использования сыграл важную роль в ее популяризации. Такое ощущение, что сейчас все хостинг компании предлагают именно эту базу данных в качестве основной.

FireBird

Это бесплатный клон InterBase от Borland, сейчас существуют оба продукта. Известен наверно всем программистам Delphi, а значит русскоязычным разработчикам в целом. Код закрыт, но ограничений на использование нет.

DB2, VistaDB, Sybase, Synergy, Teradata

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

Запросы

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

NoSQL

Не реляционным базам уже давно пророчат победить реляционные. Но этого не происходит, и вряд ли когда произойдет. Из за специфики хранения данных (хэш-таблицы, деревья и т.д.), не реляционные базы обладают высокой скоростью получения данных и масштабируемостью. Тем не менее, у них отсутствует ряд возможностей построения запросов в отличие от реляционных (например, нет операции JOIN).

Дальнейшее изучение

Метки:, , ,

6 комментариев в “Сравнение SQL баз данных”

  1. Помогите пожалуйста розобратся,я купил смурфик.ру а мне дали толька логин и пароль от создателя!И что мне делать?

  2. Хех, а я раньше думал что кроме MS SQL и My SQL больше ничего и нет) А остальными тоже пользуются? Как то я не видел нигде.

  3. даааааа… «Радует» охват и «глубокое» понимание вопроса. А для чего написан сие текст? — мудрый взгляд хтмл-щика в «штучки», которые что-то и как-то хранят? Так пунктом «Запросы», можно было ограничится.

  4. > DeAmon2k
    какой охват? какое понимание вопроса??

    Это вводная статья, чтобы перечислить базы с которыми сталкивается народ в той или иной степени.

    В чем проблема то?

  5. Александрович
    3 октября, 2012 at 16:52

    Я конечно дико извиняюсь но у IBM DB2 тоже существует свободная версия.

  6. Александр
    14 июля, 2016 at 12:19

    MySQL — это не база данных а система управления базами данных (СУБД), тоесть это програмное обеспечение для управления баз данных. И такие же ошибки в остальных абзацах о СУБД…