Delphi и Interbase

Запросы, планы, оптимизация запросов, ...

Модераторы: kdv, CyberMax

Ответить
Vladgul

Delphi и Interbase

Сообщение Vladgul » 01 дек 2004, 15:57

Несколько вопросов.

1. Можно ли использовать базы Interbase на компе конечного
пользователя используя лишь dll, или все равно потребуется установка каких-либо компонентов.

2. Какова надежность этой СУБД. Если в момент записи в БД при открытой транзакции произойдет рестарт компьютера, что будет с данными. Понятно, что не закрытая транзакция будет отменена, что будет с уже имеющимися данными? Возможна ли их потеря в каком-либо случае?

3. Насколько можно проконтролировать программным способом целостность базы данных? Чтобы быть уверенным, что имеющиеся данные в порядке.

4. Каковы механизмы резервного копирования. Можно ли копировать сам файл или нужно сохранять резервную копию средствами СУБД.

5. Каков максимальный размер БД в записях (или в дисковом пространстве).

6. Сильно ли влияет на скорость работы большой объем БД.

7. Если с клиетской машины (по сети) идет запрос к БД, то где обрабатывается этот запрос (на машине того же клиента или на компе, где находится БД).
Например, каков механизм выбора данных по запросу, который должен вернуть всего несколько записей из БД, в которой несколько сотен тысяч записей. Что в этом случаем пройдет по сети?

8. Может быть есть альтернативная СУБД, не требующая лицензии при распространении.

Если у Вас большой опыт использования Interbase на Delphi и Вы можете ответить на эти вопросы, то я буду очень признателен за консультацию и обучение, ЕСТЕСТВЕННО ЗА МАТЕРИАЛЬНОЕ ВОЗНАГРАЖДЕНИЕ.
Владимир.
Vladgul@yandex.ru
ICQ 28847725

Linco
Сообщения: 13
Зарегистрирован: 01 дек 2004, 16:02

Сообщение Linco » 01 дек 2004, 16:09

1. Можно.
2. Потеря данных возможна всегда, но вероятность минимальна.
3. Backup/restore
4. Можно и так и так, несовместимости при простом копировании файлов возникают только для разных ОС.
5. Ограничение файловой системы на размер файла (4Гб по-моему) кол-во записей теоретически неограничено
6. Влияет конечно, но все зависит от БД.
7. На сервере разумеется. Сервер выберет данные, согласно условию запроса, и отошлет их клиенту.(возможно не все сразу)
8. Firebird :)

dimitr
Разработчик Firebird
Сообщения: 888
Зарегистрирован: 26 окт 2004, 16:20

Сообщение dimitr » 01 дек 2004, 16:26

1. "Использовать базы" - это как? На сервере нужна полная инсталляция, на клиентских местах достаточно dll.
2. Только форс-мажор.
3. GFIX.
4. GBAK. Копировать сам файл можно лишь при отключенных пользователях.
5. Теоретически - хрен заполнишь ;-), практически - около 35 гиг на таблицу.
6. Если тянешь все данные - сильно влияет, иначе - нет.
7. По сети пройдут несколько записей.
8. Firebird

kdv
Forum Admin
Сообщения: 6595
Зарегистрирован: 25 окт 2004, 18:07

Сообщение kdv » 01 дек 2004, 16:55

1. можно, либо сервер либо embedded-версию. Это "сервер в dll". в любом случае сервер он и есть сервер, а не какой нибудь tdbf.

2. надо чаще b/r делать и все будет OK. при ресете компа все зависит от того, что делалось. Хуже всего когда идет массовый update, и ближе его к концу - reset. в результате может убиться таблица, которой делали update, но тут все зависит от массы факторов. Чаще повреждения БД случаются из-за дефектов железа, которые можно "предотвратить" только своевременным изготовлением backup.
и для промышленных баз нельзя делать бэкап на тот же лог. диск, где и база.

3. gfix

4. уже сказали

5. 36 гигабайт на таблицу, а вообще чаще срабатывает ограничение файловой системы. FAT16 - 2 гига, FAT32 - 4 гига

6. скорость зависит от твоих данных, их количества, от наличия-отсутствия индексов, и больше всего - от твоих SQL запросов.
Тестировать надо на реальном объеме. Обычно (начинающие) поналепят запросов абы как на пустой базе, а потом все это начинает тормозить даже на 200-мегабайтной БД....

7. учи клиент-сервер. запросы выполняет только сервер. и клиенту выдает столько, сколько или вернул запрос, или попросил клиент.

8. лицензии на распространение требуют ВСЕ сервера. Вопрос другой - платная эта лицензия или бесплатная. см. FAQ - http://www.ibase.ru/ibfaq.htm.

По последнему вопросу см. www.ibase.ru/courses.htm

Ответить