Embedded firebird database - вопрос по скорости

markyzz

Написал программу, работающую с Embedded Fireberd.
Работает нормально с маленькими БД (<100тыщ.записей) и зависает на больших (около 20 млн.записей) таблицах, при размере файла базы данных в 2.5 Гига.
В решаемой задаче необходимо пользоваться именно той БД, которая не требует установок, инсталляций итд итп.
Возможно кто-нить сможет пояснить что-нибудь на этот счет... (я бы поэкспериментировал с кол-вом записей, но сервак не у меня на компе) Может FireBird дерьмо и есть шустрый аналог? Может что-то еще? Может в природе таких БД вообще не существует? И как вообще решать проблемму быстродействия?
Возможно кто-нить знает.
Заранее спасибо за советы!

slonishka

И как вообще решать проблемму быстродействия?
реализовывать то, что нужно от БД самому! :D

markyzz

реализовывать то, что нужно от БД самому!
ценный совет, Сергей Станиславович! :)
А вопрос то собстно в том, вообще потенциально какая-нить приблуда типа Embedded Fireberd может потянуть 20-тимиллионнную таблицу?

Hastya

Ну а что конкретно твоя программа делает с этими 20 млн записей?

6yrop

Работает нормально с маленькими БД (<100тыщ.записей) и зависает на больших (около 20 млн.записей) таблицах, при размере файла базы данных в 2.5 Гига.
да тоже наблюдал такое (мы перешли на другую базу, но по другой причине). Скорее всего это можно исправить настройками Fireberd-а. должен подсказать поконкретнее.
Есть еще Microsoft SQL Server Compact Edition, если у тебя одно-пользовательский режим. Он тоже встраиваемый
http://ru.wikipedia.org/wiki/SQL_Server_Compact_Edition
Обычно Microsoft SQL Server работает вполне сносно с настройками поумолчанию.

Vladislav177Rus

Как на счет Berkley DB?

slonishka

кстати, да. тоже вариант. =)

markyzz

Ну а что конкретно твоя программа делает с этими 20 млн записей?
поиск + вывод на экран, в основном
Всем спасиб за советы - буду пробовать

katrin2201

глупый вопрос: а индекс по полям поиска настроен?

Hastya

поиск + вывод на экран, в основном
что, и индексы не помогают?

ava3443

Как на счет Berkley DB?
+1 за Berkeley DB
надо только не забыть выяснить, что там с лицензией или сколько она будет стоить

karkar

sqlite?

Vladislav177Rus

The Sleepycat Public License is an OSI-approved open-source license used by Sleepycat Software for their products Berkeley DB, Berkeley DB Java Edition and Berkeley DB XML.
According to the Free Software Foundation[1], it qualifies as a free software license, and is compatible with the GNU General Public License.
The license is a strong form of copyleft because it mandates that redistributions in any form not only include the source code of Berkeley DB, but also "any accompanying software that uses the DB software." As an alternative to this strict licensing policy, Berkeley DB is also licensed under the Sleepycat Commercial License that does not require redistribution of accompanying software.

ava3443

и Oracle по-прежнему под этой лицензией предлагает Berkeley DB?
я не читал Sleepycat Public License, но у меня сложилось впечатление что Oracle предлагает два варианта: или GPL (я обязан открыть исходники приложения, использующего Berkeley DB или proprietary (придётся заплатить Ораклу)
вот цитата из файла LICENSE в Berkeley DB Java Edition 3.2.44, которая это подтверждает:
* 3. Redistributions in any form must be accompanied by information on
* how to obtain complete source code for the DB software and any
* accompanying software that uses the DB software. The source code
* must either be included in the distribution or be available for no
* more than the cost of distribution plus a nominal fee, and must be
* freely redistributable under reasonable conditions. For an
* executable file, complete source code means the source code for all
* modules it contains. It does not include source code for modules or
* files that typically accompany the major components of the operating
* system on which the executable file runs.
имхо это и есть GPL-ность.

markyzz

а индекс по полям поиска настроен?
я ничего дополнительно не настраивал...
тормозит уже в момент подсоединения к БД :confused:
минут 5 подключается... поиск тоже тормозной пипец.
в общем, все работает но виси-и-и-и-и-ит.......

gopnik1994

индексы должны тебе помочь
а для более конкретных советов надо сначала саму бд увидеть
по фотографии не лечим :)

pitrik2

индексы должны тебе помочь
как это связано с этим:
тормозит уже в момент подсоединения к БД :confused:
?

Papazyan

А вопрос то собстно в том, вообще потенциально какая-нить приблуда типа Embedded Fireberd может потянуть 20-тимиллионнную таблицу?
Если ты спрашиваешь, есть ли такие компактные базы, то ответ да. У нас и 400 миллионов тянет. Только уже за деньги и дорого.
Оставить комментарий
Имя или ник:
Комментарий: