![]() |
| ||
|
|
Новости |
Поиск |
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 не подходит для больших баз ? Что лучше использовать ? И что может подойти для маленьких, но очень часто используемых баз ?
Заранее благодарен.
Johnmen (2005-02-15 17:33:00) [41]>msguns © (15.02.05 17:28) [38]
Под "сбоку", я имел в виду именно хранение.
Но ведь это не основное в данной системе. Хотя бухи, м.б., думают иначе...:)
msguns (2005-02-15 17:28:00) [42]>Johnmen © (15.02.05 17:22) [37]
>Причём базы данных вообще сбоку, если речь о мониторинге в компьютерном клубе...
Нет, Жень, не совсем так. Хранить надо все данные о "сеансах" за достаточно длительное время. Хотя бы для той же бухгалтерии.
Johnmen (2005-02-15 17:22:00) [43]>msguns © (15.02.05 17:16) [36]
Причём базы данных вообще сбоку, если речь о мониторинге в компьютерном клубе...
msguns (2005-02-15 17:16:00) [44]>DelphiN! © (15.02.05 15:57) [31]
Юзера, кассиры, листвью, номера, сеансы - все в одну тарелку.
Ты это.. Определись сначала с объектами: что такое "сеанс", "номер" и т.д. Потом набросай схемку "документооборота", т.е. взаимодействие между объектами, какую инфу и как часто они должны друг другу передавать.
В рез-те у тебя должна появиться общая модель информационных потоков. После этого надо "приложить" эту модель к теории Баз Данных.
И только после этого можно приступать к проектированию интерфейса клиент-сервер. Что там будет, листвью или листбокс или хренбокс - это даже не десятое, а стодесятое дело ;)
Digitman (2005-02-15 16:26:00) [45]
> как вы предлагаете обновлять время на мониторе кассира
уж точно не ТАК
> нужно показывать сколько времени на каком компьютере осталось
> в ListView
да кассиру ПО КОЛЕНО (!!!!!!!!!!!), ListView у тебя там или ХренВью !!
ему, если уж на то пошло, и ежели он, кассир, не спит и пялится всю свою смену в монитор, важно получить диал.окно, что некий юзер Пупкин прос.ал на сей момент все бабки и нго пора гнать в три шеи !
Johnmen (2005-02-15 16:13:00) [46]>DelphiN! © (15.02.05 15:57) [31]
Ну, вобщем, Digitman © уже сказал про бред.
От себя добавлю, что такие системы делаются ПРИНЦИПИАЛЬНО не так.
Desdechado (2005-02-15 16:12:00) [47]да все в памяти держать можно. а в базу сбрасывать только конкретные операции типа оплаты и завершения сеанса. остальное прекрасно рассчитывается без обращения к базе.
Desdechado (2005-02-15 16:11:00) [48]да все в памяти держать можно. а в базу сбрасывать только конкретные операции типа оплаты и завершения сеанса. остальное прекрасно рассчитывается без обращения к базе.
DelphiN! (2005-02-15 15:57:00) [49]А как вы предлагаете обновлять время на мониторе кассира, ведь нужно показывать сколько времени на каком компьютере осталось в ListView, а чтобы узнать сколько времени осталось на компьютере скажем под номером 15, нужно найти его сеанс в базе данных сеансов и пересчитать время (отнять текущее время от времени окончания). Вот каждую секунду и обнавляется оставшееся время, деньги, последнее время отклика и много чего еще ... для каждого из 80-ти компьютеров
Digitman (2005-02-15 15:48:00) [50]
> DelphiN! © (15.02.05 15:30) [28]
ты пашешь огород, на котором сам не знаешь что растет ..
извини уж ..
юросай нафих свои "клубоадминскопрограммерские" потуги и садись штудировать теорию .. без нее все что ты сейчас делаешь выглядит попросту дурью ..
msguns (2005-02-15 15:36:00) [51]Ух ты !!! А откуда эта цифра: "400 сравнений в сек" ?
Это типа сервер отслеживает клики гамеров, например, в SC, и, ежели кто-то и протоссов паланул пси-шторму, то админу на экране светится:
Гамер № 123б (РС №20а) шторманул гамера № 07х (РС №13л), в результате чего последний потерял 16 собак, а 4 гидрала уковыляли в ближайший орешник поправлять пошатнувшееся здоровье.
DelphiN! (2005-02-15 15:30:00) [52]Программа управления компьютерным клубом, по типу программы Locker(кто такую знает)
Digitman (2005-02-15 15:27:00) [53]
> msguns © (15.02.05 15:20) [25]
дело темное ..
"Адназначна !"(с) Жир
msguns (2005-02-15 15:21:00) [54]Не, пацаны, а что, собственно, хотим затолкать в БД ? Базар о каких-то обновлениях, поисках, "сеансах" и т.д. Что за объект такой, где есть такая личность, как "кассир" ?
Похоже, что это магазин ? Или прачечная ? А, может, кинозал ? А если, не дай Бог, бандитская шайка, где после каждого "дела" (которых может быть до 400 в сек) "кассир" выдает братве капусту ?
Откуда дрова-то ? И для кого (чего) ?
msguns (2005-02-15 15:20:00) [55]Не, пацаны, а что, собственно, хотим затолкать в БД ? Базар о каких-то обновлениях, поисках, "сеансах" и т.д. Что за объект такой, где есть такая личность, как "кассир" ?
Похоже, что это магазин ? Или прачечная ? А, может, кинозал ? А если, не дай Бог, бандитская шайка, где после каждого "дела" (которых может быть до 400 в сек) "кассир" выдает братве капусту ?
Откуда дрова-то ? И для кого (чего) ?
Digitman (2005-02-15 14:57:00) [56]бред сивой кобылы
а если не бред, то задача (сложная !!!) решается реализацией 3-хзвенной арх-ры СУБД
Johnmen (2005-02-15 14:52:00) [57]>DelphiN! © (15.02.05 14:39) [21]
А зачем ListView ?
И зачем так часто ?
Digitman (2005-02-15 14:49:00) [58]
> После изменения базы данных кассиром база сразу сохраняется
что за бред ?
что значит "база сразу сохраняется" ?
у тебя полнейшая каша в голове !
> без таймеров тут не обойтись, так как никаких событий в
> базе не происходит,
а НАХРЕНА какие-то события нужны ?
я так понимаю - "кассирские" события в базе нужны не иначе как бандитам, для того чтобы в ран-тайм отследить внесение некоей суммы куда-то ...
"нормальный" же юзер, "не подверженный влиянию криминала", получив исключение при подтверждении т/акции, и безо всякиз хрЕновых таймеров поймет, что состоянии некоего "аккумулятора" изменилось с момента старта им, изером, т/акции
короче, бросай все нафих и срочно устраняй вопиющиепробелы в своих знаниях в теории/механизмах многопользовательских СУБД
DelphiN! (2005-02-15 14:39:00) [59]
> [20] Digitman © (15.02.05 13:35)
После изменения базы данных кассиром база сразу сохраняется. А без таймеров тут не обойтись, так как никаких событий в базе не происходит, нужно просто обновлять значения ListView-a, по текущим значениям в базе(так как время меняется)
Digitman (2005-02-15 13:35:00) [60]боюсь, автор не различает понятия "таблица" как объект базы данных и собственно "база данных" (возможно, но не обязательно включающая кроме всего прочего и таблицы как объекты) ..
с этого бы и начать ему ..
да с транзакциями подружиться, коль скоро о многопольз. среде речь зашла ..
а не таймеры плодить ..