Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Хранилище

335
27 июля 2005 года
enola
379 / / 25.01.2005
Добрый день!
Народ подскажите в каком формате данные хранить, требования такие:
1. Быстрый поиск
2. Небольшой объем
3. Простое добавление/извлечение

может так:
данные у меня вида "номер: сообщение"
есть у меня структура
 
Код:
struct TRe {
  char num[6];
  char mes[256];
};

пихать строку в структуру, а структуру уже в файл (можно двоичный), а уже потом читать (по надобности) из файла массив этих структур, по ним поиск делать? или есть варианты поинтересней?
Сообщений этих у меня примерно 32000.
2.1K
27 июля 2005 года
greyich
117 / / 02.02.2005
Цитата:
Originally posted by enola
Добрый день!
Народ подскажите в каком формате данные хранить, требования такие:
1. Быстрый поиск
2. Небольшой объем
3. Простое добавление/извлечение

может так:
данные у меня вида "номер: сообщение"
есть у меня структура
 
Код:
struct TRe {
  char num[6];
  char mes[256];
};

пихать строку в структуру, а структуру уже в файл (можно двоичный), а уже потом читать (по надобности) из файла массив этих структур, по ним поиск делать? или есть варианты поинтересней?
Сообщений этих у меня примерно 32000.



либо лыжи не едут либо я невъезжаю. почему не использовать БД. в книге лауры томпсон и дюка веллинга (программирования на PHP, кажется ) была такая фраза: Если количестов записей превышает 100 то целесообразнее использовать базы данных

335
27 июля 2005 года
enola
379 / / 25.01.2005
Цитата:
Originally posted by greyich
либо лыжи не едут либо я невъезжаю. почему не использовать БД. в книге лауры томпсон и дюка веллинга (программирования на PHP, кажется ) была такая фраза: Если количестов записей превышает 100 то целесообразнее использовать базы данных


а не кто и не говорил, что нельзя БД, можно, тогда посоветуйте какую БД? вот Oracle скажем, тогда нужно где-то ведь БД хранить эту, одним файлом не отделаешься, может какую еще посоветуете? не хочу использовать BDE! программа простая!

2.1K
27 июля 2005 года
greyich
117 / / 02.02.2005
Цитата:
Originally posted by enola
а не кто и не говорил, что нельзя БД, можно, тогда посоветуйте какую БД? вот Oracle скажем, тогда нужно где-то ведь БД хранить эту, одним файлом не отделаешься, может какую еще посоветуете? не хочу использовать BDE! программа простая!



на изучение oracle может уйти целая жизнь :) а bde - простой способ работы с данными. информацию по нему можно найти в любой книге по билдеру. но для начала очень НАСТОЯТЕЛЬНО рекомендую почитать общую литературу по базам данных, чтобы представлять себе что это такое. как минимум знать отличия обычной и сетевой (с архитектурой клиент-сервер) бд.
ps: oracle это СУБД.

335
27 июля 2005 года
enola
379 / / 25.01.2005
Цитата:
Originally posted by greyich
на изучение oracle может уйти целая жизнь :) а bde - простой способ работы с данными. информацию по нему можно найти в любой книге по билдеру. но для начала очень НАСТОЯТЕЛЬНО рекомендую почитать общую литературу по базам данных, чтобы представлять себе что это такое. как минимум знать отличия обычной и сетевой (с архитектурой клиент-сервер) бд.
ps: oracle это СУБД.


с Oracle я знаком, вот сейчас под него пишу (не без помощи добрых людей), про БД тоже читал книжечки, а BDE скажу нет!
Я не спрашивал у Вас про то как это все работает, я просил рекомендаций по поводу хранилищ! А как это реализовать, сам разберусь. Что лучше использовать: там Firebird, или файлы (текстовые, двоичные) или еще что, главное, чтобы не пришлось на стороне клиента что-то дополнительное ставить, а было бы скажем пару или один файл! вот что я хочу узнать!

585
27 июля 2005 года
honeybeer
297 / / 06.09.2004
Цитата:
Originally posted by enola
а не кто и не говорил, что нельзя БД, можно, тогда посоветуйте какую БД? вот Oracle скажем, тогда нужно где-то ведь БД хранить эту, одним файлом не отделаешься, может какую еще посоветуете? не хочу использовать BDE! программа простая!



Начнем по порядку.
+Бинарные файлы однозначно быстрее. Меньше размером (отсутствие метаданных и проч.). Чтение-запись данных, при условии соблюдения структуры описанной вами, простейшее. Отсутствует необходимость установки дополнительных драйверов на стороне клиента.

-Изменение структуры данных, влечет за собой неприятные последствия по реструктуризации всего объема хранилища. Поддержание логической, да и физической, целостности данных - на совести программы-клиента.
Разработка программ сторонними производителями без описания и документации - вешалка.

Соответственно для баз наоборот. При этом Oracle стоит использовать в случае >=3500000 записей, ну или около того. Если решитесь на базу, можете попробовать Firebird(Interbase). Они для таких масштабов. Но учтите, что кроме программирования вам придется выполнить и проектирование самой базы. Т.е. определить сущности, разработать систему таблиц, определить связи между ними, провести нормализацию хотя бы до 3НФ и т.д.

BDE не самый удачный выбор. Воспользуйтесь компонентами ADO, dbExpress, для Interbase - IBTable и иже с ними, для Firebird - FIBPlus.
Ну вот кратенько и все. Кто-то добавит свое, выбор модели вашего хранилища и/или СУБД за вами. Удачи.

343
27 июля 2005 года
lena_ki
282 / / 14.04.2005
Цитата:

главное, чтобы не пришлось на стороне клиента что-то дополнительное ставить



Тогда ADO вместо BDE.

335
27 июля 2005 года
enola
379 / / 25.01.2005
все больше и больше нравиться мне этот форум, люди добрые, отзывчивые :) !
+ и - работы с файлами это я точно знаю, но за расписанный ответ все равно спасибо.
Когда следует использовать Oracle тоже.
А вот с Firebird не работал, хотя вот покопался в поисковиках и тоже пришел к выводу, что наверное придется использовать Firebird.
Насчет BDE или ADO однозначно ADO.
А вот по Firebird в данном ракурсе, у него есть локальные базы? Есть ли возможность напрямую работать с базой на локальном компьютере?
335
27 июля 2005 года
enola
379 / / 25.01.2005
а XML использовать в данном случае не лучше ли будет? Просто структура простая, не хочется с БД из-за этого возиться!
343
27 июля 2005 года
lena_ki
282 / / 14.04.2005
Цитата:
Есть ли возможность напрямую работать с базой на локальном компьютере?



Да.
Другие ответы тут
http://www.ibase.ru/firebird.htm

335
27 июля 2005 года
enola
379 / / 25.01.2005
Цитата:
Originally posted by lena_ki

Другие ответы тут
http://www.ibase.ru/firebird.htm


спасибо!

2.1K
27 июля 2005 года
greyich
117 / / 02.02.2005
Цитата:
Originally posted by enola
спасибо!



есть также один из простых варантов - использовать возможности MS Access, который стоти почти у всех

335
28 июля 2005 года
enola
379 / / 25.01.2005
Цитата:
Originally posted by greyich
есть также один из простых варантов - использовать возможности MS Access, который стоти почти у всех


Не есть это правильно, да и под Access нужно писать на VBA.

56K
21 марта 2010 года
zCHIP
8 / / 21.03.2010
я бы посоветовал вам SQLite, http://sqlite.org/
все прелести SQL, хранение бд в файле и многое другое. У нас несколько проектов на нем досихпор работает без проблем.

гг не посмотрел на дату
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог