Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Delphi Новый топик    Ответить
Топик располагается на нескольких страницах: Ctrl  назад   1 [2] 3   вперед  Ctrl      все
 Re: ServerMode и несколько миллионов записей  [new]
Мимопроходящий
Member

Откуда: бурятский тундрюк, эсквайр
Сообщений: 28462

06.12.2017 15:33, Квейд пишет:
> Юрий, объясни своим специфическим людям, что если некто начнет просматривать по одной записи в секунду,
> то для просмотра *всего набора* из миллиона записей человеку понадобится 12 дней непрерывного времени.

имхо, проблема тут не только в заказчике.
проблема ещё и в том, что Юра не видит иных путей для достижения цели,
окромя как использовать встроенные в этот аляповатый грид средства фильтрации, сортировки, агрегации...

Posted via ActualForum NNTP Server 1.5

6 дек 17, 15:36    [21011424]     Ответить | Цитировать Сообщить модератору
 Re: ServerMode и несколько миллионов записей  [new]
Мимопроходящий
Member

Откуда: бурятский тундрюк, эсквайр
Сообщений: 28462

06.12.2017 15:34, defecator пишет:
> Они в Excel строят аналитику

пивной ларёк Ltd

Posted via ActualForum NNTP Server 1.5

6 дек 17, 15:37    [21011433]     Ответить | Цитировать Сообщить модератору
 Re: ServerMode и несколько миллионов записей  [new]
JaDi
Member

Откуда: Сызрань, Россия
Сообщений: 3205
К слову, эксель может и сам напрямую к источникам данных подключаться, в т.ч. к базам данных.
6 дек 17, 15:40    [21011449]     Ответить | Цитировать Сообщить модератору
 Re: ServerMode и несколько миллионов записей  [new]
Мимопроходящий
Member

Откуда: бурятский тундрюк, эсквайр
Сообщений: 28462

06.12.2017 15:40, JaDi пишет:
> К слову, эксель может и сам напрямую к источникам данных подключаться, в т.ч. к базам данных.

сам напрямую не может.
только через ODBC/OLEDB

Posted via ActualForum NNTP Server 1.5

6 дек 17, 15:41    [21011461]     Ответить | Цитировать Сообщить модератору
 Re: ServerMode и несколько миллионов записей  [new]
JaDi
Member

Откуда: Сызрань, Россия
Сообщений: 3205
Мимопроходящий,

Про это и говорю. Например, автор может попробовать подготовить настроенный эксель с путями для подключения и отдавать эти файлы пользователям, раз им именно эксель нужен. В крайнем случае можно рядом выгрузить данные к csv или т.п. и так же через эксель подключиться к файлу. Это если там именно эксель нужен кому-то.
6 дек 17, 15:47    [21011511]     Ответить | Цитировать Сообщить модератору
 Re: ServerMode и несколько миллионов записей  [new]
Valery_B
Member

Откуда: Москва
Сообщений: 1405
Леонов Юрий
Можно ли настроить cxGrid, чтобы он открывал сразу набор, а только потом высасывал по необходимости данные. Стоит задача открывать данные быстро.

Он и так это делает по умолчанию.
Грид здесь не причём, он рисует ровно столько данных, сколько помещается на экране.
Сделай отвязанный от визуальных компонентов Dataset.Open и сиди секундомером. Это и есть то, что ты называешь "открывать данные".

Леонов Юрий
Фильтрация, выгрузка в Excel и т.п.

Определись, что именно - отображать или выгрузить ?
Если предполагается фильтрация, то её точно надо делать на сервере.
6 дек 17, 15:49    [21011525]     Ответить | Цитировать Сообщить модератору
 Re: ServerMode и несколько миллионов записей  [new]
Квейд
Member

Откуда: Kyiv, Ukraine
Сообщений: 5050
defecator
Квейд
пропущено...


Юрий, объясни своим специфическим людям, что если некто начнет просматривать по одной записи в секунду, то для просмотра всего набора из миллиона записей человеку понадобится 12 дней непрерывного времени.

а им не надо просматривать ВСЕ записи.
Они в Excel строят аналитику, а для этого нужны все возможные записи
ТС пишет, что ему нужны эти записи в Grid, а не в Excel. Или я что-то недопонял?
6 дек 17, 15:55    [21011563]     Ответить | Цитировать Сообщить модератору
 Re: ServerMode и несколько миллионов записей  [new]
defecator
Member

Откуда:
Сообщений: 35495
Квейд
defecator
пропущено...

а им не надо просматривать ВСЕ записи.
Они в Excel строят аналитику, а для этого нужны все возможные записи
ТС пишет, что ему нужны эти записи в Grid, а не в Excel. Или я что-то недопонял?

Возможно, спорить не буду.
Но слова "выгрузка в Excel" там присутствуют
6 дек 17, 16:00    [21011594]     Ответить | Цитировать Сообщить модератору
 Re: ServerMode и несколько миллионов записей  [new]
Леонов Юрий
Member

Откуда: Украина, Харьков
Сообщений: 310
Квейд
defecator
пропущено...

а им не надо просматривать ВСЕ записи.
Они в Excel строят аналитику, а для этого нужны все возможные записи
ТС пишет, что ему нужны эти записи в Grid, а не в Excel. Или я что-то недопонял?


Можно конечно сделать фоновую выгрузку в Excel (благо уже есть механизм и скорее всего им и воспользуюсь). Вопрос ставился относительно отображения данных в TcxGridServerModeTableView, потому и выгрузка планировалась встроенным механизмом грида
6 дек 17, 16:13    [21011680]     Ответить | Цитировать Сообщить модератору
 Re: ServerMode и несколько миллионов записей  [new]
Леонов Юрий
Member

Откуда: Украина, Харьков
Сообщений: 310
В дополнение к предыдущему посту.
Сортировать и фильтровать он хотят по набору данных в гриде, потому о фильтрации и сортировке в самом запросе речь не стоит
6 дек 17, 16:15    [21011693]     Ответить | Цитировать Сообщить модератору
 Re: ServerMode и несколько миллионов записей  [new]
вввУ
Guest
Леонов Юрий
В дополнение к предыдущему посту.
Сортировать и фильтровать он хотят по набору данных в гриде, потому о фильтрации и сортировке в самом запросе речь не стоит

Да всё уже, не получится ничего. Если 2 страницы тебя отговаривают - никто тебе уже ничего не посоветует. Народная примета.
6 дек 17, 16:26    [21011729]     Ответить | Цитировать Сообщить модератору
 Re: ServerMode и несколько миллионов записей  [new]
Мимопроходящий
Member

Откуда: бурятский тундрюк, эсквайр
Сообщений: 28462

голосую: убить (С)

Posted via ActualForum NNTP Server 1.5

6 дек 17, 16:33    [21011764]     Ответить | Цитировать Сообщить модератору
 Re: ServerMode и несколько миллионов записей  [new]
s62
Member

Откуда: Жуковский
Сообщений: 715
вввУ
Леонов Юрий
В дополнение к предыдущему посту.
Сортировать и фильтровать он хотят по набору данных в гриде, потому о фильтрации и сортировке в самом запросе речь не стоит

Да всё уже, не получится ничего. Если 2 страницы тебя отговаривают - никто тебе уже ничего не посоветует. Народная примета.
Я могу посоветовать: сортировать и фильтровать запросами на сервере. Юзеры не обязаны понимать и, вполне вероятно, не понимают технических сторон вопроса, нужно (или можно) им сказать, что вот так для них будет хорошо. ))
6 дек 17, 16:48    [21011833]     Ответить | Цитировать Сообщить модератору
 Re: ServerMode и несколько миллионов записей  [new]
вввК
Guest
s62
вввУ
пропущено...

Да всё уже, не получится ничего. Если 2 страницы тебя отговаривают - никто тебе уже ничего не посоветует. Народная примета.
Я могу посоветовать: сортировать и фильтровать запросами на сервере. Юзеры не обязаны понимать и, вполне вероятно, не понимают технических сторон вопроса, нужно (или можно) им сказать, что вот так для них будет хорошо. ))

У тебя уже все признаки профдеформации - тебе пора либо в РосКосмос на работу, либо в больницу лечиться, либо на покой роботов собирать :)
6 дек 17, 16:56    [21011865]     Ответить | Цитировать Сообщить модератору
 Re: ServerMode и несколько миллионов записей  [new]
s62
Member

Откуда: Жуковский
Сообщений: 715
вввК,
пользователь вообще не знает, сортирует он данные на сервере или на клиенте. Он видит перед собой окно программы, фильтры и таблицу (грид). Ему нужно, чтобы можно было сортировать и фильтровать. А как оно устроено "в потрохах" - на сервере или клиенте, через SQL или LINQ, на Дельфи или на Java, вообще его не касается, лишь бы работало, как нужно.
6 дек 17, 17:06    [21011932]     Ответить | Цитировать Сообщить модератору
 Re: ServerMode и несколько миллионов записей  [new]
Леонов Юрий
Member

Откуда: Украина, Харьков
Сообщений: 310
вввУ
Леонов Юрий
В дополнение к предыдущему посту.
Сортировать и фильтровать он хотят по набору данных в гриде, потому о фильтрации и сортировке в самом запросе речь не стоит

Да всё уже, не получится ничего. Если 2 страницы тебя отговаривают - никто тебе уже ничего не посоветует. Народная примета.


Я писал про начальные условия, если вы не обратили на это свое внимание. Выше я уже согласился с JaDi по использованию обычного (не ServerMode) грида.

Всем спасибо за участие, буду копать. Если не сильно увлекусь копанием и не забуду, то обязательно в этой ветке отпишусь по результату.
6 дек 17, 17:09    [21011951]     Ответить | Цитировать Сообщить модератору
 Re: ServerMode и несколько миллионов записей  [new]
fd00ch
Member

Откуда: Нижний Новгород
Сообщений: 5864
DimaBr
Excel столько строк не вытянет
вытянет. но какими компонентами ТС хочет в дельфях создать такой xlsx-файл и сколько памяти должно быть на клиенте? ну, если там не полтора числовых столбца, конечно
6 дек 17, 20:21    [21012673]     Ответить | Цитировать Сообщить модератору
 Re: ServerMode и несколько миллионов записей  [new]
Прогер123
Guest
На мой взгляд имеет смысл рассмотреть промежуточный датасет(кэш), например:
http://www.aidaim.com/in-memory_sql_database_delphi.htm
7 дек 17, 09:10    [21013562]     Ответить | Цитировать Сообщить модератору
 Re: ServerMode и несколько миллионов записей  [new]
Прогер123
Guest
Прогер123
На мой взгляд имеет смысл рассмотреть промежуточный датасет(кэш), например:
http://www.aidaim.com/in-memory_sql_database_delphi.htm


Если функционал сводится к чтению, то присовокупить производительный SSD
7 дек 17, 09:12    [21013565]     Ответить | Цитировать Сообщить модератору
 Re: ServerMode и несколько миллионов записей  [new]
vavan
Member

Откуда: Казань
Сообщений: 2912
Леонов Юрий
есть самописный компонент, потомок TdxServerModeDataSource. Сделан по аналогии с TdxServerModeADODataSource. Разница только в подключении к БД
аналог KA18700? шож там тормозит 7 минут, сам доа?
7 дек 17, 09:28    [21013602]     Ответить | Цитировать Сообщить модератору
 Re: ServerMode и несколько миллионов записей  [new]
defecator
Member

Откуда:
Сообщений: 35495
vavan
Леонов Юрий
есть самописный компонент, потомок TdxServerModeDataSource. Сделан по аналогии с TdxServerModeADODataSource. Разница только в подключении к БД
аналог KA18700? шож там тормозит 7 минут, сам доа?

DOA сам по себе тормозной и жутко прожорливый по памяти
7 дек 17, 10:10    [21013772]     Ответить | Цитировать Сообщить модератору
 Re: ServerMode и несколько миллионов записей  [new]
vavan
Member

Откуда: Казань
Сообщений: 2912
defecator, а у нас изрядная часть приложений к-е было в лом переводить на anydac так на нем и осталась, с какими-то моими примочками правда

непонятно на чем там у OP такие задержки, скорее думается на выполнении запроса ораклом. server mode впрочем никогда не юзал из-за ограничений, может и он что негативно так вносит
7 дек 17, 10:40    [21013897]     Ответить | Цитировать Сообщить модератору
 Re: ServerMode и несколько миллионов записей  [new]
Леонов Юрий
Member

Откуда: Украина, Харьков
Сообщений: 310
vavan,

перешел бы давно на UniDAC. Но проекту уже 7 лет, писало до меня человек 5.
Я предлагал руководству переписать с нуля и на других компонентах. Жмутся, типа времени много займет...
А клиент привередливый, но жирный... Вот и приходится изворачиваться
7 дек 17, 12:43    [21014638]     Ответить | Цитировать Сообщить модератору
 Re: ServerMode и несколько миллионов записей  [new]
MirnyiAtom
Member

Откуда:
Сообщений: 18
Леонов Юрий,

Мне кажется, вы немного не понимаете что вам тут объясняют.

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

Выгружать в файл данные нужно не из грида, а запросом при помощи курсора, встали на запись в базе - записали строку в файл, встали на следующую - записали и т.д. Это упрощенно, конечно, потому что нужно не по одной записи таскать а порциями, разменивая скорость на память.
И эксель, желательно, формировать при помощи промежуточного тестового файла. Сформировали файл, открыли эксель, импортировали туда данные из промежуточного файла. Если перевалили за 1кк строк, можно разбивать по листам или еще чего делать. Или управлять этим делом на этапе формирования файла.

И вся эта кухня должна быть скрыта от пользователей, им будет казаться что они работают с полным набором данных. Это техническая реализация, пользователям она не интересна.
7 дек 17, 13:12    [21014825]     Ответить | Цитировать Сообщить модератору
 Re: ServerMode и несколько миллионов записей  [new]
чччД
Guest
MirnyiAtom,

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

"Времени на глобальную переделку нет" (см. выше).

Остается дождаться, когда время реакции изменится с 7 минут на 30. Хотя, если клиент такое терпит, он и дальше терпеть будет.
7 дек 17, 14:28    [21015174]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: Ctrl  назад   1 [2] 3   вперед  Ctrl      все
Все форумы / Delphi Ответить