Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Сравнение СУБД [игнор отключен] [закрыт для гостей] / Выбор СУБД для работы с таблицами в миллионы записей / 20 сообщений из 20, страница 1 из 1
13.10.2003, 14:45
    #32291297
Ashotovich
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выбор СУБД для работы с таблицами в миллионы записей
Всем доброго времени суток.
Возникла проблема миграции с Оракла на что-нибудь бесплатное - прижали-таки. =(
Ну так вот, в БД основная таблица за год набирает порядка 1 500 000 записей. Остальные таблицы - на порядки меньше. Встроенных функций и триггеров не требуется. Главное - скорость работы плюс надежность, чтобы база не падала каждую неделю.

Какую из СУБД посоветуете, уважаемые? Заранее спасибо за помощь.

С уважением, Ashotovich
...
Рейтинг: 0 / 0
13.10.2003, 15:07
    #32291350
Gold
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выбор СУБД для работы с таблицами в миллионы записей
Ну тут выбор то не очень большой - BerklreyDB, MySQL, FireBird и Postgres.
Полтора миллиона записей - это любая БД потянет.
Есть мнение, что самый быстрый из них MySQL, но также есть мнение, что он самый быстрый только на простых запросах и определённо самый "неумелый".
я б с ним вобще не связывался, т.к. после оракла там одни удивления и огорчения будут.
С Беркли я никогда не сталкивался - ничего не могу сказать.
PostgreSQL и FireBird вас вполне устроят, я думаю - они где-то одного класса. следует заметить, что у FireBird гораздо более крупное сообщество русскоязычных программистов, его главный разработчик тоже из росии, т.к. при возникновении проблем её решение удастся найти быстрее, чем у других, а возможно даже что ваша токовая новая идея будет воплощена в сервере, если она всем понравится.
В общем, если ну уж очень простые операции с базой, не нужны ХП - тогда я бы выбрал МySQL, а иначе FireBird.
...
Рейтинг: 0 / 0
13.10.2003, 15:43
    #32291431
Ashotovich
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выбор СУБД для работы с таблицами в миллионы записей
Операции простые. Дальше селекта из нескольких таблиц с одноуровневым вложением дело не идет. Самый "сложный" запрос покамест аж вот такой:

SELECT ORGANIZATION_ID, ORGANIZATION_NAME FROM ORGANIZATIONS WHERE TYPE_CODE IN (SELECT TYPE_CODE FROM LINK_PROFESSION_ORGTYPES WHERE PROFESSION_CODE='$profession_code') AND TYPE_CODE IN (SELECT TYPE_CODE FROM LINK_CATEGORY_ORGTYPES WHERE CATEGORY_CODE='$category_code') AND SECTOR_CODE='$sector_code' ORDER BY ORGANIZATION_NAME ;)

А по надежности есть какие-нибудь данные? Какая из них считается надежней? Вопрос правомерен - я вот, например, знаю, что Novell NetWare - самая надежная система для файл-сервера... ;)
...
Рейтинг: 0 / 0
13.10.2003, 16:03
    #32291483
Senin Viktor
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выбор СУБД для работы с таблицами в миллионы записей
Можно и MSDE. При наличии лицензионного Офиса - бесплатна. Ограничение: размер БД до 2 Гб, пользователей до 5 (и еще парочка не существенных ограничений). По надежности: это ядро MS SQL сервера.
...
Рейтинг: 0 / 0
13.10.2003, 16:07
    #32291492
Я
Я
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выбор СУБД для работы с таблицами в миллионы записей
При переходе с Oracle наверное лучше FireBird, они, типа, оба версионники, хотя и разные...
...
Рейтинг: 0 / 0
13.10.2003, 16:49
    #32291596
Gold
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выбор СУБД для работы с таблицами в миллионы записей
Скажу про FB. Завалить его, конечно, можно, ноесли всё сделано правильно - будет работать годами. У нас под FreeBSD пол года уже точно никаких проблем небыло с ним.

PS А запросы с IN лучше преределать на JOIN, т.к. не все оптимизаторы такие умные, как Оракловский.
...
Рейтинг: 0 / 0
13.10.2003, 17:33
    #32291705
Gt_
Gt_
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выбор СУБД для работы с таблицами в миллионы записей
посмотри внимательно на posgres, они вроде специально брали идеологию оракла (версионность) и главное многое из сиснтаксиса. например у них есть нормальные сиквенсы и т.д. короче посмотри синтаксис у него ближе чем у ИБ должен быть.

в теории есть еше SAPDB, он типа по синтакису вообще совместим с оракле7, но не популярен и щас они там что-то с mysql мутят, короче экзотика на наших широтах.
...
Рейтинг: 0 / 0
13.10.2003, 17:42
    #32291722
Ashotovich
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выбор СУБД для работы с таблицами в миллионы записей
Угу. Про PostgreSQL мне много чего говорили. Якобы - одна из самых продвинутых СУБД из бесплатных. Но есть одно "но" - я не знаю как насчет производительности. Потому как на простых запросах MySQL, насколько я знаю, ничем не уступает по быстродействию Oracle, а вот как себя ведет Postgre - неизвестно. Есть какие-нибудь данные?
...
Рейтинг: 0 / 0
13.10.2003, 18:49
    #32291816
Gt_
Gt_
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выбор СУБД для работы с таблицами в миллионы записей
ну на сложных запросах у него говорят бывают чудеса, но в принципе нагрузку вроде держит нормально. короче линуксоиды больше любят его :)

ИМХО 2 млн в наши дни = смалл бизнес и поэтому я бы более за синтаксис и сопровождение волновался, а скорость - мне дешевле апгрейд сделать чем код весь перелапатить.

p.s. а mysql на глупых запросах делает оракл как нефиг делать :)
p.p.s. а чо за проблема с ораклом, деволопмент же фри или заказщик бедный ?
...
Рейтинг: 0 / 0
13.10.2003, 19:50
    #32291885
Gold
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выбор СУБД для работы с таблицами в миллионы записей
к стати говоря, Оракл - не версионник и саму версионность придумал Джим Старки (так его кажись), который InterBase делал. Так вот, Оракл - это смесь версионной и блокировочной архитектуры и его нельзя однозначно отнести ни к тем ни к другим. И вобще, версионность как бы более продвинутая технология, но у неё куча недостатков своих.
...
Рейтинг: 0 / 0
13.10.2003, 23:21
    #32292020
ASCRUS
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выбор СУБД для работы с таблицами в миллионы записей
Можно и MSDE. При наличии лицензионного Офиса - бесплатна. Ограничение: размер БД до 2 Гб, пользователей до 5 (и еще парочка не существенных ограничений).
Немного не в тему - но вот недавно столкнулся - подсунули мне бакуп БД размером 5 гигов для MSSQL, на машине стоит только MSDE, рестрорил, посмотрел что там и как, данных еще подлил, потом забакупил, отдал и детачил базу. И только потом вспомнил про ограничение у MSDE в 2 гига. Стало мне интересно - попытался аттачить, ругнулась, что БД превышает 2 гига. Тогда восстановил из бэкупа - все восстановилось и работает. Чудеса однако у MS в области ограничений да и только.
...
Рейтинг: 0 / 0
14.10.2003, 09:34
    #32292196
Ashotovich
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выбор СУБД для работы с таблицами в миллионы записей
Оракл, заказчик... Я работаю в представительстве буржуйской конторы. И проект реализую "под нас". Проблема в том, что нелицензионное ПО использовать у нас запрещено (политика компании), а для того, чтобы выбить для проекта искомые 40 000 долларов на Оракл, мне бюджет придется утверждать года два, знаю, проходил. Так что дешевле все на бесплатную SQL-платформу перевести, чем столько геморроя заработать, выбивая деньги из жадных итальяшек-немцев.

Запросы, как я и говорил, глупые. Связи между таблицами, триггеры можно обойти, запретив пользователям удалять записи из таблиц - только UPDATE (DELETE разрешу только из таблиц, не имеющих дочерних связей). Так что MySQL вплоне подойдет, главное, чтобы работала стабильно.
...
Рейтинг: 0 / 0
14.10.2003, 11:06
    #32292360
Хрен
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выбор СУБД для работы с таблицами в миллионы записей
mysql начиная с версии (если не подводит память) 3.23.44 понимает каскадное удаление/изменеие для innodb таблиц
...
Рейтинг: 0 / 0
14.10.2003, 11:08
    #32292366
Sad Spirit
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выбор СУБД для работы с таблицами в миллионы записей
Ashotovich писал:Угу. Про PostgreSQL мне много чего говорили. Якобы - одна из самых продвинутых СУБД из бесплатных. Но есть одно "но" - я не знаю как насчет производительности.
А как насчёт засунуть свои данные в Postgres и прогнать тесты? Только не с установками по умолчанию, они у Postgres'а очень консервативные и отсюда идут легенды о том, что он медленный. Вот свеженькая статья про настройку производительности .

Ashotovich писал:Потому как на простых запросах MySQL, насколько я знаю, ничем не уступает по быстродействию Oracle
На очень простых запросах и если бенчмарки устраивают представители MySQL. :)

А приведённый тобой запрос в Мыскле просто не пойдёт. Впрочем и в Постгресе, если речь о стабильной версии, а не о бете 7.4, его лучше переписать через JOIN или через EXISTS --- тормозить будет.
...
Рейтинг: 0 / 0
14.10.2003, 11:51
    #32292446
Ashotovich
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выбор СУБД для работы с таблицами в миллионы записей
А можно пример, как его переписать через JOIN? Заранее благодарю.
...
Рейтинг: 0 / 0
14.10.2003, 13:11
    #32292585
Sad Spirit
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выбор СУБД для работы с таблицами в миллионы записей
Ashotovich писал:А можно пример, как его переписать через JOIN? Заранее благодарю.
Через JOIN это я несколько погорячился, вот вариант через EXISTS:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
SELECT ORGANIZATION_ID, ORGANIZATION_NAME 
FROM ORGANIZATIONS O
WHERE 
    EXISTS (
        SELECT P.TYPE_CODE
        FROM LINK_PROFESSION_ORGTYPES P
        WHERE P.PROFESSION_CODE='$profession_code' AND
              P.TYPE_CODE = O.TYPE_CODE
    ) AND
    EXISTS (
        SELECT C.TYPE_CODE
        FROM LINK_CATEGORY_ORGTYPES C
        WHERE C.CATEGORY_CODE='$category_code' AND
              C.TYPE_CODE = O.TYPE_CODE
    ) AND
    SECTOR_CODE='$sector_code' 
ORDER BY ORGANIZATION_NAME;
...
Рейтинг: 0 / 0
14.10.2003, 13:35
    #32292628
Gold
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выбор СУБД для работы с таблицами в миллионы записей
Ну можно и джоннами, если TYPE_CODE - это уникальный ключ в таблицах что ы подзапросах. Это как нить так будет:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
SELECT O.ORGANIZATION_ID,O.ORGANIZATION_NAME
FROM ORGANIZATIONS O
LEFT JOIN LINK_PROFESSION_ORGTYPES LP ON 
  LP.PROFESSION_CODE='$profession_code' AND LP.TYPE_CODE=O.TYPE_CODE)
LEFT JOIN LINK_CATEGORY_ORGTYPES LC ON
  CATEGORY_CODE='$category_code' AND LC.TYPE_CODE=O.TYPE_CODE) 
WHERE O.SECTOR_CODE='$sector_code' AND LP.TYPE_CODE IS NOT NULL AND LC.TYPECODE IS NOT NULL
ORDER BY O.ORGANIZATION_NAME 

Тут надо будет смотреть, что быстрее, соединения или экзистс, но в любом случае не IN. Индексы нужно построить будет грамотно.
...
Рейтинг: 0 / 0
14.10.2003, 16:43
    #32292978
Ashotovich
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выбор СУБД для работы с таблицами в миллионы записей
Ок. Буду шибко думать. Кстати, во всех LINK_* уникальных полей нет вообще - это просто связи много-много.
...
Рейтинг: 0 / 0
15.10.2003, 11:29
    #32293786
m-dance
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выбор СУБД для работы с таблицами в миллионы записей
Лично я выбрал бы именно PostgreSQL. Достаточно стабилен, нормальный SQL-92, идеологически очень близок к Ораклу.
...
Рейтинг: 0 / 0
15.10.2003, 12:53
    #32293960
Roman Ignatiev
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выбор СУБД для работы с таблицами в миллионы записей
2m-dance Ты можешь смеяться, но то же самое я могу сказать про IB/FB
...
Рейтинг: 0 / 0
Форумы / Сравнение СУБД [игнор отключен] [закрыт для гостей] / Выбор СУБД для работы с таблицами в миллионы записей / 20 сообщений из 20, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]