LinuxForum.Fans
Тема

C++ linux: базы данных

Автор: joub 7 сообщений 2890 просмотров
#103349

Всем доброго времени суток!

Собираюсь написать небольшую софтятину, для нее необходима база данных: несколько таблиц, в таблицах по несколько полей (байтовые, текстовые, целочисленные и т.п.).

Сейчас хочу выбрать - в на основе какой DB реализовываться,...
Из ограничений: хранить дынные необходимо в файловом виде (обдумывал формат dbf (xBase)), а так же необходима кросплатформинность: Linux, Windows., под вторым вполне возможно использовать cygwin....
MySQL рассматривать бы не хотелось, т.к. для нее необходим сервер...


За ранее всем спасибо!

#103353

sqlite, firebird embedded ... выбираем... :)

#103376
joub написал:
MySQL рассматривать бы не хотелось, т.к. для нее необходим сервер...

сервер вам потребуется в любом случае. Дело в том, что БД это и есть - сервер. Как уже сказал odin, вы можете использовать лёгкий сервер БД (такой как sqlite).

Есть ещё вариант: можно использовать в качестве простой БД саму файловую систему. На ~100 000 записей этого вполне хватает, и если не нужно сложных запросов, то скорость часто даже выше чем в обычной БД. (на самом деле, в EXT уже применены технологии БД, как например сильно ветвящиеся деревья, и прочий такой матан, потому часто БД служет ненужной прослойкой, которая только всё тормозит).

#103461
drBatty написал:
[quote=joub]MySQL рассматривать бы не хотелось, т.к. для нее необходим сервер...

сервер вам потребуется в любом случае. Дело в том, что БД это и есть - сервер. Как уже сказал odin, вы можете использовать лёгкий сервер БД (такой как sqlite).

Есть ещё вариант: можно использовать в качестве простой БД саму файловую систему. На ~100 000 записей этого вполне хватает, и если не нужно сложных запросов, то скорость часто даже выше чем в обычной БД. (на самом деле, в EXT уже применены технологии БД, как например сильно ветвящиеся деревья, и прочий такой матан, потому часто БД служет ненужной прослойкой, которая только всё тормозит).[/quote]


Все бы хорошо, да вот только в win системе - файловая БД не прокатит... , ну а пока смотрю в сторону sqlite ...

#103466
drBatty написал:
сервер вам потребуется в любом случае. Дело в том, что БД это и есть - сервер. Как уже сказал odin, вы можете использовать лёгкий сервер БД (такой как sqlite).

Он не является сервером, т.к. никакого взаимодействия типа "клиент-сервер" не наблюдается...

#103499
joub написал:
да вот только в win системе - файловая БД не прокатит...

да. :(
zerg, ну... можно было-бы поспорить.. но я соглашусь ;)

#103506
joub написал:
... необходима кросплатформинность: Linux, Windows., под вторым вполне возможно использовать cygwin....
MySQL рассматривать бы не хотелось, т.к. для нее необходим сервер...

Раз было упоминание про кроссплатформенность, значит появится необходимость и в многопользовательности, значит нужен сервер (точнее, серверная часть базы данных). Многие приложения запускаются в режиме, когда на одном компьютере запущены и сервер, и клиент.
Так что MySQL или Firebird, хотя можно попробовать и SQLite

Войдите или зарегистрируйтесь, чтобы ответить.