Сегодня чиркну пару слов о базах данных. Хочу просто поделится своим, сугубо личным мнением и опытом, об использовании различных баз данных. И так, базы бывают серверными и локальными, реляционными и не реляционными, поддерживающие транзакции и без них, и .т.д. и т.п.
Как показывает практика, серверные БД гораздо шустрее своих не серверных братьев. С локальными базами практически невозможно работать с таблицами под миллион записей, к слову сказать, для серверных баз это тоже не простое занятие. Тем не менее, механизмы индексации и кеширования позволяют ускорить процесс.
Все (насколько я знаю) локальные базы поддерживают только одно параллельное подключение на запись.
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).
Дальнейшее изучение
Метки:справочник, разработка, база данных, программы
Похожие статьи
- 3 апреля 2012 -- Вы ждете новые статьи на этом блоге? (6)
- 12 марта 2009 -- ALT.NET или инструментарий Microsoft? (2)
- 20 июня 2008 -- Софт, который можно использовать на работе. (5)
- 20 мая 2008 -- Open source проекты на C# .NET. (0)
- 4 января 2011 -- Bitnami Django stack и переброс портов в VirtualBox (3)
4 февраля, 2012 at 1:45
Помогите пожалуйста розобратся,я купил смурфик.ру а мне дали толька логин и пароль от создателя!И что мне делать?
22 февраля, 2012 at 15:45
Хех, а я раньше думал что кроме MS SQL и My SQL больше ничего и нет) А остальными тоже пользуются? Как то я не видел нигде.
9 апреля, 2012 at 0:18
даааааа… «Радует» охват и «глубокое» понимание вопроса. А для чего написан сие текст? — мудрый взгляд хтмл-щика в «штучки», которые что-то и как-то хранят? Так пунктом «Запросы», можно было ограничится.
10 апреля, 2012 at 10:24
> DeAmon2k
какой охват? какое понимание вопроса??
Это вводная статья, чтобы перечислить базы с которыми сталкивается народ в той или иной степени.
В чем проблема то?
3 октября, 2012 at 16:52
Я конечно дико извиняюсь но у IBM DB2 тоже существует свободная версия.
14 июля, 2016 at 12:19
MySQL — это не база данных а система управления базами данных (СУБД), тоесть это програмное обеспечение для управления баз данных. И такие же ошибки в остальных абзацах о СУБД…