x77, нет, несправедлив ты к MySQL. Все там есть необходимое, просто надо знать, как, где и какую версию применять.
Написаное справедливо для таблиц типа MyISAM, которые не поддерживают транзакции вообще (только блокировки таблиц).
Уже который год в составе MySQL есть тип таблиц Innodb, который поддерживает транзакции в полном объеме и отличается вполне высокой скоростью работы. Главное внешнее отличие от MyISAM - таблицы создаются в табличном пространстве (файлы ТС задаются на уровне конфига и могут расти по необъодимости).
Еще есть тип BDB (BerkleyDB) - промежуточный по возможностям формат. Хранит таблицы, как и MyISAM в отдельных файлах, но поддерживает транзакции.
О типах таблиц:
http://www.mysql.ru/docs/man/Table_types.htmlЕсть градация возможностей MySQL от ветки. Сейчас развиваются: 3.23.х, 4.0.х, 4.1.х, 5.0.х и .5.1.х. Транзакции поддерживаются (на соотв. типах таблиц) всеми этими ветками.
В старшей ветке - 5.1 - есть все необходимое для мощных баз. Для web-сайтов применяют чаще 3.23 и 4.0 - они легки, быстры для выборки и, что самое главное, их лицензии не накладывают ограничений на использование.
Встроенная MySQL (embedded) может все тоже самое, что и традиционный вариант.
Про ембедед:
http://www.mysql.ru/docs/man/libmysqld_overview.htmlhttp://www.mysql.ru/docs/man/libmysqld_restrictions.htmlMySQL идет с двойной лицензией: GPL и коммерческой. Т.е. можно выбрать под ситуацию.
Что касается родного API, то оно очень простое и каких-либо затруднений в его использовании я неиразу не испытытвал.
Администрировать MySQL достаточно легко. Поддерживаются репликации master-slave (никогда не пробовал, но в документации описано).
Что касается Oracle, то я отмету его безобразно тяжелую клиентскую часть - порядка 260МБ в установке под винду. Есть более легкий клиент, но применить его совместно с BC++ не получилось - не работает. Базы его тоже очень быстро и непропорционально растут - места кушает хорошо. Скажу, грубо и примерно, на две базы с дампом в 1.5ГБ каждая (expdp) табличного пространства потребовалось более 20ГБ. С другой стороны шевелится он не плохо, но если долго не делать анализа таблиц, то скорость падает значительно. Был случай, когда анализ таблицы сократил время выполнения сложного запроса в несколько десятков раз (точных замеров не делалось - примерно в 30-100 раз).
Администрирование базы довольно сложное (если требуется оптимизация).
Лицензия только коммерческая, но есть сильно полезанный и бесплатный Express Edition.
На мой взгляд для небольших проектов Oracle слишком тяжелый.