Компания Oracle выпустила под лицензией GPLv2 вариант транзакционного хранилища данных Embedded InnoDB, предназначенного для использования независимо от MySQL, путем прямого встраивания движка в пользовательское приложение.
Доступ к данным производится через низкоуровневый набор функций, в корне отличающийся по синтаксису от SQL и больше напоминающий ISAM-подобный API. При этом поддерживаются операции работы с курсором, управление транзакциями и возможность использования индексов. Размер присоединяемой к приложению библиотеки составляет 838 Кб, поддерживаются языки C и C++. С точки зрения поддержки одновременного доступа к базе, допускается использование библиотеки в многопоточных программах и жестко конкурирующих процессах. Подключение базы организуется примерно тем же способом, что и BerkeleyDB.
Некоторые из заявленных возможностей Embedded InnoDB:
- Встроенные средства для восстановления целостности базы после краха;
- Возможность хранения данных в сжатом виде;
- Высокая производительность и масштабируемость;
- Мультиверсионный механизм обработки одновременных запросов с поддержкой блокировки на уровне строк;
- Автоматическое выявление взаимных блокировок (deadlock);
- Возможности кластеризации и подключения вторичных B-tree индексов;
- Автоматическая буферизация добавляемых в базу данных.
Ссылки по теме