Документация Firebird → Документация по Firebird → Переход с MS SQL на Firebird → За и против |
Этот раздел описывает причины, по которым может понадобиться перенос существующей базы данных на СУБД Firebird, и причины, по которым этого не стоит делать.
Причины необходимости перехода могут зависеть от того, какую версию MS SQL и с какой целью Вы используете.
Например, обычно при использовании MS SQL 6.5 причинами для перехода могут служить имеющиеся в Firebird функции и простота использования. MS SQL 6.5 работает с фиксированными устройствами (devices), а не с динамически расширяющимися файлами, что ведет к возможным проблемам при администрировании. Также в MS SQL 6.5 существуют некоторые ошибки и некорректное поведение.
Если Вы используете MS SQL 7, то Вы знаете, что многие «особенности» были исправлены, но многих функций все еще не существует (обновляемые представления, бОльшее управление полями идентификаторов, функции пользователя, хранимые процедуры, возвращающие наборы данных). Вы также не можете использовать каскадную ссылочную целостность данных до версии 2000. То же относится к разным порядкам сортировки строк в одной базе данных.
Для операционных систем семейства UNIX Firebird способен использовать систему безопасности операционной системы. Однако эту функцию желательно не использовать для возможности портирования.
СУБД MS SQL 2000 улучшена по сравнению с MS SQL 7, но, по-прежнему, в ней нет такой ключевой функции Firebird, как многоверсионная архитектура (multi-generational architecture, MGA), которая позволяет иметь «долгие» (по времени существования) транзакции, не затрагивающие поведение «быстрых» (по времени существования) операционных транзакций. Наоборот, MS SQL убеждает пользователей приобрести еще один сервер (оборудование, операционную сиситему, сервер баз данных) и установить его только как хранилище данных для генерации отчетов. Можно только удивляться необходимости отдельного хранилища данных в интегрированной среде, дающей возможности создания запросов к разным базам данных (cross-database query).
Другая причина перехода - исключение привязки к определенному поставщику программного обеспечения. MS SQL работает исключительно на Windows NT/2000 (существуют так называемые персональные выпуски [personal editions], но они имеют ограничения по числу одновременных подключений и имеющимся функциям). Это означает, что Вы «привязаны» к операционным системам Microsoft. Firebird может работать на множестве платформ, включая Microsoft Windows, Linux, Solaris, MacOS X и другие.
Еще одна причина для перехода - цена. Firebird бесплатен; за использование MS SQL необходимо платить за каждый процессор, на котором работает сервер MS SQL. Например, доступ к базе данных, расположенной на компьютере с dual-Pentium, через Интернет будет стоить $39998 (цены с сайта Microsoft по состоянию на 2001.05.03).
Последняя, но не менее важная, причина в том, что исходные коды Firebird открыты. Это означает не только то, что в мире существует сотни разработчиков, готовых помочь Вам использовать эту СУБД, улучшать ее, находить ошибки и т.д., но и даже то, что Вы самостоятельно можете вносить изменения в исходный код и собирать Вашу версию СУБД для удовлетворения Ваших потребностей. Добавление таких функций, как система электронной почты или система ведения лога, является несложным, если Вы понимаете исходный код и имеете знания и опыт для внесения изменений. Хотя изменение исходного кода под свои нужды не является тривиальной задачей, эта задача все-таки выполнима. Также это вносит большой уровень гибкости в СУБД.
Прежде всего, если Ваша система работает без каких-либо проблем, то зачем Вам переходить на что-то другое? В этом случае Вы можете рассматривать СУБД Firebird для использования в своих будущих проектах. Не ломайте то, что работает.
MS SQL 7 имеет несколько функций, которые Вы не найдете в СУБД Firebird, такие как встроенная поддержка репликации (эта поддержка доступна как дополнительный модуль к СУБД Firebird), временные таблицы и интеграция с другими СУБД посредством OLE DB. Также в MS SQL встроены сервисы анализа OLAP и полнотекстовый поисковый механизм (эта поддержка доступна как дополнительный модуль к СУБД Firebird).
В СУБД MS SQL доступны инкрементные резервные копии (и восстановление из таких копий). Firebird резервирует и восстанавливает полную базу данных (инкрементные резервные копии станут доступны пользователям СУБД Firebird, начиная с версии 2.0 - прим. перев.).
При работе с операционной системой Microsoft, СУБД MS SQL 7 и выше способна использовать учетные записи пользователей операционной системы. Однако эту функцию желательно не использовать для возможности портирования и в связи с вопросами производительности.
СУБД MS SQL 2000 также имеет встроенную поддержку работы с XML и поддержку разделенных представлений (partitioned views) для лучшей производительности при работе с таблицами, расположенными на нескольких серверах.
В общем, кажется, что СУБД MS SQL более производительна на Windows, чем СУБД Firebird на этой операционной системе. Также, СУБД MS SQL имеет более тесную интеграцию с Microsoft Visual Studio.
Документация Firebird → Документация по Firebird → Переход с MS SQL на Firebird → За и против |