Большой Воронежский Форум
» Программирование>Обсудим базы данных - альтернативы монстрам типа оракла, db2, mssql
Alex__G 23:41 21.05.2004
Какие есть хорошие "легкие"/"небольшие" (как их еще назвать - по сравнению с такими монстрами как Oracle, DB2, MsSql), полнофункциональные (полноценные транзакции, ограничения целостности) базы данных?
Вот мы недавно смотрели mySql - но у них отсутствует нормальная поддержка транзакций.
Говорят хорошая база PostgresSQL, у IBM есть маленька база DB2 express, у оракла есть облегченный вариант, есть Cache - OODBMS.
Пользуетесь ли вы какими-нибудь из "легких" баз, и если да - какие впечатления у вас от работы с ними? [Ответ]
Tangram 09:17 22.05.2004
Sybase SQL Anywhere - маленький, удобный, полнофункциональный. [Ответ]
Alex__G 12:12 22.05.2004
MadButcher
Слышал Sybase SQL Anywhere много хорошего
1. А есть версия для линукса?
2. Есть ли удобный менеджер/инструмент для работы типа IBExpert или Toad?
3. Скока стоит?
4. Есть jdbc? [Ответ]
Alexey 14:31 22.05.2004
postgress [Ответ]
Tangram 16:31 22.05.2004
Alex__G Лично у меня нет. Но существует. Для более полной информации можно ходить сюда:
http://www.sybase.ru/Syb/products/me...hereStudio.htm
Там и про Unix, и про java-поддержку.

В качестве управителя системой сам встроенный SQL-Central очень даже ничего. Но, знаю точно, что существует модуль поддержки для Anywhere в среде Embarcadero DB-Artisan (я им Oracle мучаю).

Далее. Почему когда-то вынуждены были отказаться для разработки крупных проектов - неоправданно высокая цена сопровождения и консультаций. Виновато в этом Российское представительство.
Ну, а если делать небольшие приложения - цены ему нет.
Глюки, конечно, есть. Но база ни разу не падала. (прецедент падения базы - одна из ранних версий Interbase. C тех пор я её опасаюсь, чтобы там не говорили).

MadButcher добавил [date]1085232815[/date]:
Да! Кстати, Power-Designer - это же продукт самого Sybase. Сам бог велел их в паре пользовать. Там и UML есть в очень достойном выражении. [Ответ]
Alex__G 18:29 22.05.2004
Alexey
А как у постгресса с пунктами 1-4 (см мой пост выше)?
Есть у тебя какая-нибудь информация? [Ответ]
zss_vrn 07:04 24.05.2004
InterBase 6.01 - 7.1 и FireBird 1.5

По пунктам 1,3,4 - да, по 2 - кроме IB 7.1 бесплатные версии. FB по идее лучше тем, что развивается. Видел недавно инфу, что FB слилась с проектом Yaffil - еще одним клоном IB 6.0. Причем на условиях бесплатности.

О Yaffil ничего сказать не могу, а на IB 6.01 наш проект работат неплохо. Сравнивали с IB 7.1 - 7.1 шустрее и имеет больше приятностей. С FB 1.5 разницы не заметили.

MadButcher
Бывает, что InterBase сваливается с катастрофическими последствиями для базы. Два раза сам видел. Это происходило, когда выключалось питание.

НО: такое было только на Win98, поэтому я объясняю это отвратностями файловой системы.

ИМХО, PowerDesigner вообще весьма полезный и приятный инструмент. В одном флаконе и UML и работа со схемами БД от оракла до того же IB. Оччень нравится, вот только цена непомерна, посему юзаем левый. [Ответ]
netwind 09:57 24.05.2004
Да падает этот ваш интербейз даже на линуксе в режиме super server.
Как то я его некорректно завершил.
Последствия были не такие уж катастрофические,но все равно неприятно.
Чтобы оценить насколько часто, почитайте вот вот прайсик на восстановление бд:
http://shop.ibase.ru/dbrepair.htm

Из совсем мелких бд стоит посмотреть на другие книжниковские извращения :
http://www.garret.ru/~knizhnik/compare.html [Ответ]
zss_vrn 12:09 24.05.2004
netwind
Некорректно завершил Оракл тоже можно так остановить, потом концов не найдешь.

А какой интербейз?

Все падает, вопрос - как часто и с какими последствиями. Если есть прайс, значит, данные можно восстановить. Здесь - вопрос в квалификации. На тяжелых системах, как правило, есть и специалист, который за такой системой следит. А легкие поставляются совсем неподготовленным пользователям, которые часто даже не знают, что и них эта система установлена.
[Ответ]
netwind 14:01 24.05.2004
эээ,ну устал ждать да и убил killall-ом,
обычно это не вызывает проблем в субд с поддержкой транзакций.
Сдампил/восстановил с какими-то там ключиками без проверки ошибок.
Данные не повредились.

был это Firebird Release Candidate 2 + маленький патчик отключающий external tables .

А то что есть прайс, означает что падает он часто, иначе просто написали бы "цены договорные". [Ответ]
zss_vrn 14:53 24.05.2004
В FB нет журнала транзакций и там все хранится в одном файле, отсюда и зависимость от файловой системы. [Ответ]
netwind 15:07 24.05.2004
какая еще зависимость ?
У fb свой внутренний диспетчер блокировок,
не отдавать же эту критичную к производительности задачу операционной системе .
Много где еще нету отдельного журнала, тем не менее базы легко восстанавливаются
при внезапном выключении питания
( а некоторые, типа gigabase, просто продолжают работать дальше, игнорируя мусор от незавершенных транзакций ) [Ответ]
JOHN_PROFF 16:15 24.05.2004
FB 1.5:super: под него еще и компонента клевая и недорогая FIBPlus :super: :super: :super: [Ответ]
JumpeR 16:56 24.05.2004
Alex__G
MySQL вы видимо плохо смотрели.
Там есть нормальная поддержка транзакций!
Ключевое слово InnoDB.
Плотно работаю с этой субд последние 2 года. Впечатление хорошее. [Ответ]
Alex__G 17:48 24.05.2004
JumpeR
Смотрели версию 4. С переходом на новый движок (InnoDb или BerkleyDB - не помню какой новый, а какой старый) появился новый тип таблиц - транзакционные. То есть транзакция проходит только в пределах одной таблицы - несколько таблиц не могут участвовать в одной транзакции. Это не есть нормальная поддержка транзакций. Или я что-то путаю? [Ответ]
zss_vrn 06:58 25.05.2004
netwind
У IB 6.0 под Win98 точно есть зависимость - например, нам удавалось восстановить файл БД с помощью скандиска.

IB тоже мусор от зависших транзакций игнорирует. Backup - restore убирает мусор. Но если файл побился физически?

zss_vrn добавил [date]1085458344[/date]:
JOHN_PROFF
Работал с FBPlus - хорошие компоненты, лучше, чем IBX. Но сейчас пришось перейти на dbx, потому что нужно, чтобы прога работала не только с IB. [Ответ]
netwind 10:42 25.05.2004
zss_vrn дело в том что другие субд не бьют файлы будучи прерваными в любой момент. Транзакции для того и созданы,чтобы аварийный останов не приводил к потере целостности данных.
Ну а при физической порче диска гвоздем, никто и не спорит что восстановить будет крайне сложно ) [Ответ]
Gendalf 11:47 25.05.2004
А Линтер уже совсем сдох? [Ответ]
Alexey 12:21 25.05.2004
Alex__G
од линукс есть
бесплатный
джидибиси есть

тулзы есть, но про их удобство решает каждый сам [Ответ]
zss_vrn 07:01 26.05.2004
netwind
Физически я имел в виду не гвоздем При аварийном выключении питания на Win98, если режим кэширования дисков включен, то почти гарантировано разрушение открытого в данный момент файла. Это все потом можно восстановить тем же скандиском, но СУБД сама с такими проблемами может не справиться. Большинство СУБД вообще не работает на Win98, что вполне понятно.

А транзакции не только для этого созданы. Кстати, в IB механизм транзакций, ИМХО, очень неплох. Там, правда, нет таких оракловых фичей, как точки отката, но зато и обращаться с этим добром проще.

Gendalf
Вот очень интересный вопрос, хотелось бы услышать мнение тех, кто работал с линтером. Я слышал несколько мнений, что линтер не очень надежен, но сам не пробовал. Может, кто знает?
[Ответ]
zic 08:14 26.05.2004
zss_vrn
при использовании создается стойкое впечатление что писали эту СУБД студенты первого курса в качестве курсового по информатике .

zic добавил [date]1085548596[/date]:
Хотя нет оказывается :
"РЕЛЭКС — российский лидер в разработке системного и прикладного программного обеспечения"
[Ответ]
Bambarbia 08:47 26.05.2004
zic ты и Линтер хорошо знаешь? круто, есть ли что-то, с чем ты не работал? [Ответ]
zss_vrn 11:00 26.05.2004
zic
И то, и другое, возможно - правда Они сертифицированы по ISO и у них работает полно студентов.

Результат интересен.
[Ответ]
zic 18:08 26.05.2004
Bambarbia
Кто сказал что я его ХОРОШО знаю?
Достаточно чтобы сделать для себя некоторые выводы.

zss_vrn
Занятно конечно , но всеже это мое впечатление , хотя я и не сертифицирован по ISO но останусь при своем мнении. [Ответ]
zss_vrn 06:40 27.05.2004
zic
Я тоже не сертифицирован по ISO , но с линтером пока связываться не желаю. [Ответ]
JumpeR 16:07 28.05.2004

Сообщение от :
Первоначальное сообщение от Alex__G
JumpeR
Смотрели версию 4. С переходом на новый движок (InnoDb или BerkleyDB - не помню какой новый, а какой старый) появился новый тип таблиц - транзакционные. То есть транзакция проходит только в пределах одной таблицы - несколько таблиц не могут участвовать в одной транзакции. Это не есть нормальная поддержка транзакций. Или я что-то путаю?

Есть немного.
MySQL поддерживает транзакции для любого количества таблиц. Главное, чтобы они были InnoDB. Не MyISAM.
Там есть некоторые ограничения типа того, что начатая транзакция автоматически коммитится при дропе (или создании) таблиц, точно сейчас не помню. Но на мой взгляд это не так уж страшно. (По крайне мере для меня).

Рекомендую все ж поставить MySQL и поэкспериментировать.
Может быть подойдет. [Ответ]
Alex__G 17:20 28.05.2004
JumpeR
Пожалуй я так и сделаю. А для каких проектов ты эту базу используешь?
Говорят еще что если работа базы завершается некорректно (аварийино - например прибить поток), то данные, с которыми работают текущие на момент сбоя транзакции могут быть испорчены. То есть транзакции не ACID. [Ответ]
JumpeR 18:45 28.05.2004

Сообщение от :
Первоначальное сообщение от Alex__G
JumpeR
Пожалуй я так и сделаю. А для каких проектов ты эту базу используешь?

Аналитика фарм рынка.
6 Баз, ~80 таблиц. Полей от 2 до 100. В среднем по 20.
Примерно половина таблиц связана ключами.
Есть таблицы, где колличество записей измеряется миллионами.

Сообщение от :

Говорят еще что если работа базы завершается некорректно (аварийино - например прибить поток), то данные, с которыми работают текущие на момент сбоя транзакции могут быть испорчены. То есть транзакции не ACID.

Уточни какой из вариантов ты имеешь в виду:
1. Прибить сам MySQL сервис
2. Прибить один из процессов в MySQL
3. Прибить клиентский процесс, начавший транзакцию. [Ответ]
Alex__G 22:51 28.05.2004
В общем мне крайне интересен результат всех трех действий. [Ответ]
JumpeR 08:09 31.05.2004
Alex__G

По первому пункту ничего сказать не могу. Т.к. работа сервера за 2 года ни разу не завершалась аварийно, а эксперименты мы не ставили

Во втором случае могу сказать, что данные не портятся.
Если операция производилась в транзакции, то происходит откат.

По третьему пункту - тоже самое.
[Ответ]
Вверх