Я новичок в этом деле. Пытаюсь написать поисковик. Сканирую каждую машину в сети и записываю данные в базу. Для начала пробывал записывать данные в базу MS Access, но проблема в том, что даже при неполном сканировании сети, размер базы достигает 600 Мб а при попытке выполнить какой-нибудь запрос типа (SELECT * from table1 WHERE filename LIKE 'bla-bla-bla') он выполняется порядка 10-15 сек. (P IV 3GHz DDR 1024Мб )
Вопрос в том, какую лучше всего использовать базу для хранения данных?
Здравствуйте, vit_as, Вы писали:
_>Я новичок в этом деле. Пытаюсь написать поисковик. Сканирую каждую машину в сети и записываю данные в базу. Для начала пробывал записывать данные в базу MS Access, но проблема в том, что даже при неполном сканировании сети, размер базы достигает 600 Мб а при попытке выполнить какой-нибудь запрос типа (SELECT * from table1 WHERE filename LIKE 'bla-bla-bla') он выполняется порядка 10-15 сек. (P IV 3GHz DDR 1024Мб ) _>Вопрос в том, какую лучше всего использовать базу для хранения данных?
Поставь сервер, например MS SQL 2000/2005 или MySQL, не думаю, что тебе потребуется что-то хитрое от этих баз данных. Еще многое зависит от струтуры БД
Здравствуйте, Pavel M., Вы писали:
PM>Здравствуйте, vit_as, Вы писали:
_>>Я новичок в этом деле. Пытаюсь написать поисковик. Сканирую каждую машину в сети и записываю данные в базу. Для начала пробывал записывать данные в базу MS Access, но проблема в том, что даже при неполном сканировании сети, размер базы достигает 600 Мб а при попытке выполнить какой-нибудь запрос типа (SELECT * from table1 WHERE filename LIKE 'bla-bla-bla') он выполняется порядка 10-15 сек. (P IV 3GHz DDR 1024Мб ) _>>Вопрос в том, какую лучше всего использовать базу для хранения данных?
PM>Поставь сервер, например MS SQL 2000/2005 или MySQL, не думаю, что тебе потребуется что-то хитрое от этих баз данных. Еще многое зависит от струтуры БД
Здравствуйте, vit_as, Вы писали:
PM>>Поставь сервер, например MS SQL 2000/2005 или MySQL, не думаю, что тебе потребуется что-то хитрое от этих баз данных. Еще многое зависит от струтуры БД
_>А если в XML писать? это вообще изврат?
Здравствуйте, Lloyd, Вы писали:
L>Здравствуйте, vit_as, Вы писали:
PM>>>Поставь сервер, например MS SQL 2000/2005 или MySQL, не думаю, что тебе потребуется что-то хитрое от этих баз данных. Еще многое зависит от струтуры БД
_>>А если в XML писать? это вообще изврат?
L>Только если очень хоцца тормозов.
Понятно, спасибо!
И еще вопрос, когда в ASP делаю вывод данных о расшаренных ресурсах, проверяю существует ли на данный момент файл через File.Exists(path). Ну оочень много времени этот процесс занимает... Есть ли какие-нибудь другие способы?
Здравствуйте, vit_as, Вы писали:
_>Вопрос в том, какую лучше всего использовать базу для хранения данных?
Поставь MS SQL 2005 Express (бесплатная, ограничение на размер базы 4Gb) и включи полнотекстовый поиск.
Будет искать за доли секунды. Плюс — поиск может осуществляться по .txt, .htm, .pdf, .doc документам.
В человечишке все должно быть прекрасненьким: и одёжка, и душенка, и мордочка, и мыслишки.
Здравствуйте, vit_as, Вы писали:
_>Здравствуйте, Lloyd, Вы писали:
_>Понятно, спасибо! _>И еще вопрос, когда в ASP делаю вывод данных о расшаренных ресурсах, проверяю существует ли на данный момент файл через File.Exists(path). Ну оочень много времени этот процесс занимает... Есть ли какие-нибудь другие способы?
не стоит проверять. лучше, индексатор пусть проверяет переодически, на существование. Еще используй хеш, то есть не выбирай из базы каждый раз, а часть объектов в памяти держи.
Здравствуйте, Pavel M., Вы писали:
PM>Здравствуйте, vit_as, Вы писали:
_>>Здравствуйте, Lloyd, Вы писали:
_>>Понятно, спасибо! _>>И еще вопрос, когда в ASP делаю вывод данных о расшаренных ресурсах, проверяю существует ли на данный момент файл через File.Exists(path). Ну оочень много времени этот процесс занимает... Есть ли какие-нибудь другие способы?
PM>не стоит проверять. лучше, индексатор пусть проверяет переодически, на существование. Еще используй хеш, то есть не выбирай из базы каждый раз, а часть объектов в памяти держи.