Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Сравнение СУБД Новый топик    Ответить
Топик располагается на нескольких страницах: [1] 2   вперед  Ctrl      все
 На какую "локальную" БД перейти с MS Access ?  [new]
AirBag
Member

Откуда: Орел, Россия
Сообщений: 12
Программа, написанная на BCBuilder, использует БД MS Access (через билдеровские компоненты ADO) для хранения списка контактов (типа MS Outlook). В контактах хранятся текстовые данные, фотографии, крипто-сертификаты, ЭЦП. Объём небольшой, порядка 1000-2000 записей. Программа установлена у каждого юзера, БД - локальная.

Хотелось бы попробовать использовать в качестве базы другую "основу". Как наименее болезненно перейти и на что ?

Зачем переходить:
1. Повысить скорость обработки данных (если это возможно сделать быстрее движке, отличном от аксес ?)
2. Защитить БД от "дурака" (чтоб было проблематично открыть и изменить БД простым двойным щелчком в проводнике, т.к. МС-офис стоит, наверное, у всех)
3. Сделать программу независящей от предустановленных всяких БД-провайдеров. Т.е. "движок" БД, должен быть максимально "встроен" в программу...

ЗЫ С базами сталкивался крайне редко, так что простите "дурака" :)
25 фев 05, 14:33    [1345220]     Ответить | Цитировать Сообщить модератору
 Re: На какую "локальную" БД перейти с MS Access ?  [new]
Alexey Rovdo
Member

Откуда: Москва
Сообщений: 913
Похоже вам не саму базу, а средство разработки нужно менять.
Если же скорость - главная проблема, переходите на MS SQL. Для Access- базы это делается элементарно.
25 фев 05, 15:53    [1345637]     Ответить | Цитировать Сообщить модератору
 Re: На какую "локальную" БД перейти с MS Access ?  [new]
Лох Позорный
Member

Откуда:
Сообщений: 9898
2 Alexey Rovdo
Если же скорость - главная проблема, переходите на MS SQL.

Хотите сказать, что для локальной (!) однопользовательской (!) базы с 1000-2000 (!) записей - переход на MS SQL даст выигрыш по скорости??? Офигеть. Мужики то и не знают.
Позвольте полюбопытствовать - откуда этот чудесный прирост производительности возьмется?

2 AirBag
Jet - один из самых удачных файл-серверных движков. Сменив движок на разницу в скорости (даже если она будет) - вы скорее всего не ощутите.
Защита от дурака делается в аксесе элементарно. Правда вскрыть ее не составляет особого труда, но это если знать как.
25 фев 05, 16:07    [1345719]     Ответить | Цитировать Сообщить модератору
 Re: На какую "локальную" БД перейти с MS Access ?  [new]
ASCRUS
Member

Откуда: МО Электросталь
Сообщений: 5994
Alexey Rovdo
Похоже вам не саму базу, а средство разработки нужно менять.
Если же скорость - главная проблема, переходите на MS SQL. Для Access- базы это делается элементарно.

Очень смелое утверждение насчет элементарности перехода с MDB на ADP (про выбор варианта MDB+присоединенные таблицы я вообще молчу).

AirBag
Не очень убедительные доводы перехода, далее по пунктам:
автор
1. Повысить скорость обработки данных (если это возможно сделать быстрее движке, отличном от аксес ?)

Не думаю, что можно повысить скорость на 2000 записях. Я видел как Access неплохо гиговые БД прокручивает, так что это не обьемы и прибавки скорости не получите на других СУБД.

автор
2. Защитить БД от "дурака" (чтоб было проблематично открыть и изменить БД простым двойным щелчком в проводнике, т.к. МС-офис стоит, наверное, у всех)

От дурака и стандартная защита Access довольно неплоха, создайте другого овнера базы с паролем, уберите Admin из БД, добавьте юзеров и без Вашего файла настроек "дурак" БД не вскроет. Ну а специалист БД на любом РСУБД так же вскроет спокойно, разве что если она криптографию по ключу всей БД поддерживает, как например, Sybase ASA. Думаю подробно о защите в Access нужно спрашивать в соотвествующем форуме.

автор
3. Сделать программу независящей от предустановленных всяких БД-провайдеров. Т.е. "движок" БД, должен быть максимально "встроен" в программу...

Ну тут без комментариев - движок Jet сейчас максимально встроен в Windows, а даже если где и не установлен, так занимает его инсталяция runtime просто копейки.

Так что лично я не рекомендую просто так дергаться и помнить тот анекдот, где папа говорит ребенку "Пока работает, не трогай".
25 фев 05, 16:11    [1345741]     Ответить | Цитировать Сообщить модератору
 Re: На какую "локальную" БД перейти с MS Access ?  [new]
Alexey Rovdo
Member

Откуда: Москва
Сообщений: 913
Лох Позорный

Хотите сказать, что для локальной (!) однопользовательской (!) базы с 1000-2000 (!) записей - переход на MS SQL даст выигрыш по скорости???


Не хочу и не говорил. Для локальной и однопользовательской базы в таком переходе, как правило, нет смысла.
25 фев 05, 16:20    [1345776]     Ответить | Цитировать Сообщить модератору
 Re: На какую "локальную" БД перейти с MS Access ?  [new]
Сергей ДД
Member

Откуда: Москва
Сообщений: 207
Очень странно, что при таких небольших объемах (1000-2000) записей да еще и с локальной БД, у вас наблюдается тормознутость...???
Ищите причину не в движке!
Где фотографии хранятся?
25 фев 05, 16:33    [1345845]     Ответить | Цитировать Сообщить модератору
 Re: На какую "локальную" БД перейти с MS Access ?  [new]
AirBag
Member

Откуда: Орел, Россия
Сообщений: 12
Сергей ДД
Очень странно, что при таких небольших объемах (1000-2000) записей да еще и с локальной БД, у вас наблюдается тормознутость...???
Ищите причину не в движке!
Где фотографии хранятся?


Я писал, что если есть возможность повысить быстродействие, то я бы это сделал (Руководитель проекта такое желание высказал, не я)

Фотографии, сертификаты, подписи хранятся в БЛОБ-полях

Спасибо.
25 фев 05, 17:14    [1345997]     Ответить | Цитировать Сообщить модератору
 Re: На какую "локальную" БД перейти с MS Access ?  [new]
AirBag
Member

Откуда: Орел, Россия
Сообщений: 12
ASCRUS
Alexey Rovdo
Похоже вам не саму базу, а средство разработки нужно менять.
Если же скорость - главная проблема, переходите на MS SQL. Для Access- базы это делается элементарно.

Очень смелое утверждение насчет элементарности перехода с MDB на ADP (про выбор варианта MDB+присоединенные таблицы я вообще молчу).

AirBag
Не очень убедительные доводы перехода, далее по пунктам:
автор
1. Повысить скорость обработки данных (если это возможно сделать быстрее движке, отличном от аксес ?)

Не думаю, что можно повысить скорость на 2000 записях. Я видел как Access неплохо гиговые БД прокручивает, так что это не обьемы и прибавки скорости не получите на других СУБД.

автор
2. Защитить БД от "дурака" (чтоб было проблематично открыть и изменить БД простым двойным щелчком в проводнике, т.к. МС-офис стоит, наверное, у всех)

От дурака и стандартная защита Access довольно неплоха, создайте другого овнера базы с паролем, уберите Admin из БД, добавьте юзеров и без Вашего файла настроек "дурак" БД не вскроет. Ну а специалист БД на любом РСУБД так же вскроет спокойно, разве что если она криптографию по ключу всей БД поддерживает, как например, Sybase ASA. Думаю подробно о защите в Access нужно спрашивать в соотвествующем форуме.

автор
3. Сделать программу независящей от предустановленных всяких БД-провайдеров. Т.е. "движок" БД, должен быть максимально "встроен" в программу...

Ну тут без комментариев - движок Jet сейчас максимально встроен в Windows, а даже если где и не установлен, так занимает его инсталяция runtime просто копейки.

Так что лично я не рекомендую просто так дергаться и помнить тот анекдот, где папа говорит ребенку "Пока работает, не трогай".


Спасибо. Самому не хочется ничего менять :)
25 фев 05, 17:15    [1346003]     Ответить | Цитировать Сообщить модератору
 Re: На какую "локальную" БД перейти с MS Access ?  [new]
eNose
Member

Откуда:
Сообщений: 183063
Посмотри "Absolute Database" ( http://www.componentace.com )
В качестве замены акцессу - вполне нормальная штука.
28 фев 05, 13:38    [1349304]     Ответить | Цитировать Сообщить модератору
 Re: На какую "локальную" БД перейти с MS Access ?  [new]
f_w_p
Member

Откуда:
Сообщений: 1603
Как я "люблю" ACCESS ЛП не даст соврать. Но для вашей задачи это самое то. Разве что есть угроза, что задача станет сетевой.
28 фев 05, 15:00    [1349676]     Ответить | Цитировать Сообщить модератору
 Re: На какую "локальную" БД перейти с MS Access ?  [new]
Роман Снегирев
Member

Откуда:
Сообщений: 61
А есть еще DBISAM, EasyTable и другая прочая хренотень
28 фев 05, 15:07    [1349716]     Ответить | Цитировать Сообщить модератору
 Re: На какую "локальную" БД перейти с MS Access ?  [new]
Sergey Ch
Member

Откуда: Благовещенск
Сообщений: 8894
После Access логически есть смысл перейти на VFP 9.0 (по крайней мере так рекомендует Microsoft). FoxPro имеет более сложный и наиболее удачный язык управления данными... Трудно будет в начале, но потом у Вас все получится...

Good luck!

P.S. Ну а скорость работы у FoxPro по сравнению с Access на порядок больше...
28 фев 05, 23:37    [1350959]     Ответить | Цитировать Сообщить модератору
 Re: На какую "локальную" БД перейти с MS Access ?  [new]
Лох Позорный
Member

Откуда:
Сообщений: 9898
После Access логически есть смысл перейти на VFP 9.0 (по крайней мере так рекомендует Microsoft).

Бред
Если под аксесом понимается БД - то это обмен шила на мыло.
Если же клиент - то имеет смысл перейти на Access+Ms SQL

P.S. Ну а скорость работы у FoxPro по сравнению с Access на порядок больше...

ля-ля
ля-ля
ля-ля
и за счет чего, позвольте полюбопытствовать? наверное в фокспро встроен турбо-ускоритель скорости работы?
1 мар 05, 03:35    [1351050]     Ответить | Цитировать Сообщить модератору
 Re: На какую "локальную" БД перейти с MS Access ?  [new]
ku
Guest
http://www.hwaci.com/sw/sqlite/
1 мар 05, 13:09    [1352411]     Ответить | Цитировать Сообщить модератору
 Re: На какую "локальную" БД перейти с MS Access ?  [new]
chad
Member

Откуда: Питер
Сообщений: 34
автор
и за счет чего, позвольте полюбопытствовать? наверное в фокспро встроен турбо-ускоритель скорости работы?

Вылизанный код и Rushmore оптимизация. И если мелкомягкие чего не подпортили нововедениями
1 мар 05, 13:10    [1352413]     Ответить | Цитировать Сообщить модератору
 Re: На какую "локальную" БД перейти с MS Access ?  [new]
ЛП
Guest
chad
автор
и за счет чего, позвольте полюбопытствовать? наверное в фокспро встроен турбо-ускоритель скорости работы?

Вылизанный код и Rushmore оптимизация. И если мелкомягкие чего не подпортили нововедениями

Рашмор давно уже не является фокспрошным эксклюзивом. Успешно работает и в младшем брате (аксес), и в старшем (ms sql)
Вылизанность кода? На порядок увеличивающая быстродейстие? Ну-ну...
1 мар 05, 13:13    [1352447]     Ответить | Цитировать Сообщить модератору
 Re: На какую "локальную" БД перейти с MS Access ?  [new]
Sergey Ch
Member

Откуда: Благовещенск
Сообщений: 8894
ЛП
Вылизанность кода? На порядок увеличивающая быстродейстие? Ну-ну...

Увы, реалии действительности... Сравните сами

Good luck!
1 мар 05, 14:54    [1352978]     Ответить | Цитировать Сообщить модератору
 Re: На какую "локальную" БД перейти с MS Access ?  [new]
ЛП
Guest
Т.е. за счет чего быстрее - неизвестно, и поэтому предлагается что-то как-то сравнить?
Ну ладно. Сравнил. Аксес быстрее на два порядка
1 мар 05, 14:58    [1352998]     Ответить | Цитировать Сообщить модератору
 Re: На какую "локальную" БД перейти с MS Access ?  [new]
SergSuper
Member

Откуда: SPb
Сообщений: 5488
Я не знаю что такое Rushmore (и сомневаюсь что фанаты фокса могут объяснить что это), но на меня оно производит впечатление как "Interbase на Абрамсе". Или нет - как зубная паста с Триклозаном.
Первый раз я о Rushmore услышал больше 10 лет назад. Я понимаю что тогда может это было что-то и революционное - но неужели можно серьёзно думать что за 10 лет не появились более передовые технологии?

Может кто напишет, так, по-рабочекрестьянски, что ж это такое и почему его не может быть в других СУБД?
1 мар 05, 18:32    [1354016]     Ответить | Цитировать Сообщить модератору
 Re: На какую "локальную" БД перейти с MS Access ?  [new]
ЛП
Guest
SergSuper
Может кто напишет, так, по-рабочекрестьянски, что ж это такое и почему его не может быть в других СУБД?

Если по рабоче-крестьянски, то Рашмор - это методика оптимизации запросов, пригодная для запросов с условиями отбора по нескольким индексам (пересечение или объединение индексов)
Почему фанаты фокса считают, что этого не может быть больше нигде - хрен его знает, товарисч майор.
1 мар 05, 18:59    [1354087]     Ответить | Цитировать Сообщить модератору
 Re: На какую "локальную" БД перейти с MS Access ?  [new]
Мимо пробегал...
Guest
Помнится мне, эту технологию представляли как достижение для настольных СУБД в 199лохматом годе (между 90м и 93им ). Тогда, на фоне всяких тогдашних DBase'ов и иже с ним тогдашних парадоксов, это может быть и было действительно круто. Но ребяты!!! пятнадцать лет уж минуло! Уже Jet 2.0 (если не ошибаюсь - это Акцесс 2.0 под Win3.1) эту технологию пользовал и никто про это не трубил - потому как это было уже в порядке вещей....
1 мар 05, 19:10    [1354112]     Ответить | Цитировать Сообщить модератору
 Re: На какую "локальную" БД перейти с MS Access ?  [new]
ЛП
Guest
Мимо пробегал...
Уже Jet 2.0 (если не ошибаюсь - это Акцесс 2.0 под Win3.1) эту технологию пользовал и никто про это не трубил - потому как это было уже в порядке вещей....

на самом деле во 2-м джете только кусочки рашмора использовались
целиком и полностью он кажись только с 4-ой версии джета (т.е. аксес 2000)
1 мар 05, 19:12    [1354117]     Ответить | Цитировать Сообщить модератору
 Re: На какую "локальную" БД перейти с MS Access ?  [new]
chad
Member

Откуда: Питер
Сообщений: 34
ЛП
Если по рабоче-крестьянски, то Рашмор - это методика оптимизации запросов, пригодная для запросов с условиями отбора по нескольким индексам (пересечение или объединение индексов)

Не только запросов а еще и фильтров, scan, locate.

SergSuper
Может кто напишет, так, по-рабочекрестьянски, что ж это такое и почему его не может быть в других СУБД?

Где-то я читал, что rushmore патентована родителем foxpro (fox software) и без разрешения правообладателя использоваться не может.

Господа sql-щики. Просветите в каких серверах для оптимизации выполнения запроса используется больше одного индекса?

Пример таблица field1,field2,field3
на ней отдельные индексы по field1,field2,field3
и запрос select * from where field1=a and field2=a field3=a

Сколько индексов использует любимый вами sql-сервер?
1 мар 05, 19:39    [1354169]     Ответить | Цитировать Сообщить модератору
 Re: На какую "локальную" БД перейти с MS Access ?  [new]
Alexey Sh
Member

Откуда: SPB
Сообщений: 1930
А в чём суть этой сверхсекретной патентованной технологии?

Так простетьно, на пальцах .
1 мар 05, 20:12    [1354230]     Ответить | Цитировать Сообщить модератору
 Re: На какую "локальную" БД перейти с MS Access ?  [new]
chad
Member

Откуда: Питер
Сообщений: 34
Если есть индекс и индекное выражение совпадает с условием поиска отбора фильтрации то для этих действий используется индекс.

Пример.

create table t1 (f1 numeric(5), f2 numeric(5), f3 char(10) )
index on f1
index on f2
index on f3

при rushmore скорость поиска seek 5 и locate for f1=5 одинакова.

и в сложных случаях locate for f1=value1 and f2=value1 and f3=value1
используются все индексы вместо тупого позаписного перебора.
1 мар 05, 20:43    [1354268]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: [1] 2   вперед  Ctrl      все
Все форумы / Сравнение СУБД Ответить