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

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

Выбор базы данных [D7]


Страницы:   1 2

Piter ©   (2004-02-01 21:05:00) 

Вот хочу попросить совета - какую бы базу данных выбрать для хранения этого форума? Хочу написать клиента форума, а сами сообщения хранить в базе, естесственно.

Вот и думаю, какую базу выбрать с какой логикой?
Одна запись - один пост? Тогда поля будут Name, Email, Date, Text, NomerVetvi, NomerForuma... может, еще какие надо? С другой стороны, это сколько же будет записей, сколько постов во всех конференциях! Не заводить же отдельную базу для каждого форума...

или каждая запись - это отдельная ветвь? А как тогда посты хранить? Может, McSimm посоветует как у него реализовано и как лучше будет?

Да, к тому же база должна требовать минимум для инсталляции (желательно никаких там драйверов и т.д.). Быть надежной (выдерживать я думаю объем не менее пары гигабайт) и устойчивой (если комп вырубится или зависнет - чтобы не полетела, как это Paradox часто делает).

В общем - посоветуйте!


Piter   (2004-02-03 17:07:00) [1]

>Что бы при скачивании форумов можно было работать с базой, и интерфейс при этом не тормозил

ну а при чем здесь многопоточность? Сколько будет занимать добавление новой записи? Имхо, 1/10 секунды, не болеее.

Да и вообще, логика клиента такова, что не имеет смысла работать с базой во время скачки. Работать с базой можно и так, без подключения к интернету даже. Это можно сделать и до скачивания.
А вот работа с новыми сообщениями... так пока их не скачаешь - как с ними работать?


jack128   (2004-02-03 14:41:00) [2]


> Не подскажешь какие выбрать для доступа к Firebird Embedded?
>
IBX (это то, что с Delphi идет), FIB+ (для ExUSSR - 500р. , по мнению многих - лудший набор компонент), IBO (говорят ОЧЕНЬ тяжелый набор компонент, для новичка в БД наверно не стоит и пытаться). Это только компоненты прямого доступа. Есть всякие BDE, ADO и тп , но нафиг это нужно? ;-)

> Да и вообще, где поподробнее прочитать про эту штуку? Основыне
> положения хотя бы...
Лудший русско язычный сайт по IBклонам www.ibase.ru. Там же найдешь другие ссылки.


> Многопоточная работа с БД и Internet
>
> про сокеты я написал, а нафига нужна многопоточная работа
> с базой то?
Что бы при скачивании форумов можно было работать с базой, и интерфейс при этом не тормозил.


Piter   (2004-02-03 14:24:00) [3]

Sir Alex © (03.02.04 12:36) [29]

да я понимаю, что ты меня за ламера полного принял, только вот пойми - ну мало я в базах смыслю. Что же теперь делать? А клиент какой получится - такой и получится. Мы еще посмотрим кто кого :) Будешь у меня еще исходники просить :) Ладно, это у меня юмор такой плоский, 2D типа

>Собственно выбор компонентов доступа к БД

ага, после выбора базы буду заниматься именно этим. Не подскажешь какие выбрать для доступа к Firebird Embedded? Да и вообще, где поподробнее прочитать про эту штуку? Основыне положения хотя бы...

>HTML Viewer (EmbeddedWB, HTMLite, HTMLViewer...)

а чего тут думать. TWebBrowser, конечно

>Сетевые компоненты (Indy, ICS, просто Sockets...)

Да у меня давно есть наработки от старых программ многопоточных сокетов на основе TTcpClient

>Многопоточная работа с БД и Internet

про сокеты я написал, а нафига нужна многопоточная работа с базой то?

>Удобный интерфейс

хех, вот это больной вопрос. Кому XP, а кому терминальную строку подавай

>Функциональность клиента (Полнотекстовый поиск, отправка сообщений, отслеживание перемещений сообщений, анкеты... и т.д. и т.п.)

Будем делать, я уже почти закончил планирование проекта, скоро надесь за кодинг сесть. Правда вот проблема, скоро учиться начинать надо. Это сильно замедлит проект...


Sir Alex   (2004-02-03 12:36:00) [4]

2 Piter
ИМХО, если у тебя возникают вопросы такого уровня, то клиент хороший не получится... т.к. помимо просто выбора БД, будет еще куча непростых вопросов:
- Собственно выбор компонентов доступа к БД
- HTML Viewer (EmbeddedWB, HTMLite, HTMLViewer...)
- Сетевые компоненты (Indy, ICS, просто Sockets...)
- Многопоточная работа с БД и Internet
- Удобный интерфейс
- Функциональность клиента (Полнотекстовый поиск, отправка сообщений, отслеживание перемещений сообщений, анкеты... и т.д. и т.п.)
Вот при правильном подборе этих параметров, получится хороший клиент...(ИМХО)

2 jack128 © (02.02.04 18:36) [22]
:) Приятно однако...


Deniz   (2004-02-03 09:41:00) [5]

> Piter ©
Что-то не понятно, с базой будут работать несколько клиентов или один?
Если один, то FireBird emb/Yaffil pers подойдет, и достаточно скопировать пару DLL в папку/мамку программы.
Но если клиентов будет много, то придется сервер ставить, но это не сложно:
2.1. Required steps

If you don"t have a special setup program (it"s distributed
separately) the steps are the following:

- unzip the archive into the separate directory (since a few
file names were changed, it doesn"t make sense to unzip
v1.5 files into the directory with IB/FB1)
- change the current directory to <root>\bin (here and below
<root> is the directory where v1.5 files are located)
- run instreg.exe:
instreg.exe install
it causes the installation path to be written into the registry
(HKLM\Software\Firebird Project\Firebird Server\Instances)
- if you want to register a service, run also instsvc.exe:
instsvc.exe install
- optionally, you should copy both fbclient.dll and gds32.dll
to the OS system directory
И все :)


jack128   (2004-02-02 22:35:00) [6]


> Могу я при запуске запускать сервер (чтоб он не давал признаков
> жизни, типа иконки в трее), а по завершении программы сервер
> вырубать?

Сервер - это динамическая библиотека. При запуске программы она загружается в ВАП процесса, при завершении выгружается. Визуально себя никак не проявляет.
"Встроенные" сервера не поддерживают многопользовательского режима, и вообще пользователей как таковых.


Piter   (2004-02-02 21:28:00) [7]

dmtr © (02.02.04 17:28) [20]
2 Piter
Позволь такой нескромный вопрос - для каких целей пишится программа?


Вот блин. А слабо мой самый первый пост прочитать?

Установка - если Embedded, то одна единственна я .dll в той же директории, что и программа. И ВСЕ. (Только что сжал ее RAR - ом, получилось 580 кБ). Все на одну дискетку влезет

А можно поподробнее про этот Embedded?! Это сетевая база? То есть, у юзера должен сервер висеть? Могу я при запуске запускать сервер (чтоб он не давал признаков жизни, типа иконки в трее), а по завершении программы сервер вырубать?


Michail Dalakov   (2004-02-02 19:25:00) [8]

To Sergey_Masloff (02.02.04 14:55) [15]
>Делаем вывод, что вероятность краха достаточно мала!
>За что и нравится IB ;-)

Давно не имел дело с IB и его клонами, закончил на IB5.6, но могу
порекомендовать проделать эксперименты на FAT32, 98 - идеальный вариант, при злом выключении - база падает 100% (по крайней мере на IB5.6). Тот же IB5.6 на NTFS никогда проблем не доставлял при любых отключениях.


jack128   (2004-02-02 18:53:00) [9]


> Для FireBird - 1.
а firebird.msg? ;-)


MV   (2004-02-02 18:37:00) [10]

Для FireBird - 1.


jack128   (2004-02-02 18:36:00) [11]


>
> Sir Alex © (02.02.04 15:18) [17]
круто, ждем с нетерпением.

> MV (02.02.04 17:45) [21]
> то одна единственна я .dll
ну не единственная. Файла три для Yaffil"а нужно все таки ;-)


MV   (2004-02-02 17:45:00) [12]

Piter © (02.02.04 15:50) [18]
FireBird тоже не подойдет. Ну все таки лишние 2-3 мегабайта, потом устанавливать ее надо, настраивать... думаю, далеко не каждый с этим будет заморачиваться. Я вот думаю не стал бы.

По-моему, ничего более компактного из SQL серверов не найдете!
Установка - если Embedded, то одна единственна я .dll в той же директории, что и программа. И ВСЕ. (Только что сжал ее RAR - ом, получилось 580 кБ). Все на одну дискетку влезет.


dmtr   (2004-02-02 17:28:00) [13]

2 Piter
Позволь такой нескромный вопрос - для каких целей пишится программа?


Piter   (2004-02-02 16:08:00) [14]

> > выдерживать я думаю объем не менее пары гигабайт)
> Это архив форумов лет 5, нафиг такие объемы?

думаю, не на 5 лет, а на 50. или на 500. :))


Нда, вы уверены? Вы не по дайджестам смотрите? Ведь в базе информация не упакована rar"ом! Помните ветку "Любая тема ветки" - она одна занимает наверное мегабайт 20. Хотя если у кого давно стоят клиенты форумов - поделитесь, до каких размеров база разрослась и какие форумы под котролем?


Piter   (2004-02-02 15:50:00) [15]

FireBird тоже не подойдет. Ну все таки лишние 2-3 мегабайта, потом устанавливать ее надо, настраивать... думаю, далеко не каждый с этим будет заморачиваться. Я вот думаю не стал бы.

Насчет структуры - если все, как описано, то все уложится в 2 таблицы - ветви и посты

Да я тоже так думал.. а вот нужна ли эта дополнительная таблица с ветвями? Зачем? Есть ветвь - есть и посты в ней, у каждого поста есть id - к какой ветви он относится... я думаю так. Может, не учитываю что-нибудь?

У меня еще такой вопрос, кто что думает, id стоит хранить в текстовом виде или в числовом? Например, у этой ветви id=1075658717


Sir Alex   (2004-02-02 15:18:00) [16]

Мой старый DMFC был сделан на MIDAS Flat-file (TClientDataSet).
Но слишком уж часто у него падают базы... вобщем фи...

Сейчас делаю новую версию на FireBird Embedded, класс, мне нравится. И база может быть большой и надежность высокая и дистрибутив маленький (относительно)...


Anatoly Podgoretsky   (2004-02-02 15:01:00) [17]

Deniz © (02.02.04 14:27) [12]
Какая бы вероятность не было, лишь одно важно, имеет ценность информация или нет, можно ее потерять или это не допустимо. Стоимость современных UPS очень маленькая, он спасет не только от полного пропадания электроэнергии, но и от скачков и помех. То есть его есть смысл ставить даже дома, без всяких баз, количество перезагружек резко снижается.


Sergey_Masloff   (2004-02-02 14:55:00) [18]

Deniz © (02.02.04 14:27) [12]
>Делаем вывод, что вероятность краха достаточно мала!
За что и нравится IB ;-)


Fay   (2004-02-02 14:53:00) [19]

Если на фоне 5 гигов инфы цена UPS-а заметна, то это не инфа. Это фигня какая-то. Тогда эта база уже никому не нужна - можешь дальше не писать.


Danilka   (2004-02-02 14:43:00) [20]


> > выдерживать я думаю объем не менее пары гигабайт)
> Это архив форумов лет 5, нафиг такие объемы?

думаю, не на 5 лет, а на 50. или на 500. :))


Страницы:   1 2

Наверх

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