Воскресенье, 19.05.2024, 07:53
Приветствую Вас Гость | RSS
Главная | Каталог статей | Регистрация | Вход
Меню сайта
Категории раздела
Базы данных [2]
Поиск
Наш опрос
Используете ли Вы пиратское ПО ?
Всего ответов: 46
Статистика

Онлайн всего: 1
Гостей: 1
Пользователей: 0
Друзья сайта
  • Дебет+ (аналог 1С)
  • Отдых летом в Крыму
  • HORSics
    Главная » Статьи » Базы данных

    Открытые и бесплатные платформы баз данных

    Практически все программные продукты для автоматизации деятельности человека нуждаются в надежном хранении данных. Когда-то было широко распространено хранение данных в обычных текстовых файлах (да и сейчас в некоторых программных продуктах можно наблюдать такое). Но вскоре подобный способ хранения данных оказался неприемлемым. Существовало несколько проблем, из которых самыми глобальными были организация поиска запрашиваемой информации и одновременный доступ к данным. В результате решения этих проблем начали появляться отдельные программные продукты, которые могли обеспечивать надежное хранение данных и управление ими, осуществлять основные операции над ними (например, сортировка или отбор по критерию). Такие программы получили название Система управления базой данных (СУБД). Так же некоторые именовали их платформами баз данных (далее – БД). Со временем создатели средств разработки начали разрабатывать различные интерфейсы доступа к известным платформам баз данных. И, таким образом, утвердился костяк структуры большинства разрабатываемых программных систем: [БД] + [Программный комплекс обработки данных]. За годы развития различных технологий баз данных было создано множество платформ. Некоторые погибли, некоторые продолжают существовать и развиваться. На сегодняшний день существует минимум десяток популярных платформ и практически у всех есть длинная история. И многие из них будут нами рассмотрены.

    Система управления базами данных – такой же программный продукт, как и любой другой. У него есть свои авторы (создатели) и лицензия. И каждый разработчик должен знать, что перед использованием БД в своей разрабатываемой программной системе необходимо ознакомиться с лицензионным соглашением, так как в некоторых случаях оно не предоставляет права распространять платформу базы данных совместно с разработанным продуктом. Подобной информацией не вредно владеть и заказчику, которому необходимо разработать программный продукт с базой данных.

    Выражаясь народным языком, существует два вида платформ: платная и бесплатная. А если посмотреть с профессиональной точки зрения, то можно сказать, что существуют платформы коммерческие закрытые, закрытые бесплатные и открытые (свободно распространяемые). В чем же основные отличия между ними, помимо условий распространения? Закрытые продукты обычно разрабатываются компаниями со строгой структурой и правилами, при этом существуя на средства, полученные от продаж этого продукта. Иногда по различным соображениям некоторые версии разработанных ПП распространяются бесплатно. Открытые (Open Source) продукты создаются зачастую свободными программистами самостоятельно, либо группами программистов (чаще всего международными), объединившихся по собственному желанию, и распространяются бесплатно вместе с исходными кодами. Причины подобного добродушия бывают очень разные. Но очень часто подобные группы программистов создают фонды, которые позволяют им принимать финансовое вознаграждение, перечисляемых по доброй воле потребителя. Некоторые за счет таких фондов очень неплохо существуют, так как во многих странах принято перечислять в благодарность кто сколько сможет. Подобная практика, кстати, набирает популярность. Согласитесь, гораздо удобнее для запуска нового бизнеса взять бесплатно (и что главное – на законных основаниях, а не установить пиратскую версию) компьютерную программу, а когда бизнес начнет приносить нормальный доход, перечислить некоторую сумму автору этой программы. В Украине данный механизм пока особо не практикуется, но возможно когда-то это станет нормально, как и во многих развитых странах, где компании понимают, что если не поддерживать подобными отчислениями программистов, они долго не смогут сопровождать продукт, которым эти компании пользуются. И главное – эти программисты не будут создавать новых интересных open source продуктов.

    Итак, вернемся к теме баз данных. Долгое время идут споры о том, насколько коммерческие БД лучше открытых или насколько открытые не хуже (и даже лучше) коммерческих. Всегда существует группа людей, которые сомневаются в стабильности и качестве открытых БД. Но чтобы не терзали смутные сомнения, иногда стоит проследить за историей создания открытого продукта и выяснить, кем являются авторы. Иногда оказывается, что авторы – группа, работающая в известной корпорации, которая больше десяти лет занимается разработкой ПО. И уже недоверия к ним становится меньше. А иногда открытый продукт – это бывший закрытый. Просто компания, которая его разработала, по каким-либо причинам открыла исходный код и позволила дорабатывать его каждому желающему. После подобных утверждений обычно возникает недоумение: ведь каждый желающий может код испортить. Поверьте, не все так ужасно! Обычно тот, кто не является профессиональным программистом, просто ничего не поймет в этом коде и вряд ли будет что-то там менять. Тем более что поменять нужно так, чтобы программа работала после компиляции. Обычно этот открытый код подбирает какая-нибудь группа программистов, у которых разработка подобных проектов является хобби. Некоторые такие проекты становятся очень серьезными и популярными. Среди них есть и неплохие СУБД. И если существуют хорошие открытые платформы баз данных, которые вполне подходят для решения поставленной задачи и стабильно работают, зачем приобретать коммерческий продукт? Особенно, когда денежных средств на разработку или приобретение непосредственно программного продукта очень ограниченное количество.

    2008 год многие провозглашают годом революции свободных платформ. Существует мнение, что образовался некоторый кризис касаемо компаний-гигантов, таких как Microsoft, IBM, Oracle. И этот факт своеобразно повлиял на развитие открытых продуктов.

    Перейдем к рассмотрению популярных свободно распространяемых платформ и их особенностей. Основными особенностями, на которые стоит обратить внимание при рассмотрении различных БД, являются лицензионные права использования, поддерживаемые операционные системы (ОС) и популярность в странах бывшего СССР. Популярность имеет значение, так как для обслуживания используемой БД необходимо найти специалиста. И, как правило, чем популярнее БД, тем больше специалистов. Кроссплатформенность (возможность функционирования в нескольких операционных системах) так же немаловажна, так как, создавая базу данных, лучше не привязываться к одной определенной ОС.

    MySQL. Одна из самых популярных платформ, которая стала стандартом для WEB-приложений. Это первая БД с открытым кодом. Конечно, данную БД можно использовать и для прикладных локальных систем, но здесь есть один момент: она распространяется по лицензии GPL. Согласно этой лицензии, разработчик имеет право использовать данную базу данных, только если его проект является open source либо он ее использует для своих нужд. Если разработчик хочет распространять закрытый программный продукт с данной БД, ему необходимо купить коммерческую лицензию. Но для WEB-сайтов эти условия подходят, так как практически всегда все их модули распространяются в исходных кодах. На начало 2008 года выпущена версия MySQL 5.0 и активно подготавливалась 5.1. К концу 2008 года разработчики обещают выпустить версию 6.0. Данная БД поддерживает практически все популярные ОС: Linux, Windows, FreeBSD, MacOS, Solaris. Из положительных сторон можно выделить развитый инструментарий и присутствие во многих дистрибутивах Linux. В версии 5.1 произошли улучшения, которые выражаются в удобстве администрирования, производительности системы и способности поддерживать большие объемы данных.

    Firebird. Данный продукт является потомком очень известного InterBase. Его история началась в 2000 году, когда компания Borland решила открыть исходные коды популярной на то время платформы InterBase 6.0. Была создана группа из бывших разработчиков InterBase и просто энтузиастов, которая скопировала эти исходные коды и решила создать новый проект, получивший в последствии название Firebird. Стоит упомянуть и о славном прошлом InterBase. Эта БД была создана в 1984 году и куплена компанией Borland в 1992. По некоторым источникам известно, что InterBase 4 использовали такие компании, как Nokia, First National Bank of Chicago, the US Army, NASA, что говорит о солидности продукта. И так как версия InterBase 6.0 является развитием InterBase 4, а Firebird  является развитием InterBase 6.0, то можно не сомневаться, что в большинстве случаев его возможностей хватит для прикладных систем. Сейчас платформу Firebird в своих системах используют предприятия Ингосстрах России, Внешторгбанк, Верховный суд РФ, таможня РФ, казначейство РФ, British Railways, Prague Municipal Library, Boeing, Motorola, Toyota, Distributel (Canada). У разработчиков Firebird существует фонд и все желающие их поддержать могут перечислять денежную помощь. И, наверное, никто не сомневается, что у перечисленных предприятий есть на это средства. Вернемся к рассмотрению БД непосредственно. Firebird распространяется по лицензиям IPL и IDPL, согласно которым его можно использовать без ограничений и распространять в составе других продуктов. Кодом при этом владеет коммуна, а финансирование и управление осуществляется посредством Firebird Foundation. Сферами применения данной БД можно назвать биллинговые системы, CRM-системы, банковское ПО, каталоги, распространяемые на компакт-дисках, ПО в кассовых терминалах, online-игры, WEB-хостинг. Поддерживается максимальное количество известных ОС. Из плюсов можно отметить прозрачную миграцию через Backup/restore, легкость установки, минимальное администрирование, высокий уровень поддержки языка SQL в соответствии со стандартом. Существуют и недостатки, от которых в скором времени планируют избавится: неэффективная поддержка очень больших баз данных, простая модель безопасности, нехватка собственных GUI-инструментов. В 2008 году выходит версия 2.5, которая является новой технологической многопоточной платформой. А к началу 2009 планируется выпуск версии 3.0. Все это свидетельствует о бурном развитии продукта. В новых версия планируются: эффективная поддержка многоядерных архитектур, больше средств мониторинга и управления, улучшение алгоритмов оптимизации запросов.

    PostgreSQL. Так же является одной из самых известных открытых платформ. Изначально появилась для операционной системы Linux, и только спустя несколько лет разработчики попытались перенести ее и на Windows. Первые попытки были не очень удачными, поэтому для любителей Windows, а таких оказалось в странах бывшего СССР большинство, она не стала столь популярной. Ее вытеснили коммерческие продукты, так как в годы развития известных БД никто из русскоязычных пользователей даже не вспоминал ни о каких лицензиях. PostgreSQL может функционировать в операционных системах Linux, FreeBSD, MacOS, Solaris и Windows. Распространяется по либеральной лицензии BSD. Нет никаких ограничений на бесплатное использование данной БД. С выходом 8-й версии продукта он встал на новую ступень развития. Появилась приемлемая поддержка ОС Windows. PostgreSQL 8.2 сравнивают с таким известным гигантом как Oracle 10g. По данным Standard Performance Evaluation Corporation (SPEC), которая тестировала две аналогичные серверные платформы (с Oracle 10g и PostgreSQL 8.2 соответственно) вынесла вердикт: экономия $118500 для каждого сервера БД без потери производительности. Подробности можно узнать по адресу http://spec.org. В 2008 году выходит версия 8.3, о количественных показателях разработки которой было сказано: десятки разработчиков из 18 стран и 15 месяцев разработки и тестирования на Linux и Windows. Из положительных сторон продукта можно отметить присутствие в некоторых дистрибутивах Linux, мощная базовая функциональность и возможность расширения, частичная совместимость SQL-языка с Oracle, открытость проекта и механизмов принятия решений, симпатичный PL/pgSQL Debugger. На начало 2009 года запланирован выход версии 8.4.

    Ingres. Одна из самых старых платформ. Ее история начинается 1973 году. С тех пор она сильно эволюционировала. До недавнего времени была коммерческим закрытым продуктом, но разработчики не захотели самостоятельно дальше развивать этот продукт и открыли его исходный код с надеждой, что кто-то сможет его развивать дальше. С 2004 существовала под лицензией CATOSL для ОС Linux, Windows и Solaris. В 2006 году вышла под лицензией GPL. Пока активного продвижения не заметно. Но было время, когда эта платформа конкурировала с известными продуктами компаний Oracle, IBM и Microsoft. Ingres породила такие продукты как PostgreSQL (post ingres) и Microsoft SQL Server. Так же ее технологии приобретались для развития БД Informix. СУБД Ingres эксплуатируется в России с 1994 года. Одним из предприятий, использующих данную платформу, для примера можно привести Центральный Московский Депозитарий. Сейчас продукт является одним из самых развитых и работает на многих популярных  операционных системах.

    MaxDB. Потомок известной ранее СУБД SAP DB. MaxDB – это результат некоторого сотрудничества MySQL и SAP DB. В 2003 году MySQL стала торговым и технологическим партнером SAP. SAP DB является достаточно мощной БД, но она не достаточно популярна. Особенно в сравнении с продуктом MySQL. Поэтому компания SAP AG, которая является одним из мировых лидеров программного обеспечения для бизнеса, решила объединиться с компанией MySQL AB, чем планировала привлечь больше пользователей. С этого момента SAP DB была переименована в MaxDB, сохранив при этом нумерацию версий. В 2004 году вышла версия MaxDB 7.5. Распространять решили под лицензией GPL. MaxDB является полноценной промышленной платформой баз данных, которая поддерживает расширенный язык SQL, поддерживает кластерные системы, поддерживает Unicode, имеет драйверы для PHP и Perl, имеет симпатичный графический пользовательский инсталлятор, имеет автоматическое восстановление неисправных индексов, имеет режим совместимости синтаксиса SQL с Oracle и еще множество приятных моментов. Вместе с самой СУБД в дистрибутиве поставляются все необходимые инструменты для администрирования БД, довольно функциональные и радующие глаз. Еще можно отметить, что СУБД довольно не требовательна к ресурсам (и к оперативной памяти в частности). В 2008 компания MySQL AB заявила о том, что она больше не является реселлером СУБД MaxDB. Но продукт вряд ли останется в стороне, учитывая его возможности. Теперь ему, возможно, поддержка MySQL AB и не нужна будет. БД является кроссплатформенной. Поддерживаются ОС Linux, Windows, Solaris и несколько менее известных, но не менее значимых.

    BerkeleyDB. Так же уже не молодая БД. Как можно понять по названию – данная БД является разработкой известного университета Беркли. БД сама по себе очень специфическая. В отличие от других, приведенных здесь БД, она является нереляционной (она может хранить несколько значений для одного ключа). Изначально появилась для операционной системы Unix. Позже была перенесена на многие другие ОС. Данная БД не поддерживает язык запросов SQL, который за последние пару десятков лет стал стандартом. А так же у нее нет понятия таблиц. Т.е. она принципиально отличается практически от всех популярных на сегодняшний день БД. И именно поэтому она не очень широко распространена. Не многие специалисты хотят разбираться с принципиально отличающейся архитектурой БД. Распространяется под лицензией Sleepycat Public License (SPL). Кроме этой лицензии имеет еще одну – коммерческую, для тех, кого не устраивает первая. В завершение описания данной платформы можно сказать, что ее вряд ли стоит применять в прикладных системах среднего масштаба. Но для крупных Интернет-приложений она может оказаться незаменимой.

    SQLite. Данная платформа не является независимой программой. Она является библиотекой, которая встраивается и становится неотъемлемой частью разрабатываемого программного продукта. Данная платформа начала свое существование в 2000 году и до 2008 года стабильно поддерживается, несмотря на распространение под лицензией Public Domain. Это значит, что данная технология и библиотеки являются достоянием общественности, и каждый при желании может ее присвоить (но нет смысла). Чтение данных может осуществляться несколькими потоками одновременно, а запись только в случае, если не выполняются другие запросы. В таком подходе, как у этой платформы, есть и плюсы и минусы. Но, все же, данная платформа может подойти только для небольших приложений, которым база данных нужна как небольшой придаток, а не как неотъемлемая часть программного комплекса. Не говоря уже о сетевых приложениях.

    Если проанализировать использование открытых платформ во всем мире, то статистика будет такой (данные приблизительные): MySQL, Firebird и PostgreSQL составят около 80%, остальные 20% - Ingres, MaxDB (SAP DB), BerkeleyDB, SQLite.

    Почему же о свободных платформах известно меньше, чем о коммерческих? Дело в том, что коммерческие компании вкладывают немалые деньги в раскрутку своих продуктов и пытаются «подсадить» на свою платформу как можно большее количество пользователей (особенно студентов) для дальнейшей продажи им своих продуктов. С появлением приемлемых для потребителя вариантов открытых платформ некоторые компании, разрабатывающие коммерческие продукты, постарались не допустить революционной ситуации и поэтому ввели новую стратегию для сохранения и расширения своей клиентской базы. В чем это проявляется? Они выпускают ограниченные в возможностях версии своих программных продуктов, но распространяют их абсолютно бесплатно. Ниже приведены примеры таких действий.

    Oracle XE. Урезанная версия продукта Oracle 10g. Ограничения: база данных не может содержать больше 4 Гб информации, СУБД не может использовать более 1 процессора и более 1 Гб оперативной памяти, что скажется со временем на скорости работы.

    MS SQL Express Edition. Версия популярного Microsoft SQL Server. Ограничения: база данных не более 4 Гб, размер используемой памяти до 1 Гб, только один процессор. Как можно заметить Microsoft не далеко ушла от Oracle, а точнее – вообще никуда не ушла, а просто сделала так же как остальные (она была далеко не первой в решении создать бесплатный продукт).

    DB\2-C. Продукт компании IBM, одной из самых известных корпораций в мире. В странах бывшего СССР эту компанию знают в основном как производителя ЭВМ, а не как разработчика ПО. Возможно для укрепления своих позиций во всем мире, эта компания и сделала самые минимальные ограничения для бесплатной версии своей мощной БД: размер базы данных неограниченный, может использовать до двух процессоров и до 4 Гб оперативной памяти.

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

    В завершении хотелось бы сказать пару слов о продуктах, в которых используют свободные БД. В Украине существует бесплатный программный комплекс для автоматизации предприятия (бухгалтерская программа), который в качестве платформы использует MySQL. Продукт называется «Дебет-плюс». Для больших предприятий, которым необходима повышенная стабильность и безопасность, существует коммерческая версия данного продукта. И одно из самых главных преимуществ – возможность использования не только на ОС Windows, но и на Linux. Существует электронная карта Украины, данные которой хранятся в базе данных Firebird. Всем известный продукт 1С:Предприятие 8, серверная часть которого вышла для ОС Windows и Linux, так же поддерживает БД PostgreSQL. Ювелир Мастер (созданная в Украине система управления ювелирным производством) использует для ведения базы данных Firebird. Кроме известных программных продуктов в Украине существует множество индивидуальных разработок, использующих открытые базы данных. Все это подтверждает тот факт, что не обязательно коммерческий продукт лучше бесплатного. Свободные продукты часто не хуже, а в чем-то бывают и лучше. Примером этому могут послужить и операционные системы семейства Linux и СУБД Firebird, MySQL, PostgreSQL. Можно даже не сомневаться, что их использование приведет только к экономии средств и позволит не использовать пиратское программное обеспечение для автоматизации необходимых процессов.

    Категория: Базы данных | Добавил: Admin (17.01.2010) | Автор: Котик Константин Николаевич
    Просмотров: 10680 | Комментарии: 3 | Рейтинг: 4.7/3
    Всего комментариев: 0
    Имя *:
    Email *:
    Код *:
    Создать бесплатный сайт с uCoz -->Copyright © by Kotik Konstantin, 2024