2 / 2 / 1
Регистрация: 27.08.2016
Сообщений: 37
|
|
1 | |
PostgreSQL Обработка большого объёма данных (10гб)29.11.2017, 18:55. Показов 1064. Ответов 11
Метки нет (Все метки)
Добрый день. Прошу прощения, если пишу не туда или не нашёл ответа через поиск.
Суть вопроса. Пришел ко мне заказчик со следующей задачей: Нужно хранить и обрабатывать данные множества параметров технологического оборудования. Пускай это будут условные давление и температура. В качестве БД предполагается использовать PostgreSQL (требование заказчика). Проблема заключается в том, что из этой базы данных нужно делать выборку например 10гб данных за год или несколько лет, строить по ним графики и экспортирвать по ним отчёты. Естественно работать это у пользователей должно быстро, а рабочие станции персонала не должны обладать 32гб ОЗУ. Раньше с такими объёмами данных не работал. Подскажите пожалуйста, в какую сторону копать. Добавлено через 13 минут Первое что приходит в голову - это мощный сервер(или кластер) для обработки всего этого и ASP.NET. Соответственно работать пользователи будут в браузере. Однако нутром чувствую, что не всё так просто. Добавлено через 2 часа 17 минут Хотя GUI можно сообразить и на PHP или посмотреть в сторону готовых веб-инструментов
0
|
29.11.2017, 18:55 | |
Ответы с готовыми решениями:
11
Вставка большого объема информации в базу данных MySQL Сохранение большого объема данных в БД, используя Entity Framework Какой лучший способ хранения большого объема данных? Обработка большого объема данных |
3462 / 2473 / 695
Регистрация: 02.08.2011
Сообщений: 6,704
|
|
29.11.2017, 19:02 | 2 |
Ну все 10 гб за раз ни один пользователь не сможет обработать физически, общий подход к такого рода задачам - вывод данных постранично, либо какие-то агрегированные отчеты.
Даже если каким-то образом вам действительно понадобится все 10Гб информации (что есть полный бред)- такое будет возможно только на 64x системах, поскольку в 32x системах пользовательская часть любого процесса имеет объем всего 2Гб. Вообщем, не заморачивайте себе голову этим вопросом и пишите сайт с Postgres на бэкэнде. Видимо, вы просто не подкованы технически, а многие клиенты по большей части сами не до конца понимают, что им нужно.
1
|
360 / 287 / 76
Регистрация: 21.06.2016
Сообщений: 1,115
|
|
30.11.2017, 12:55 | 3 |
Ух ты.
Ну хорошо, возьмем 2 поля, каждое будем хранить со знаком, итого - 16 байт на 1 запись. Представим, что нужно 10 Гб, значит таких записей должно быть 10 000 000 000 / 16 = 625 млн штук Прикинем, что это за 2 года, в которых 365* 2 = 730 дней. Итого, в одном дне будет 856 тыс записей, или 594 записи в минуту, грубо 10 записей в секунду. И с такой точностью нужно выводить графики???? Если общий график за год, то думаю что 1 точка в час - это даже больше, чем нужно. Что-то не сходится в задаче П.С. И это без учета того, что 10 гб - это больше, чем я написал, так что будет около 12-14 записей в сек.
0
|
2 / 2 / 1
Регистрация: 27.08.2016
Сообщений: 37
|
|
01.12.2017, 10:09 [ТС] | 4 |
спасибо за ответы. Дело в том что цифра в 10гб взялась не из воздуха, а из уст заказчика. По графикам согласен - делать выборку за 2 года и брать записи за каждую секунду не имеет смысла с точки зрения сценария использования. Если человек берёт такой промежуток времени, то врядли ему интересно знать что там происходило ежесекундно. Однако в случае с генерацией некого отчёта, то там может быть табличка в которой например 15 столбцов с различными параметрами и всё это за прошедший год (бумажная бюрократия уничтожит лес - 100%).
Сейчас у них система работает на оракловской базе, а доступ пользователей осуществляется через клиентское ПО по сети. То есть это требование про 10гб у них взялось явно не с пустого места, раз это не новая для них история. Собственно есть 3 причины по которым они хотят сделать модернизацию: 1) оракл выставил некислый счёт и они хотят перейти на постгри 2) нынешняя архитектура системы в принципе не позволяет работать с такими большими объёмами информации 3) как вчера оказалось работать они хотят не только на десктопах, но и на планшетах Я согласен, что к сценариям использования есть большие вопросы и это ещё предстоит досконально выяснить. Сейчас надо выделить некое концептуальное решение, развернуть его на своём ноутбуке и показать как это работает. То есть в целом моя идея верная? Из готового пока что наткнулся на вот такой инструмент PostgreeSQL PHP Generator
0
|
12079 / 8388 / 1281
Регистрация: 21.01.2016
Сообщений: 31,601
|
|
01.12.2017, 11:37 | 5 |
Phenman, тут просится клиент-серверная архитектура (не важно, на базе веба или десктопа), база обложенная индексами по самое небалуйся и, возможно, разделение базы на несколько: основная и архивные за года.
Больше сказать нечего без конкретики. Добавлено через 1 минуту А что, если веб - то только PHP? В .NET для этого вообще ничего не предусмотрено?
1
|
2 / 2 / 1
Регистрация: 27.08.2016
Сообщений: 37
|
|
01.12.2017, 13:30 [ТС] | 6 |
спасибо за идею
конечно предусмотрено. Вопрос только что выгоднее. Добавлено через 4 минуты иначе бы не задавал здесь глупых вопросов
0
|
12079 / 8388 / 1281
Регистрация: 21.01.2016
Сообщений: 31,601
|
|
01.12.2017, 13:31 | 7 |
Phenman, выгоднее использовать .NET, так как на нём можно и обычный сервер создать и веб-приложение и клиентов декстопных.
0
|
2 / 2 / 1
Регистрация: 27.08.2016
Сообщений: 37
|
|
01.12.2017, 13:40 [ТС] | 8 |
в глобальном смысле вы совершенно правы, однако пока не известны подробности насчёт сценариев и условий использования системы, а от этой информации зависит всё. Так что пока важно определиться с общей концепцией и показать её заказчику. Без этого доступа к дальнейшей информации, увы, нет. Идиотизм конечно, но ничего не поделаешь.
0
|
12079 / 8388 / 1281
Регистрация: 21.01.2016
Сообщений: 31,601
|
|
01.12.2017, 13:54 | 9 |
От этой информации зависит ничего (с моей точки зрения). Если заказчик возжелает веб-приложение - ASP.NET MVC, если десктопное - WinForms\WPF, клиент для мобилок - Xamarin. Т.е. C# тут везде уместен, куда не плюнь.
0
|
2 / 2 / 1
Регистрация: 27.08.2016
Сообщений: 37
|
|
01.12.2017, 13:59 [ТС] | 10 |
если рассматривать с точки зрения что надо чем-то занять .NET разработчика (а точнее группу разработчиков), то да. В противном же случае пока что не вижу острой необходимомсти в десктопном WPF клиенте и мобильном Xamarin клиенте. Я к тому что зачем увеличивать себестоимость решения, если по итогу исходя из всех условий может хватить веб-клиента
0
|
12079 / 8388 / 1281
Регистрация: 21.01.2016
Сообщений: 31,601
|
|
01.12.2017, 14:03 | 11 |
Phenman, я это к тому, что что-бы не выбрал заказчик - всё можно написать на .NET.
Это к вопросу:
0
|
01.12.2017, 14:53 | 12 |
Phenman,
Не по теме: лучше напишите ему качественную клиентскую часть под его нужды (веб, десктоп, мобильные платформы), а сервер архивирования уговорите приобрести специализированный
0
|
01.12.2017, 14:53 | |
01.12.2017, 14:53 | |
Помогаю со студенческими работами здесь
12
Обработка большого объема данных (теги сайта) Обработка большого объема без нагрузки Хранение большого объема данных Чтение большого объема данных Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |