Модераторы: Poseidon, Snowy, bems, MetalFan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> DB vs. Текстовый фйл 
:(
    Опции темы
TeX
Дата 15.12.2008, 08:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 16
Регистрация: 23.12.2007

Репутация: нет
Всего: нет



Здравствуйте, уважаемые !
Создал тему здесь, т.к. не знаю куда написать.
Суть такая, пишу систему контроляигровым залом, загвоздка стала в выборе средства хранения информации о времени и статусе сеанса. Выбор такой или хранить все в таблице базы данных, которая отображается в DBGrid-e, и каждую секунду пробегать по базе данных и увеличивать на одну секунду время сеанса. Или же отображать данные в обычном StringGrid-e в нем же увеличивать время каждую секунду, но при этом эту информацию дублировать в текстовом файле или в ini файле, чтоб при сбое информация о сеансах не потерялась.
Так вот вопрос в чем, что будет меньше потреблять системных ресурсов и что быстрее и надежнее ? Если использовать базу данных, не будет ли для нее напряжной такая нагрузка?
Если есть какие-то еще варианты - предлагайте ! 
PM MAIL   Вверх
Akella
Дата 15.12.2008, 09:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Творец
****


Профиль
Группа: Модератор
Сообщений: 18485
Регистрация: 14.5.2003
Где: Корусант

Репутация: 36
Всего: 329



Цитата(TeX @  15.12.2008,  08:55 Найти цитируемый пост)
каждую секунду пробегать по базе данных и увеличивать на одну секунду время сеанса.

 smile зачем?

Добавлено через 1 минуту и 45 секунд
Цитата(TeX @  15.12.2008,  08:55 Найти цитируемый пост)
в обычном StringGrid-e в нем же увеличивать время каждую секунду


Цитата(TeX @  15.12.2008,  08:55 Найти цитируемый пост)
эту информацию дублировать в текстовом файле или в ini файле


Цитата(TeX @  15.12.2008,  08:55 Найти цитируемый пост)
чтоб при сбое информация о сеансах не потерялась.

 smile думаю, что ты не прав в том, что каждую секунду собираешься писать в базу и/или в файл

Добавлено через 2 минуты и 33 секунды
а что, просто время начала + оплаченную продолжительность сеанса нельзя записать в базу?

Добавлено через 3 минуты и 27 секунд
я бы на твоём месте поискал в сети программы для контроля игровых залов и посмотрел, как там реализовано
PM MAIL   Вверх
Frees
Дата 15.12.2008, 09:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2233
Регистрация: 2.12.2005
Где: Екатеринбург

Репутация: 9
Всего: 54



Цитата(TeX @  15.12.2008,  10:55 Найти цитируемый пост)
каждую секунду пробегать по базе данных и увеличивать на одну секунду время сеанса

можно хранить просто время окончания сеанса, и зачем тебе точность до секунд? может минут достаточно будет?


--------------------
Кольцов Виктор Владимирович
PM MAIL ICQ   Вверх
TeX
Дата 15.12.2008, 09:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 16
Регистрация: 23.12.2007

Репутация: нет
Всего: нет



Секунды нужны чисто для спецэффектов, в Grid-e  подразумевается прогрессбар чтоб нагляднее было сколько осталось.
Хотя можно и поминутно это все делать.
Те исходники программ, что я нашел в сети не блещут хорошим решением данного вопроса. Все используют базу данных для хранения информации.
И тогда попутный вопрос, как лучше увеличивать время по таймеру или в отдельном потоке (в потоках).

Это сообщение отредактировал(а) TeX - 15.12.2008, 09:47
PM MAIL   Вверх
Frees
Дата 15.12.2008, 09:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2233
Регистрация: 2.12.2005
Где: Екатеринбург

Репутация: 9
Всего: 54



тогда по идее на диске у тебя должно лежать номер машинки и время старта окончания сеанса дак это можно грузить сохранять при помощи обычного TStringList тока не каждую секунду а только при изменений времени окончания и старта

а уже прогресс рисуеш в проге анализиру текущее время время старта и время окончания
если ничего больше хранить не надо то храни в тексте

ну а если ты захочеш например на клиентских машинках видеть такой же прогресс, или вести историю кто когда сколько за машинками сидел то тогда лучше какуюнить сетевую БД использовать


--------------------
Кольцов Виктор Владимирович
PM MAIL ICQ   Вверх
TeX
Дата 15.12.2008, 10:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 16
Регистрация: 23.12.2007

Репутация: нет
Всего: нет



Скажем так, это будет таблица в которой будет храниться инфа о текущих сеансах. Какая машина, когда сеанс начался, сколько прошло, когда закончится и сколько оплатили. Вот его надо будет дергать для увеличения прошедшего времени и отображения информации. Ну я думаю продвинутого DBGrid-a, будет вполне достаточно, если обновлять раз в минуту. Нагрузка не будет такой сильной. 
PM MAIL   Вверх
Frees
Дата 15.12.2008, 11:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2233
Регистрация: 2.12.2005
Где: Екатеринбург

Репутация: 9
Всего: 54



Цитата(TeX @  15.12.2008,  12:14 Найти цитируемый пост)
Какая машина, когда сеанс начался, сколько прошло, когда закончится и сколько оплатили

сколько прошло хранить не надо!!! это вычисляемое значение текущее время минус время старта получаеш сколько прошло

Добавлено через 3 минуты и 49 секунд
попробуй TClientDataSet использовать он умеет в фаил сохронять и загружать а сколько прошло времени сделать вычислимым полем!
и DBGrid будет обновлятся вместе с ним


--------------------
Кольцов Виктор Владимирович
PM MAIL ICQ   Вверх
TeX
Дата 15.12.2008, 11:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 16
Регистрация: 23.12.2007

Репутация: нет
Всего: нет



Тогда как лучше время увеличивать ? В таймере или в потоке с засыпанием потока на 40 секунд скажем.
PM MAIL   Вверх
Frees
Дата 15.12.2008, 12:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2233
Регистрация: 2.12.2005
Где: Екатеринбург

Репутация: 9
Всего: 54



Цитата(TeX @  15.12.2008,  13:56 Найти цитируемый пост)
Тогда как лучше время увеличивать ?

не увеличивать а перещитывать !! ИМХО в таймере лучше будет


--------------------
Кольцов Виктор Владимирович
PM MAIL ICQ   Вверх
Akella
Дата 15.12.2008, 12:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Творец
****


Профиль
Группа: Модератор
Сообщений: 18485
Регистрация: 14.5.2003
Где: Корусант

Репутация: 36
Всего: 329



Цитата(TeX @  15.12.2008,  09:40 Найти цитируемый пост)
Те исходники программ, что я нашел в сети не блещут хорошим решением данного вопроса. 

ты думаешь, что если ты будешь каждую секунду читать писать/ в базу то твоя будет блестать?

Добавлено через 1 минуту и 43 секунды
ну не понимаю, ну зачем в базу писать посекундно, хоть даже для наглядности, если можно всё отображать в реальном времени
PM MAIL   Вверх
TeX
Дата 15.12.2008, 13:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 16
Регистрация: 23.12.2007

Репутация: нет
Всего: нет



Цитата(Akella @ 15.12.2008,  12:52)
Цитата(TeX @  15.12.2008,  09:40 Найти цитируемый пост)
Те исходники программ, что я нашел в сети не блещут хорошим решением данного вопроса. 

ты думаешь, что если ты будешь каждую секунду читать писать/ в базу то твоя будет блестать?

Добавлено @ 12:54
ну не понимаю, ну зачем в базу писать посекундно, хоть даже для наглядности, если можно всё отображать в реальном времени

Одним слдовом, на основании ответов определился с тем как нужно все делать.
Спасибо за ответы. Тему можно закрыть.
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Общие вопросы"
SnowyMetalFan
bemsPoseidon
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0639 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.