Собственно требования:
- кроссплатформенность (Windows (7 и старше), Linux, MacOSX)
- биндинг к C и C++
- поддержка большой базы данных (где-то несколько сотен таблиц, в самой большой таблице будет где-то около миллиона записей)
- быстрый поиск среди этого миллиона записей
- бесплатность и открытость
- колонок в таблицах будет меньше 100.
Собственно скорее всего выбором будет SQLite, хотя задумываюсь про MySQL, т.к. с последним мне немного довелось поработать, хотя не во встраиваемом случае.