Итак, буду равнять MySQL 5.1 PostgreSQL 8.3(4) M$SQL 2000, Linter 6.1 и ORACLE 10.
Собственно, всё, что знаю по возможностям.
Параметы по группам:
0)Типы данных
1)Базовое: ключи и ограничения по схемам
2) Индексы и специальные фичи для скорости -кластеры, бит-индексы и т. п.
3)Полнотекстовый поиск
4)Доступ
5)Вьюхипростые , материальные, временные таблицы
6)Процедуры/функции
7)Транзакции
8)Распределённые запросы, логика и репликация
9)Безопасность и шифрование
10)Работа с иерархиями,WITH ,арегаты
11)Логическое разделение структуры(пакеты, схемы, бд, области видимости и
пр)
12) Аналитические функции на запросах
13) Поддержка разных ОС
14)Поддержка основных кодировок
15)Возможности настройки и доработки под свои нужды, написание своего
функционала
16)Прочие возможности
настроение: В спешке
Метки: сравнениеСУБД
Метки: сравнениеСУБД
Метки: сравнениеСУБД
3)Полнотекстовый поиск
1) Поддержка юникода
2) Простота применения. Поддержка другой функциональности, одновременно с
полнотекстовым поиском
3) Поиск по фразе
4) Учёт расстояния. Поиск с учётом расстояния между словами
5) Мультисловарики.Использования нескольких словарей
6) Типы индексирования чем больше типов индексов, пригодных для полнотекста, тем
лучше.
7) Поиск в LOB, распознавание различных документов pdf/exel/doc и т.п.
Метки: сравнениеСУБД
4) Доступ
Пояснения, куда же без них
0) Мандатные политики уровня доступа, когда каждому пользователю
присваивается балл,
выше которого доступ к данным закрыт. Удобно не всегда, особенно, когда
надо хранить
информацию сильно разграниченную по группам доступа. Мне такая модель не
нравится.
1) Возможность задать привилегии на уровне пользователя, баллом отмечается
широта возможностей, например, подключение с определённых машин и т.п.
2) Система ролей позволяет единожды назначить набор привилегий для роли и
в дальнейшем уже назначать одну роль, а не кучу привилегий. Резко
упрощает администрирование, особеннно, когда много пользователей
3) Политики безопасности - более гибкая штука, чем механизм привилегий,
например, можно разрешить пользователю обновлять строго 2 столбца в
определённой таблице одновременно. Может быть, это кому-то и нужно.
Пока не применял.
4) Ограничения по данным жизненно необходимы. Степени тут такие:
0 - смотри чего хочешь, защитить данные нельзя
1 - Регулируется доступ к таблицам
2 - Регулируется доступ к таблицам до уровня столбцов
3 - 2+ есть вьюхи и процедуры
4 - 3+ к ним тоже регулируется доступ+ можно полностью запретить
смотреть таблицы
5 - Полноценный доступ на уровне строки
5) Ограничения по структуре
0 - можно всё смотреть,выполнять и т. п, ничего сделать нельзя
1 - Пользователю можно запретить менять структуру, но он её видит
2 - 1+ на свой страх и риск можно доработать напильником, но ограничено
3 - Пользователю можно закрыть структуру, но путём доработки напильником
4 - Структура закрывается, но виден список объектов
5 - 4+ он и списка объектов не видит
Метки: сравнениеСУБД
Метки: сравнениеСУБД
6)Процедуры/функции
1)Процедуры хранимые - для сложной обработки данных с полным управлением
транзакциями внутри процедуры, например, бухгалтерские проводки
2)Функции хранимые - Для сложных отчётов, например, аналитических
3)Поддержка разных языков для процедур и функций
4)UDF на одном языке
5)UDF на разных языках
6)Добавление, переопределение любых операторов и функций
7)Параметры-программы - например, я передал исходник, в качестве параметра ХП
и он выполняется на
стороне сервера. Никогда не использовал.
8)Подготовленные выражения - ускоряют многократное выполнение похожих
запросов
9)Переменные в пределах сессии. Нужная для пыхеров вещь если логика
достаточно сложная.
Метки: сравнениеСУБД
7) Транзакции и блокировки
1)Версионный механизм позволяет увеличить производительность на высоких
нагрузках,
для каждой транзакции создаётся свой снимок базы данных
2)Табличные блокировки - позволяет гарантировать, что таблицу не меняют.
Избегать использования.
3)Блокировки на уровне строк Ползволяет гарантировать, что строку не меняют.
4)Отсутствие эскалации блокировок. Эскалация увеличивает область блокировки,
и вероятность взаимоблокировок.
5)Механизм отлова взаимоблокировок. Без этого механизма можно считать, что
транзакциями лучше не пользоваться, иначе БД может встать.
6)DDL внутри транзакций - Очень полезно при тестировании, восстановления и
т.п.
7)Транзакция в рамках процедуры - иногда очень необходимая вещь
8)Автономная транзакция используется например для независимой обработки
данных
или для логгирования.
9)Точки сохранения используется для тяжёлых транзакций, чтоб не откатываться
целиком.
10) Протокол блокировок уровня колонки - не использовал, т.к. этот механизм
часто
требует установки модулей и не контролируется СУБД до конца. Зато
позволяет
ОЧЕНЬ эффективно строить очереди/стеки обслуживания
Метки: сравнениеСУБД
Метки: сравнениеСУБД
3) Агрегатные функции типа SUM, COUNT и прочее. Чем их больше - тем лучше.
4) Самописные агрегаты - пользоваться не приходилось, но в трудной ситуации
не лишнее.
5) Встроенные табличные полезняшки, например CROSSTAB или PIVOT бывают
совсем нелишние,
когда надо например придать результатам определённую форму.
настроение: Продуктивное
Метки: сравнениеСУБД
11)Логическое разделение
структуры(пакеты, схемы, бд, и т.п.)
1) БД - возможность держать несколько баз на одном сервере
2) Схемы - группы объектов одной базы по назначению.
3) Пакеты - группы хранимых процедур в зависимости от логики приложения
4) Запросы к другим серверам СУБД - возможность распределить логику по разным
серверам СУБД.
5) Табличные пространства - позволяют распределять нагрузки, вынося объекты в разные
каталоги,
на разные диски. Иногда этим можно облегчить резервирование.
6)Переменные сессии переменные, сохраняющиеся только в период соединения,
Контекст даёт возможность задавать значения по умолчанию для различных групп и
пользователей.
Метки: сравнениеСУБД
Комментариев: 1
CORR() 0 5 * * 5
COVAR_POP 0 5 * * 5
COVAR_SAMP() 0 5 * * 5
STDDEV_SAMP() 1 5 * * 5
REGR_(вид_функции_линейной_регрес
0 5 * * 5
сии)
STDDEV() 1 5 * 5 5
STDDEV_POP() 1 5 * * 5
VAR_POP() 1 5 * * 5
VAR_SAMP() 1 5 * * 5
VARIANCE() 1 5 * 5 5
Метки: сравнениеСУБД
Комментариев: 2
настроение: Бодрое
Метки: сравнениеСУБД
настроение: Боевое
Метки: сравнениеСУБД
настроение: Боевое
Метки: сравнениеСУБД
Рызюме:
По языкам у pgSQL самое широкое разнообразие, но вот поддержка каждого из языков
весьма и весьма разная. По отсутствию гочей у MySQL твёрдый ноль.
Метки: сравнениеСУБД
16) Прочее
Метки: сравнениеСУБД