![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Посоветуйте тип баз данных [D6, Win2k, WinXP]
DelphiN! © (2005-02-11 12:48:00)Написал программу, на основе баз данных Paradox 7, Всего в программе 7 баз данных. 5 баз будут иметь средний размер по 500 кб. 1-а из баз в среднем может разрастись до 1-го гигабайта. Еще одна база может разрастись до нескольких гегабайт, также в эту базу довольно часто добавляеться новые значения методом Append компонента ClientDataSet(несколько раз в минуту). Программа ведет очень активную работу с маленькими базами(до 500кб). В среднем проводит циклический поиск(методом сравнения строк) в каждой из маленьких баз по 1-му разу в секунду. 2-е большие базы(до 2-х гигабайта) программа использует редко, и только добавляет туда новые значения, не производя поисков. Со всеми базами работаю через компонент TClientDataSet
Так вот когда одна из баз возрастает более чем на 1 мегабайт(в данную базу добавляються новые значения методом Append примерно каждые 30 секунд), программа начинает вылетать и виснуть ...
Что вы можете посоветовать, может Paradox не подходит для больших баз ? Что лучше использовать ? И что может подойти для маленьких, но очень часто используемых баз ?
Заранее благодарен.
Sergeich (2005-02-16 11:31:00) [21]
> DelphiN! © (16.02.05 10:47) [58]
Откуда такие объемы информации для такой тривиальной задачи?
уважаемый, вам же уже объяснили, что сначала книги читаются(можно для разнообразия в институте поучиться), а потом принимаются ваять. Тем более системы, где надо учитывать деньги - вам с таким дилетантским подходом там поверьте делать нечего. По крайней мере пока.
DelphiN! (2005-02-16 10:47:00) [22]
> [55] Sergey13 © (16.02.05 10:34)
У меня это и так делается(в таблице сеансов ищется сеанс компьютера I и на экран выводиться разница и еще всякая мелочь ...). Большая база нужна мне для статистики программ(которые какой-то компьютер в какое-то время запускал когда либо). В день данная база возрастает на 1мб. Также база кассы возрастает на 1мб в неделю(это только сейчас, позже нагрузка увеличиться). База сеансов - маленькая(при максимальной нагрузке равна колличеству компьютеров). Единственное что мне требуется от базы сеансов, так это быстрый алгоритм поиска в ней, а от базы кассы и статистики программ - надежность. Также необходимо применять к базам кассы и статистики фильтры(чтобы они работали быстро), для просмотра данных администратором. База кассы и программ должна быть доступна для изменения и чтения по сети(другими серверами касс)
Какой сервер баз данных мне выбрать для больших сетевых баз, где скорость не главное ? Базу сеансов наверное оставлю - Paradox, только изменю алгоритм поиска
>
> [56] Anatoly Podgoretsky © (16.02.05 10:34)
> Ответ только на второй вопрос, известны базы в 980 гб
Всмысле базы Interbase в 980 ГБ ?
Danilka (2005-02-16 10:42:00) [23][54] DelphiN! © (16.02.05 10:30)
Лучше использовать его бесплатный клон FireBird, по IB и его клонам есть много русскоязычной документации, также, говорят книга хорошая "Мир Interbase".
В любом случае, для работы с серверами СУБД лучше начать с теории, но об этом тебе уже неоднократно говорили. Глядишь, и пересмотрел-бы свою задачу, под более оптимальное решение.
[55] Sergey13 © (16.02.05 10:34)
Кажись, пока безполезно. :) Не слышет он, думаю, потому-что пока не понимает что ему говорят, т.к. нет теории, путает базы с таблицами.
Anatoly Podgoretsky (2005-02-16 10:34:00) [24]Ответ только на второй вопрос, известны базы в 980 гб
Sergey13 (2005-02-16 10:34:00) [25]2 DelphiN! ©
Почему бы тебе просто не выводить в грид запрос, показывающий разницу между текущим временем и временем окончания сеанса (если он заранее известен). Запрос обновлять максимум раз в минуту, чаще - это глупость, ИМХО. Запрос отсортировать по возрастанию этой разницы. Для нагладности грид еще можно раскрасить. Типа разница отрицательная (надо отключать) - красное, меньше 5 минут (надо предупредить юзера, что время на исходе) - желтая. Все просто и наглядно.
DelphiN! (2005-02-16 10:30:00) [26]А Interbase подойдет ? Насколько он быср, для насколько больших объемов БД он расчитан ? Насколько он надежен ?
Anatoly Podgoretsky (2005-02-16 10:26:00) [27]Как минимум поддерживающий трансакции, тригера, хранимые процедуры, ссылочную целостность.
То есть любой промышленный сервер.
DelphiN! (2005-02-16 10:21:00) [28]
> [50] Danilka © (16.02.05 10:12)
А какой "нормальный" сервер вы имеете ввиду ?
DelphiN! (2005-02-16 10:17:00) [29]Восновном будет 1-о соединение, но иногда сервер администратора будет коннектится к кассе для просмотра статистик в базе данных. Это 1-о соединение будет писать в базу примерно около 1-го раза в минуту, и считывать данные очень часто (много раз в секунду)
---
Danilka (2005-02-16 10:12:00) [30][49] DelphiN! © (16.02.05 10:02)
Вообще, из всего вышеописаного неясно, писать в базу ты будешь одним соединением, или несколькими, ты только написал, что "в эту базу довольно часто добавляеться новые значения".
Дело в том, что, если не ошибаюсь, в MySQL нет транзакций, а значит, чем больше количество пишущих соединений, тем больше вероятность того, что база начнет разваливаться.
MySQL больше всего подходит для интернет приложений, когда в основном все читают, а пишут редко.
Вобщем, лучше взять нормальный сервак. Впрочем, все это ИМХО.
DelphiN! (2005-02-16 10:02:00) [31]Не подскажите какуюнибудь статью, по созданию базы на сервере MySQL, и работы с этой базой в Делфи, вообще мне главное создать эту базу на MySQL сервере
Anatoly Podgoretsky (2005-02-16 09:32:00) [32]MySQL это куча разных форматов под одним названием, а ты какой используешь. Вообще то спецификации открыты практически всем.
DelphiN! (2005-02-16 07:45:00) [33]Можно поинтересоваться, если просто записывать в базу новые значения, какой максимальный объем может выдержать база на сервере MySQL ?
Anatoly Podgoretsky (2005-02-16 07:43:00) [34]Сроки зранения бухгалтерских документов не зависят от количества компьютеров.
DelphiN! (2005-02-16 07:18:00) [35]
> [42] Anatoly Podgoretsky © (15.02.05 19:54)
> msguns © (15.02.05 17:28) [38]
> А это значит минимум 7 лет.
А если компьютеров более 1000-и (сеть клубов с единой базой)
DelphiN! (2005-02-16 06:24:00) [36]
> [43] Eraser © (15.02.05 22:15)
Тем что его нельзя изменить под вкус организации. Сейчас моя система работает на 80-ти компьютеров одного из клубов, и ее результативность гораздо выше прежней системы(Locker). Например удалось избежать воровства среди кассиров, а также настроитьпод организацию много особенностей
Eraser (2005-02-15 22:15:00) [37]DelphiN! ©
А чем ClubAdmin плох?
Anatoly Podgoretsky (2005-02-15 19:54:00) [38]msguns © (15.02.05 17:28) [38]
А это значит минимум 7 лет.
Anatoly Podgoretsky (2005-02-15 19:53:00) [39]Шкурой программиста.
Sergeich (2005-02-15 17:36:00) [40]2DelphiN!
есть предложение записывать результаты поиска(100*100) в базу, чтобы быстрее получить вожделенные гигабайты. База такого учреждения, тем более на парадохе не потянет больше 10M. И то к тому времени хозяин уже чебуреками будет торговать или шкурками черепах.