Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Порекомендуйте БД для следующих требований ->

6.6K
04 июня 2007 года
noff
67 / / 01.08.2006
Здравствуйте.
Стою на пороге выбора СУБД. Не знаю, к чему склониться.

Значит так, какая стоит задача.
В БД будут храниться документы, представляющие собой как XML-данные, так и обычные данные (как в обычных таблицах) одновременно. Т.е. документ может содержать следующие параметры:
- ID (int) идентификатор документа
- Category - категория документа. Числовое значение. Может быть как тип SET в MySQL - т.е. список категорий, если документ принадлежит нескольким категориям.
- Doc - сам документ в формате XML, т.к. в зависимости от типа документа, оно может состоять из различного числа параметров, таких как номер документа, код документа, язык, сам текст документа, кто утвердил, дата утверждения и т.д. Т.е. это я так понимаю проще и лучше сделать в XML.

Так вот какая СУБД (из по возможности как можно бесплатней) подойдет для этой задачи? MySQL совсем не катит, т.к. там совсем уж куцие средства для работы с XML.

Так же просьба высказаться в адрес FireBird и MS SQL Server Express.

Спасибо.
2
04 июня 2007 года
squirL
5.6K / / 13.08.2003
PostgreSQL. если объемы будут небольшие - можно Oracle 10g XE взять. он тоже бесплатный. там объем хранилища ограниченый для бесплатной версии. впрочем можно в оракле данные перелопачивать, а хранить их в каком то бекенде, типа того же PostgreSQL
6.6K
04 июня 2007 года
noff
67 / / 01.08.2006
Как раз в будущем предполагаются большие объемы. Поэтому бесплатный оракул не подойдет.

А что насчет FireBird и MSSQL ?
10
04 июня 2007 года
Freeman
3.2K / / 06.03.2004
Цитата: noff
А что насчет FireBird и MSSQL ?


Не слышал про поддержку XML в Firebird.

Знаком с понятием XML-схема (XML Schema)? Её поддержка реализована в СУБД у микрочленов и Oracle. Не знаю, как у первых, но в Oracle - правильно. Возможно, нечто аналогичное есть в PostgreSQL.

6.6K
04 июня 2007 года
noff
67 / / 01.08.2006
На Oracle мы пока не потянем.
Насчет Postgres - почитал в сети, написано, что там только надстройка для работы с XML, причем вроде третьего производителя.
294
04 июня 2007 года
Plisteron
982 / / 29.08.2003
Цитата: noff
На Oracle мы пока не потянем.
Насчет Postgres - почитал в сети, написано, что там только надстройка для работы с XML, причем вроде третьего производителя.


Если размер БД не превысит 1 Gb, то Oracle 10g XE однозначно. Прост в установке, куча документации, работает с XML, имеются всякие библиотеки "прямого доступа" третьих фирм, куча средств разработки и отладки (PL/SQL Developer, TOAD и др.), развитый язык хранимых процедур PL/SQL, возможность использовать автономные транзакции в триггерах, доступ к объектам БД из хранимой процедуры (ХП) как с правами владельца ХП, так и с правами вызвавшего ХП, и многое другое вкусное.

Если размер БД может быть больше 1 Gb, придётся раскошеливаться на Oracle 10g Standard Edition One (5 килобаксов на один процессор с неограниченным количеством клиентов).

А что значит "не потянем"? В изучении Oracle на самом деле достаточно прост, по крайней мере, проще, чем IBM DB2, ресурсов требует не так уж много (например, у меня Oracle 10g XE работает на виртуальной машине с 640 Mb RAM без pagefile).

6.6K
04 июня 2007 года
noff
67 / / 01.08.2006
Не потянем пока финансово. Но приму к сведению.

А что насчет MS SQL Server Express Edition ? Бесплатный и XML понимает. Какие минусы?
13
04 июня 2007 года
RussianSpy
3.0K / / 04.07.2006
Цитата: noff
Не потянем пока финансово. Но приму к сведению.

А что насчет MS SQL Server Express Edition ? Бесплатный и XML понимает. Какие минусы?



Стоимость ОС.
MS SQL Server штука конечно хорошая, но стоит много. Вы же не собираетесь ставить пиратскую Win2003 Server? ;)

6.6K
05 июня 2007 года
noff
67 / / 01.08.2006
Естественно нет.
Только MS SQL Server Express Edition - бесплатная. С полной поддержкой функций XML.
Т.е. кроме стоимости недостатков нет?
13
05 июня 2007 года
RussianSpy
3.0K / / 04.07.2006
Из недостатков можно отметить не только стоимость, но и более высокую нагрузку на систему со стороны ОС по сравнению с Linux/FreeBSD.
По сути итоговая стоимость будет ненамного меньше покупки лицензии Оракла.
В любом случае если как вы говорите объемы будут большие - ни один из бесплатных вариантов не подойдет тк ограничения там очень существенные.
6.6K
06 июня 2007 года
noff
67 / / 01.08.2006
Значит осталось два кандидата MS SQL SERVER EXPRESS и ORACLE 10g XE.
Подскажите, какие у них различия в:
1. Обработке XML-данных.
2. Скорости выборки при больших объемах информации, если выборка будет производиться как по обычным полям, так и по параметрам в XML-полях.
3. Можно ли как-то синхронизировать данные между БД, находящимися на разных компьютерах? С как можно меньшим потреблением трафика. Суть в том, что может стоять 80 разных компов, работающих с интернет по GPRS и нужно держать актуальную одинаковую информацию на каждом из этих компов, при этом синхронизироваться раз в сутки. Или два. Как вариант, конечно, понимаю, что можно работать с единой базой, но это будет медленно. И еще неизвестно, где больше трафика будет потребляться.

Спасибо.
294
07 июня 2007 года
Plisteron
982 / / 29.08.2003
Цитата: noff
Значит осталось два кандидата MS SQL SERVER EXPRESS и ORACLE 10g XE.
Подскажите, какие у них различия в:
1. Обработке XML-данных.

Различий не знаю, т.к. под MS SQL Server никогда не программировал. А про XML в Oracle можно немножко почитать на CITForum'е или на сайте Oracle, но там надо зарегистриться. Есть небольшой примерчик работы с XML

Цитата: noff
2. Скорости выборки при больших объемах информации, если выборка будет производиться как по обычным полям, так и по параметрам в XML-полях.

Бенчмарки не проводил, но, судя по тестам TPS-S (кажись, он так зовётся), Oracle находится в Top10 в диапазоне размеров БД 3-5 Тб. На меньших объёмах данных конкурируют Oracle и MS SQL Server, на больших -- IBM DB2 и Oracle.

Цитата: noff
3. Можно ли как-то синхронизировать данные между БД, находящимися на разных компьютерах?

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

Цитата: noff
Суть в том, что может стоять 80 разных компов, работающих с интернет по GPRS и нужно держать актуальную одинаковую информацию на каждом из этих компов, ...

Ээээ... RDBMS Teradata? Кстати, насколько мне известно, она бесплатная!

Цитата: noff
Или два. Как вариант, конечно, понимаю, что можно работать с единой базой, но это будет медленно.

Смотря сколько данных будешь на клиент гнать. У меня по модему 56k оракловый клиент довольно шустро бегал.

Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог