Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

ADO + Access [D5]


Vlad ©   (2003-09-02 15:16:00) 

Всем доброго времени суток.
Планирую написать небольшой проект, состоящий из пары-тройки несложных форм для отбора инф-ции из локальной БД (решил использовать ADO и Access).
Проблема в следующем: база может быть довольно большой, в таблицах ~10-20 млн записей.
Вопрос: есть ли какие-то ограничения на объем таблиц в Access"e и если кто нибудь работал с таким объемом, подскажите, наблюдались ли при этом какие-то глюки или подводные камни ?


Deniz   (2003-09-03 07:52:00) [1]

> Polevi © (02.09.03 18:01) [17]
> я так понял выделеннго сервера у тебя нет - тогда тебе точно
интербейз


Не InterBase а FireBird нужен ... или Yaffil
см. http://www.ibase.ruдостаточно хорошо про все рассказано


Polevi   (2003-09-02 18:01:00) [2]

>Vlad © (02.09.03 17:59) [16]
я так понял выделеннго сервера у тебя нет - тогда тебе точно интербейз


Vlad   (2003-09-02 17:59:00) [3]

Насчет Oracle - я знаю что он без проблем потянет такие объемы, но убедить пользователей на каждую машину ставить Oracle - проще застрелиться :)


kuchumovkv   (2003-09-02 17:56:00) [4]

> они тоже могут делить свою базу (MSSQL точно, Oracle не знаю но должен).
Может Oracle, 8.0 точно может.


sniknik   (2003-09-02 17:56:00) [5]

Polevi © (02.09.03 17:40) [11]
ну значит это я обознался (слышал а про что подзабыл)

kuchumovkv © (02.09.03 17:40) [12]
> Про Access лучше забудь, базы больше 2-3х сотен тысяч с помощью него шевелить очень трудно,...
не сказал бы, прям счас у меня база в работе с 180тысячами в одной таблице, и 90 в другой(самые большие) база 230мг, почти не "напрягаясь", а тестил на 2-3мл. записей скорость (на локале) выше чем у MSSQL тоже с этого же компа, вот с соседнего ситуация обратная.


Vlad   (2003-09-02 17:44:00) [6]

>а сейчас то база какая? и какого обьема, только не в записях, а в mg?
Утром попросил хозяев этого дела перекинуть данные в Access (думал с ним сначала работать). Вроде сделали. Чего уж там получилось - не знаю, сегодня поеду смотреть. Соотв. объем в мб пока еще не знаю.
Завтра точно скажу.


kuchumovkv   (2003-09-02 17:40:00) [7]

Посмотри, действительно, Interbase, так же, как и Polevi с ним не работал, но опять же слышал много чего хорошего. Про Access лучше забудь, базы больше 2-3х сотен тысяч с помощью него шевелить очень трудно, если не сказать грубее, и размер рекордсета при выборке особой роли не играет. Оптимальный вариант для таких размеров, думается мне, Oracle, неплохо работается с гиговыми базами, кстати, с Paradox, но использовать лучше, наверное, не ADO VCL компонент, очень медленно, попробуй найти компоненты, работаюшие через API, быстрее на порядок.


Polevi   (2003-09-02 17:40:00) [8]

>sniknik © (02.09.03 17:24) [7]
кстати ограничение нет такого в NTFS, 4 Gb для FAT32


sniknik   (2003-09-02 17:37:00) [9]

> вроде умеет сегментировать базу
умеет умеет ;о)
вот из хелпа
The following embedded SQL statement creates a database stored in two files and specifies its default character set:

CREATE DATABASE "employee.gdb"
DEFAULT CHARACTER SET ISO8859_1
FILE "employee2.gdb" STARTING AT PAGE 10001;

вот только заставить отработать любой запрос на создание базы проблема, как оказалось. (если интересно поищи недавно сам такой вопрос задавал)

Vlad © (02.09.03 17:30) [9]
а сейчас то база какая? и какого обьема, только не в записях, а в mg?


Vlad   (2003-09-02 17:30:00) [10]

В том то все и дело, что никакого сервера быть не должно.
Есть человек 10 пользователей, у каждого ноутбук с HDD 40 гб. И у каждого находится копия базы.
Такая система уже была реализована, но на чем-то вроде HiTech (или что-то похожее на слух, я никогда с этим не работал), но исходники потеряны, и авторы канули в небытие. Остались базы, к-рые вобщем-то можно переконвертить во что угодно. Вопрос - во что ?
Такая вот задача :(((


Polevi   (2003-09-02 17:27:00) [11]

>sniknik © (02.09.03 17:24) [7]
не годится Access для таких объемов, разве что монопольный доступ, иначе сетка загнется


sniknik   (2003-09-02 17:24:00) [12]

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

к слову сказать у Oracle, MSSQL ограничение на файл базы в 4гб (системное ограничение в NTFS), но они тоже могут делить свою базу (MSSQL точно, Oracle не знаю но должен).


Polevi   (2003-09-02 17:18:00) [13]

PS
если пугает стоимость MS SQL - глянь в сторону Interbase, сам я с ним не работал, но по отзывам годится, не знаю правда на ограничение объема, но он вроде умеет сегментировать базу на несколько файлов-хранилищ


Polevi   (2003-09-02 17:16:00) [14]

если у тебя есть машина под выделеный DB-server - MS SQL подойдет, юзерам достаточно нужной версии mdac, обычно с 98 win уже есть все необходимое
при таких объемах файл-серверные субд не годятся в любом случае, у меня была база Access - 50 тыс докуметнов, порядка милиона записей их фактурной части, около 20 пользователей - работало на пределе


Vlad   (2003-09-02 17:07:00) [15]

Спасибо за ответ.
Получается, что для хранения такого количества записей, да еще плюс индексы всякие, Access не катит.
А чем в таком случае лучше пользоваться ? (ну кроме Oracle,MSSQL) чтоб пользователю не нужно было доп. наворотов себе на комп устанавливать ? Или "простенькие" СУБД вобще не работают с такими объемами ?


sniknik   (2003-09-02 16:59:00) [16]

2 гб в любом случае.


Vlad   (2003-09-02 16:52:00) [17]

> если работать с целыми таблицами
Реально датасет (SQL запрос) будет получать не более 10-20 записей из таблицы
плюс возможно добавление новых записей.
Т.е. я хочу сказать, что меня интересует ограничение объема БД как хранилища. При условии что на клиенте не будет больших наборов данных. В этом случае 2 гб все равно остается в силе ?


sniknik   (2003-09-02 16:41:00) [18]

ограничение на общий обьем базы - 2гига примерно от 1,8гиг начинаются траблы, если работать с целыми таблицами (перекачка полной, даже удаление), нехватает рабочего пространства.


Наверх

Титульная страница Поиск, карта сайта Написать письмо