powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / Разработка информационных систем [игнор отключен] [закрыт для гостей] / Отображение графиков
25 сообщений из 37, страница 1 из 2
Отображение графиков
    #37077157
mikola1982
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Доброго времени суток.
В настоящее время встала задача разработать компонент который должен отображать данные загружаемые из БД в виде графика.
Приложение WinForms .NET.
Все вопросы вроде решили остался один.
Как лучше организовать передачу данных между БД и приложением. А именно допустим пользователь запросил данные из БД за определенный период, размер выборки может составить 100000 точек или более, а допустим разрешение монитора позволяет отобразить всего 1000 точек за раз. Получается или приложение должно будет сжать 100000 точек или более до 1000 или можно сделать это в БД.
Вопрос где лучше это делать в БД или приложении.
...
Рейтинг: 0 / 0
Отображение графиков
    #37077223
itnovice
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mikola1982,

как один из вариантов, можно просто поставить ограничение по дате для выбираемых данных. Например, не больше 3-х месяцев.
Это поможет решить Вашу проблему + ограничит пользователя ввести очень большой срок для выборки что бы прежде всего не завалить сам сервак
...
Рейтинг: 0 / 0
Отображение графиков
    #37077258
mikola1982
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
itnovicemikola1982,

как один из вариантов, можно просто поставить ограничение по дате для выбираемых данных. Например, не больше 3-х месяцев.
Это поможет решить Вашу проблему + ограничит пользователя ввести очень большой срок для выборки что бы прежде всего не завалить сам сервак

спасибо, ограничение сделаем.
но дело в том что данные пишутся раз в секунду, месяц это 2592000 точек.
...
Рейтинг: 0 / 0
Отображение графиков
    #37077291
itnovice
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mikola1982,

Ну смотри, можно лезть в настройки монитора, и определить какое разрешение установлено у клиента. На .NET как сделать не знаю но в жабе есть такая фича точно. Если параметры не подходять, тогда только одно - маштабирование
...
Рейтинг: 0 / 0
Отображение графиков
    #37077308
mikola1982
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
itnovicemikola1982,

Ну смотри, можно лезть в настройки монитора, и определить какое разрешение установлено у клиента. На .NET как сделать не знаю но в жабе есть такая фича точно. Если параметры не подходять, тогда только одно - маштабирование

Все верно.
вопрос в том где лучше сжимать данные на стороне БД или в приложении.
...
Рейтинг: 0 / 0
Отображение графиков
    #37077709
trayal
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
При "сжатии" на стороне БД не нужно будет передавать все точки приложению - это плюс, если количество точек уменьшится в разы.
Но нужно еще оценивать и алгоритм "сжатия". Если он нетривиален, или его выполнение требует больших ресурсов, то может быть имеет смысл реализовать его в приложении.
...
Рейтинг: 0 / 0
Отображение графиков
    #37077866
ViPRos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mikola1982,

"сжимать" над не данные а изображение
...
Рейтинг: 0 / 0
Отображение графиков
    #37077921
itnovice
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mikola1982,

а зачем сжимать данные? я имел ввиду поставить маштабирование на рисунок\график того что ты будешь выводить. Если у клиента монитор не позволяет все нормально отобразить тогда делать возможность приближения\удаления\производить перемешение по графику. вот что я имел ввиду
...
Рейтинг: 0 / 0
Отображение графиков
    #37078667
mikola1982
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ViPRosmikola1982,

"сжимать" над не данные а изображение
поясните.
может у меня подход не верен.
но самое простое что мне пришло в голову это определять количество точек которое может отображать экран, далее определять сколько точек есть в БД для заданного интервала, и если количество точек в БД больше чем помещается на экран, вычисляю соотношение сколько точек в БД приходится на одну точку на экране (для месяца если данные пишутся раз в 1 секунду и на экране может отобразится 1000 точек, то одной точке на экране соответствует 43.63 минуты). Далее нахожу для каждой точке на экране среднее точек в БД.
Реализовал пока на стороне БД (MS SQL Server 2005 Pentium D 3.4 ГГц ОЗУ 1Гб), время выборки 1 секунда в БД находится порядка 16 млн. записей.

Вот я и думаю правильный подход или надо тянуть милионы строк в приложение и там делать обработку.
...
Рейтинг: 0 / 0
Отображение графиков
    #37078671
ViPRos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mikola1982,

правильно
...
Рейтинг: 0 / 0
Отображение графиков
    #37079017
Фотография alexeyvg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mikola1982Вот я и думаю правильный подход или надо тянуть милионы строк в приложение и там делать обработку.Правильно.

Ещё один подход - хранить в базе несколько вариантов данных для разных разрешений. А уже для данного сохранённого разрешения можно делать и пересчёт (возможно).

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

Известные системы типа всяких карт так и делают.
...
Рейтинг: 0 / 0
Отображение графиков
    #37079516
mikola1982
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
большое всем спасибо.
как реализую отпишусь.
если хватит времени то попробуем сделать и так и так.
результаты выложить постараюсь.
...
Рейтинг: 0 / 0
Отображение графиков
    #37082785
pirovindos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Зависит от того, какие данные. Например, при простом прореживании, ты не отправишь из БД данные, которые больше всего интересуют пользователя. Какой-нибудь резкий всплеск. Решение нужно принимать исходя из прикладной задачи. Для чего график нужен пользователю?
...
Рейтинг: 0 / 0
Отображение графиков
    #37082906
Фотография alexeyvg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
pirovindosЗависит от того, какие данные. Например, при простом прореживании, ты не отправишь из БД данные, которые больше всего интересуют пользователя. Какой-нибудь резкий всплеск. Решение нужно принимать исходя из прикладной задачи. Для чего график нужен пользователю?Тут же не вопрос об алгоритме прореживания, а о том, где его делать - на клиенте или сервере, и в какой момент - при сохранении данных в базу или при запросе информации.

А алгоритм, понятно, нужно выбирать в зависимости от задачи. Это уже второстепенная вещь, это и поменять легко можно.
...
Рейтинг: 0 / 0
Отображение графиков
    #37083387
pirovindos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
alexeyvg,

По-моему, прежде чем решать ГДЕ реализовывать, нужно решить ЧТО реализовывать.
...
Рейтинг: 0 / 0
Отображение графиков
    #37083641
Фотография alexeyvg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
pirovindosalexeyvg,

По-моему, прежде чем решать ГДЕ реализовывать, нужно решить ЧТО реализовывать.Считаю, это несвязанные вещи.

Где реализовывать алгоритм - это архитектура системы. Если она зависит от конкретного алгоритма прореживания, то это плохая архитектура.

Плохая архитектура - это значит, что при изменении требований (типа подошёл бизнес-юзер и сказал - а вот с нового года мы не будем показывать всплески, если они вылазят больше чем на 50 процентов от среднего), программисты начинают ныть - нуууу, это надо всё переписывать....

Надо исходить из того, что конкретные алгоритмы пока изместны только приблизительно, и их уточнят после нескольких месяцев использования системы, причём уточнить могут очень сильно.

Вначале можно только определить базовые принципы - например, зависят ли алгоритмы от пользователя или они общие и т.п. - то, что влияет на архитектуру системы.
И то, хорошая архитектура позволит менять и такое, не выбрасывая то, что уже было сделано.
...
Рейтинг: 0 / 0
Отображение графиков
    #37083687
pirovindos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
alexeyvgВначале можно только определить базовые принципы - например, зависят ли алгоритмы от пользователя или они общие и т.п. - то, что влияет на архитектуру системы.

Согласен. Ровно это я и понимаю под "ЧТО реализовывать". Нужно определить границы возможных будущих изменений требований. Вполне возможно, что вывод будет такой: обработка в общем случае состоит из нескольких ступеней и эти ступени могут быть в разных частях системы.
...
Рейтинг: 0 / 0
Отображение графиков
    #37084011
mikola1982
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
данные о технологическом процессе.
допустим изменение температуры окружающей среды.

алгоритм пока еще не выбрали, если подскажете буду очень благодарен.
...
Рейтинг: 0 / 0
Отображение графиков
    #37084133
pirovindos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mikola1982данные о технологическом процессе.
допустим изменение температуры окружающей среды.

алгоритм пока еще не выбрали, если подскажете буду очень благодарен.

Пример понятен, но порождает набор следующих вопросов. Диапозон температур, диапазон градиентов? Пожары в окружающей среде бывают? И т.п.
Повторю свой вопрос. Для чего график нужен пользователю?
...
Рейтинг: 0 / 0
Отображение графиков
    #37084153
mikola1982
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
pirovindosПример понятен, но порождает набор следующих вопросов. Диапозон температур, диапазон градиентов? Пожары в окружающей среде бывают? И т.п.
Повторю свой вопрос. Для чего график нужен пользователю?

Диапазон от -50 до 50 температура.
Изменение может быть по 1 градусу в минуту.
Но температура слишком частный случай, приведу еще пару параметров: процент открытия (от 0 до 100), уровень жидкости, давление, напряжение, влажность в %, расход (от 0 до 1000) и т.д.
...
Рейтинг: 0 / 0
Отображение графиков
    #37084600
pirovindos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Для цего график нужен пользователю?
а) ни для чего не нужен
б) показывать начальнику, которому он тоже не нужен
в) напечатать и обклеить стены дома в сортире
....

я) для принятия срочных управленческих решений
...
Рейтинг: 0 / 0
Отображение графиков
    #37085727
mikola1982
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
pirovindos,

для просмотра изменения параметров во времени, оценки стабильности работы системы, принятия срочных решений, расследовании аварий.
...
Рейтинг: 0 / 0
Отображение графиков
    #37089666
mikola1982
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
куда-то пропал
...
Рейтинг: 0 / 0
Отображение графиков
    #37115757
pirovindos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если еще актуально, то
1. "принятия срочных решений"
не нужно делать запросы к базе в 10000 точек. Все это должно быть автоматически в онлайне, подгружаться постепенно и показываться в режиме скользящего окна. (Детали опускаю).

2. Расследование аварий - процесс неспешный, скорее всего потребуется не очень простая обработка (если не сегодня, то завтра), поэтому наверняка обработку лучще делать вне базы.

"для просмотра изменения параметров во времени, оценки стабильности работы системы" - если "на ходу", то в первую группу, если постфактум, то во вторую.
...
Рейтинг: 0 / 0
Отображение графиков
    #37115883
Фотография alexeyvg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
pirovindosЕсли еще актуально, то
1. "принятия срочных решений"
не нужно делать запросы к базе в 10000 точек. Все это должно быть автоматически в онлайне, подгружаться постепенно и показываться в режиме скользящего окна. (Детали опускаю).Понятно, что в режиме скользящего окна, ТС об этом писал. Он как раз спрашивал о деталях.
...
Рейтинг: 0 / 0
25 сообщений из 37, страница 1 из 2
Форумы / Разработка информационных систем [игнор отключен] [закрыт для гостей] / Отображение графиков
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]