Форум: "Базы";
Текущий архив: 2003.09.25;
Скачать: [xml.tar.bz2];
ВнизADO + Access Найти похожие ветки
← →
Vlad (2003-09-02 15:16) [0]Всем доброго времени суток.
Планирую написать небольшой проект, состоящий из пары-тройки несложных форм для отбора инф-ции из локальной БД (решил использовать ADO и Access).
Проблема в следующем: база может быть довольно большой, в таблицах ~10-20 млн записей.
Вопрос: есть ли какие-то ограничения на объем таблиц в Access"e и если кто нибудь работал с таким объемом, подскажите, наблюдались ли при этом какие-то глюки или подводные камни ?
← →
sniknik (2003-09-02 16:41) [1]ограничение на общий обьем базы - 2гига примерно от 1,8гиг начинаются траблы, если работать с целыми таблицами (перекачка полной, даже удаление), нехватает рабочего пространства.
← →
Vlad (2003-09-02 16:52) [2]> если работать с целыми таблицами
Реально датасет (SQL запрос) будет получать не более 10-20 записей из таблицы
плюс возможно добавление новых записей.
Т.е. я хочу сказать, что меня интересует ограничение объема БД как хранилища. При условии что на клиенте не будет больших наборов данных. В этом случае 2 гб все равно остается в силе ?
← →
sniknik (2003-09-02 16:59) [3]2 гб в любом случае.
← →
Vlad (2003-09-02 17:07) [4]Спасибо за ответ.
Получается, что для хранения такого количества записей, да еще плюс индексы всякие, Access не катит.
А чем в таком случае лучше пользоваться ? (ну кроме Oracle,MSSQL) чтоб пользователю не нужно было доп. наворотов себе на комп устанавливать ? Или "простенькие" СУБД вобще не работают с такими объемами ?
← →
Polevi (2003-09-02 17:16) [5]если у тебя есть машина под выделеный DB-server - MS SQL подойдет, юзерам достаточно нужной версии mdac, обычно с 98 win уже есть все необходимое
при таких объемах файл-серверные субд не годятся в любом случае, у меня была база Access - 50 тыс докуметнов, порядка милиона записей их фактурной части, около 20 пользователей - работало на пределе
← →
Polevi (2003-09-02 17:18) [6]PS
если пугает стоимость MS SQL - глянь в сторону Interbase, сам я с ним не работал, но по отзывам годится, не знаю правда на ограничение объема, но он вроде умеет сегментировать базу на несколько файлов-хранилищ
← →
sniknik (2003-09-02 17:24) [7]делай деление таблици по дате прихода... т.д., храни в разных базах. (т.е. руками делать примерно то что IB делает когда ему задаеш несколько файлов для базы)
к слову сказать у Oracle, MSSQL ограничение на файл базы в 4гб (системное ограничение в NTFS), но они тоже могут делить свою базу (MSSQL точно, Oracle не знаю но должен).
← →
Polevi (2003-09-02 17:27) [8]>sniknik © (02.09.03 17:24) [7]
не годится Access для таких объемов, разве что монопольный доступ, иначе сетка загнется
← →
Vlad (2003-09-02 17:30) [9]В том то все и дело, что никакого сервера быть не должно.
Есть человек 10 пользователей, у каждого ноутбук с HDD 40 гб. И у каждого находится копия базы.
Такая система уже была реализована, но на чем-то вроде HiTech (или что-то похожее на слух, я никогда с этим не работал), но исходники потеряны, и авторы канули в небытие. Остались базы, к-рые вобщем-то можно переконвертить во что угодно. Вопрос - во что ?
Такая вот задача :(((
← →
sniknik (2003-09-02 17:37) [10]> вроде умеет сегментировать базу
умеет умеет ;о)
вот из хелпа
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?
← →
Polevi (2003-09-02 17:40) [11]>sniknik © (02.09.03 17:24) [7]
кстати ограничение нет такого в NTFS, 4 Gb для FAT32
← →
kuchumovkv (2003-09-02 17:40) [12]Посмотри, действительно, Interbase, так же, как и Polevi с ним не работал, но опять же слышал много чего хорошего. Про Access лучше забудь, базы больше 2-3х сотен тысяч с помощью него шевелить очень трудно, если не сказать грубее, и размер рекордсета при выборке особой роли не играет. Оптимальный вариант для таких размеров, думается мне, Oracle, неплохо работается с гиговыми базами, кстати, с Paradox, но использовать лучше, наверное, не ADO VCL компонент, очень медленно, попробуй найти компоненты, работаюшие через API, быстрее на порядок.
← →
Vlad (2003-09-02 17:44) [13]>а сейчас то база какая? и какого обьема, только не в записях, а в mg?
Утром попросил хозяев этого дела перекинуть данные в Access (думал с ним сначала работать). Вроде сделали. Чего уж там получилось - не знаю, сегодня поеду смотреть. Соотв. объем в мб пока еще не знаю.
Завтра точно скажу.
← →
sniknik (2003-09-02 17:56) [14]Polevi © (02.09.03 17:40) [11]
ну значит это я обознался (слышал а про что подзабыл)
kuchumovkv © (02.09.03 17:40) [12]
> Про Access лучше забудь, базы больше 2-3х сотен тысяч с помощью него шевелить очень трудно,...
не сказал бы, прям счас у меня база в работе с 180тысячами в одной таблице, и 90 в другой(самые большие) база 230мг, почти не "напрягаясь", а тестил на 2-3мл. записей скорость (на локале) выше чем у MSSQL тоже с этого же компа, вот с соседнего ситуация обратная.
← →
kuchumovkv (2003-09-02 17:56) [15]> они тоже могут делить свою базу (MSSQL точно, Oracle не знаю но должен).
Может Oracle, 8.0 точно может.
← →
Vlad (2003-09-02 17:59) [16]Насчет Oracle - я знаю что он без проблем потянет такие объемы, но убедить пользователей на каждую машину ставить Oracle - проще застрелиться :)
← →
Polevi (2003-09-02 18:01) [17]>Vlad © (02.09.03 17:59) [16]
я так понял выделеннго сервера у тебя нет - тогда тебе точно интербейз
← →
Deniz (2003-09-03 07:52) [18]> Polevi © (02.09.03 18:01) [17]
> я так понял выделеннго сервера у тебя нет - тогда тебе точно
интербейз
Не InterBase а FireBird нужен ... или Yaffil
см. http://www.ibase.ru достаточно хорошо про все рассказано
Страницы: 1 вся ветка
Форум: "Базы";
Текущий архив: 2003.09.25;
Скачать: [xml.tar.bz2];
Память: 0.48 MB
Время: 0.019 c