Online video hd

Смотреть 4k видео

Официальный сайт медиатэк 24/7/365

Смотреть видео бесплатно

mhspace 11.11.2010 20:35

ПереводыPostgreSQL vs. MySQL

Оригинал
Традиционно, сравнение PostgreSQL и MySQL с обеих сторон подогревается фанатиками. Это технически сильные, открытые базы данных с большим количеством установок. Однако, на самом деле, редко какая-то из сильных сторон любой из них дает явное преимущество при выборе.

Как только люди понимают сильные стороны каждого продукта, сразу становится ясно, что именно им нужно. Для того, чтобы правильно оценить преимущества PostgreSQL и MySQL, давайте взглянем на их историю и "родословную" и рассмотрим их функциональность и производительность, а так же требования для успешного разворачивания базы данных предприятия.

Историческая справка

Сообщество PostgreSQL — самое старое, крупное и быстрорастущее в своём роде. Разработка PostgreSQL началась в 1985, в университете Беркли, Калифорния в качестве эволюции проекта Ingres. После нескольких лет в институтских кругах он был выпущен в мир Open Source. Сообщество стало процветать и сейчас насчитывает более тысячи разработчиков и 30000 активных участников.

Главное преимущество большого сообщества — это взаимодействие между пользователями и разработчиками, благодаря которой пользователи могут напрямую участвовать в создании новых возможностей. Такое разностороннее сообщество - это модель, к которой стремятся многие open-source сообщества.

Сообщество MySQL, в свою очередь, было создано в коммерческом мире. MySQL начала свое существование в 1994 году в Швеции из-за потребности в скоростной базе данных для веб-сайтов. Несколько лет спустя она была выпущена в мир open-source под контролем MySQL AB. Именно это помогло MySQL стать одной из самых широко используемых баз данных в мире (что привело к приобретению MySQL AB компанией Sun в 2008 году). Популярность MySQL также сыграла важную роль в том, что Европейская комиссия одобрила в рамках ЕС сделку по приобретению Sun корпорацией Oracle, которая завершилась в начале этого года.

Возможности и функции PostgreSQL

PostgreSQL считается самой продвинутой свободной БД на рынке. Такая репутация сложилась за десятки лет разработки. В качестве полнофункциональной, свободной реляционной БД (RDBMS), PostgreSQL обладает многими характеристиками, спроектированными для поддержки критически-важных приложений с большим потоком транзакций.

Основное преимущество PostgreSQL — безопасное и защищённое хранилище данных. Это начинается с контроля подключений к БД, с использованием промышленных механизмов типа LDAP или Kerberos. Для усиления безопасности, после авторизации вся связь с БД может идти через защищённый канал SSL.

Для поддержания корректного состояния, описываемого в бизнес-логике, во время добавления или изменения данных, PostgreSQL контролирует исполнение установленных пользователем ограничений, от простых проверок до более сложного контроля корректности внешних ключей (Foreign Key - столбец или комбинация столбцов таблицы БД, используемая в качестве первичного ключа для таблицы другой БД - прим.перев.). Как только данные записаны на диск, возможность создания и, что даже более важно, загрузки резервной копии становится критичной. В PostgreSQL есть простая система резервных копий, которая работает в составе большого механизма откатов (Point-in-Time Recovery, PITR), позволяя администраторам быстро восстанавливать работу после сбоев.

Благодаря модулям расширения, остальные группы могут создавать более продвинутые решения для основной архитектуры PostgreSQL. Идеальный пример - геопространственная поддержка в PostreSQL. Она встроена с помощью модуля PostGIS, обычного расширения PostgreSQL. Это расширение добавляет PostreSQL самую лучшую геопространственную поддержку независимо от того, какого типа база - свободная или проприетарная.

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

Возможности и функции MySQL

Благодаря своей простоте и производительности, MySQL - самая популярная открытая база данных. С самого начала MySQL была предназначена для вебсайтов и обеспечивала быструю индексацию данных в хранилищах и оптимизацию последовательного доступа (движок ISAM). Такой тип рабочей нагрузки, с преобладающими операциями чтения и большим количеством мелких запросов, послужил причиной внедрения кеша запросов, который еще больше увеличивает производительность MySQL. Упор на производительность привел к таким решениям как MySQL Cluster, который позволяет масштабировать базу данных более чем на один физический сервер.

PostgreSQL не единственная база данных, позволяющая расширять функциональность с помощью внешних расширений. Одной из самых сильных сторон MySQL является механизм подключаемых хранилищ. MyISAM, хранилище по умолчанию в MySQL, обеспечивает производительность среды с преимущественным чтением, InnoDB обеспечивает надежные транзакции, необходимые для приложений, выполняющих много операций записи.

Кроме того, существует множество сторонних хранилищ, таких как Brighthouse и DB2, которые добавляют ещё больше возможностей MySQL. Такая гибкость позволяет администраторам настраивать их MySQL так, как это нужно для конкретных таблиц. Например, для таблиц, в которых преобладают операции чтения, таких как таблица кодов стран, лучше использовать хранилище MyISAM, а для таблиц с транзакциями, как таблица с заказами, лучше использовать InnoDB.

И хотя у PostgreSQL и MySQL особая репутация в плане поддержки особых типов приложений, у обеих широкий спектр использования.
Например, PostgreSQL известна своими возможностями в коммерческих транзакционных приложениях, хотя она так же используется во многих веб-приложениях.
С другой стороны, MySQL — традиционно мощная база данных для веб-приложений, так же используется в приложениях, требующих поддержку транзакций. Главное, что обе довольно гибкие в применении, но любая из них может быть лучше в техническом или бизнес плане, с учетом индивидуальных обстоятельств.

Сообщество во главе

Самое большое различие между PostgreSQL и MySQL может быть вообще не техническим. Проекты с открытым исходным кодом, по определению, основываются на сообществах. Сообщество разработчиков, которое создаёт и содействует open-source проектам, даёт им жизнь. Фактически, есть два типа open-source сообществ.

Первый тип - это полностью открытые проекты баз данных, которые организованы вокруг независимых и самоподдерживаемых сообществ. У PostgreSQL — старейшее и крупнейшее независимое open-source сообщество такого типа. Преимущество таких сообществ это реальная независимость от поставщика (вендора).

Второй тип open-source сообщества может иметь поставщика, который контролирует проект, и проект может быть "купленным" в перспективе. Скажем, MySQL. Проект изначально был основан и контролировался MySQL AB, коммерческой компанией, которая занималась всеми ключевыми разработками и архитектурой MySQL. Потом управление сообществом MySQL перешло к Sun, а в настоящее время — к Oracle.

Лицензия

Лицензирование, или условия изменения и распространения исходного кода, может существенно повлиять на выбор open-source базы данных. Лицензия PostgreSQL создана на подобии лицензии BSD, которая разрешает изменения кода; он может быть открыт на усмотрение автора.

Эта открытая лицензия идеальна для поставщиков ПО, которые хотят использовать PostgreSQL как часть своих решений. Так как лицензия PostgreSQL не обязывает открывать код производных решений, поставщик может выбрать, открывать ли исходный код, если это соответсвует его бизнесс-модели.

MySQL распространяется под лицензией GNU GPL и контролируется Oracle. GNU GPL более свободна в вопросе открытия кода производных решений и поощряет свободное распространение кода. Это защищает авторов оригинального кода, вынуждая так же распространять производные решения под лицензией GNU GPL.

Заключение

Все сравнения MySQL и PostgreSQL начинаются с того, что обе — реляционные базы данных с открытым исходным кодом, но на этом их сходства заканчиваются. Каждая из них имеет свои области применения, которые только в некоторых случаях совпадают. Другими словами, это высококачественные базы данных, которые следует рассматривать как альтернативу дорогим проприетарным продуктам, особенно в условиях современного экономического кризиса.

Джим Млодгенски является Chief Architect в EnterpriseDB. Он один из первых сотрудников EnterpriseDB, который начал работать в компании в мае 2005 года. На протяжении этих лет Джим был ответственным за ключевые виды деятельности, такие как технология продаж, профессиональные услуги, стратегические технологические решения, доставку и обучение клиентов. До работы в EnterpriseDB, Джим был партнером и разработчиком в компании Fusion Technologies, которая предоставляла технологические услуги. Почти десять лет Джим разрабатывал начальные наброски и концепции для консультационных проектов в Fusion, и специализировался на разработке приложений, работающих с Oracle, веб-разработке и открытых информационных структурах. С ним можно связаться по адресу .


Оригинал (английский): PostgreSQL vs. MySQL: How to Select the Right Open-Source Database

Перевод: © Инициативная группа welinux.ru settler, mhspace, wiz, Zereal, K-9.

translated.by переведено толпой


Тэги: database mysql postgresql sql база данных субд
+ 12 -
Похожие Поделиться

K900 11.11.2010 21:01 #
+ 2 -
Добавлю, что с мускулем в последнее время творится тихий ужос, так как оракл - корпорация бобра и хочет денег. Возможно есть смысл подумать об альтернативе.
cppmm 11.11.2010 22:18 #
+ 2 -
О mariadb, например. :)
Но ставить для простого сайтика-бложика-хоямячка постгрес со всеми его толпами наворотов, это слишком.
Хотя я люблю постгрес. Возможности оптимизации, ключи и связи - это что-то, конечно. Правильно спланированная и реализованная база в нём может показывать чудеса производительности. Правда, в другую бд её уж не перенести.
K900 11.11.2010 22:21 #
+ 1 -
Я бы перевел про альтернативные варианты вроде NoSQL или mariadb тот же. Накидайте годных статей, если кто знает.
cppmm 11.11.2010 22:26 #
+ 2 -
Я могу дать уже на русском статью. :)
xT 11.11.2010 23:01 #
+ 2 -
ну NoSQL это NoSQL, и требует имплементации в уже существующий код
а мариадб это drop-in replacement
grandse 11.11.2010 22:04 #
+ 2 -
MySQL как хранилище ключ-значение может хорошие результаты показывать http://golanzakai.blogspot.com/2010/10/installing-denas-handlersocket-nosql.html.
А вообще на практике при большом количестве данных и более сложных запросах PostgreSQL справляется по моему опыту лучше чем MySQL.
1. Я год назад проводил тупой-тупой тест и если для несколькоих сотен - нескольких тысяч записей MySQL значительно обходил PostgreSQL по скорости выборки, то вот где-то к 50-100 тысячам результаты были сопоставими, ну а дальше PostgreSQL начинал обходить соперника. Правда вставки у него более медленные.
2. В версиях MySQL до 5.1 или даже 5.5 он не умеет оптимизировать JOIN и вложенные запросы.
Ну а насчет корпорации зла, посмотрим к чему это приведет. jdbc-драйвер уже без регистрации не скачать было :)
xT 11.11.2010 22:07 #
+ 1 -
что насчет mariadb и percona server? : )
Zereal 11.11.2010 22:18 #
+ 0 -
если интересно, то поищем и переведем. если есть готовые ссылы - welcome.
wat_che 11.11.2010 22:15 #
+ 2 -
На этой блямбочке "переведено толпой" останавливается взгляд прям как на товарном знаке.
cppmm 11.11.2010 22:20 #
+ 5 -
Все сравнения MySQL и PostgreSQL начинаются с того, что обе — реляционные базы данных с открытым исходным кодом, но на этом их сходства заканчиваются. Каждая из них имеет свои области применения, которые только в некоторых случаях совпадают. Другими словами, это высококачественные базы данных, которые следует рассматривать как альтернативу дорогим проприетарным продуктам, особенно в условиях современного экономического кризиса.

С этого надо было начать...
И этим же закончить. :)
Поэтому автору стати не зачёт.
Переводчикам, в любом случае спасибо. :)
Shtsh 11.11.2010 23:21 #
+ 1 -
уточнение. В свежей свободной версии оракл выпилили поддержку innodb
cppmm 12.11.2010 03:26 #
+ 0 -
о_О
Это же изначально оракловская разработка, которую они долго и нудно в мускуль пропихивали. А тут внезапно выпилили. Странно как-то.
Shtsh 12.11.2010 10:10 #
+ 1 -
Хабр превращается в жёлтую прессу :(

Извиняюсь. Раньше UPD не было :(
cppmm 12.11.2010 11:37 #
+ 0 -
А. Ну вот это похоже на правду. И про иннодб, и про хабр. :)
krig 11.11.2010 23:24 #
+ 4 -
Когда был на последней конференции, по ходу одного доклада, резюмируя один из блоков, сделал следующую запись в твиттер:
Есть деньги и мозги - oracle, умный нищеброд - postgresql, в остальных случаях - mysql. Советы по выбору СУБД на #devpoint
wiz 12.11.2010 09:36 #
+ 0 -
есть деньги И-НЕ мозги - oracle q:

Смотреть онлайн бесплатно

Онлайн видео бесплатно


Смотреть русское с разговорами видео

Online video HD

Видео скачать на телефон

Русские фильмы бесплатно

Full HD video online

Смотреть видео онлайн

Смотреть HD видео бесплатно

School смотреть онлайн