powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Delphi, FireBird создать таблицу в памяти клиента
25 сообщений из 368, страница 2 из 15
Delphi, FireBird создать таблицу в памяти клиента
    #39279541
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Arioch,

и какая связь между количеством БД 1С'овских и архитектурой?
...
Рейтинг: 0 / 0
Delphi, FireBird создать таблицу в памяти клиента
    #39279544
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Симонов Денися как бы склонен к тому что ТС не идиот чтобы использовать супер в 2.1

Я практически уверен в обратном.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Delphi, FireBird создать таблицу в памяти клиента
    #39279547
Arioch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dgdogПусть на каждой из "200 БД" запускается служба подготовки к выгрузке.

(базы разные от 1С, Firebird, ... и до простых текстовых файлов экспорта из клиентбанков)

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

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

Остальные базы лежат где-как и в локальной сети и на удаленках... я из них только данные тяну на клиента, а уже потом фигачу в БД

БД сдохла, забудь. Эту работу можно теперь делать только на других машинах.

Либо на самих источниках данных по мега-файлу запроса к репликации - НЕ ТРОГАЯ ОСНОВНОЙ СЕРВЕР вообще

Либо создавать второй сервер, на него выгружать полную копию основной БД - см. nbackup - и там молотить твои 40 минут опять таки НЕ ТРОГАЯ ОСНОВНОЙ СЕРВЕР, сохраняе изменения в файл-пакет, и уже готовую выжимку не требующую больше проверок - отсялать на основной.

Во втором случае, однако, потенциально будут две проблемы:

1) пока твои 40 минут шли бухи что-то сделали с основной БД и пакет подготовленный по слепку 40-минутной давности уже не подходит 1 в 1, нужно его обрабатывтаь напильником. Может такое быть или нет? Не знаю, только ты знаешь с какими данными кто работает в твоей системе.
2) сегодня у тебя 200 баз, а завтра 20 000 - и второй сервер так же захлебнётся.

То есть второй вариант - это быстро заткнуть дырку и отдышаться. А в конечном итоге тебе все равно придется работу распараллеливать.
...
Рейтинг: 0 / 0
Delphi, FireBird создать таблицу в памяти клиента
    #39279548
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Hello, Симонов Денис!
You wrote on 25 июля 2016 г. 12:24:36:

Симонов Денис> я как бы склонен к тому что ТС не идиотты склонен недооценивать влияние мировой энтропии
на всеобщую идиотию человеческих индивидуумов.

Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Delphi, FireBird создать таблицу в памяти клиента
    #39279551
Arioch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Симонов Дениси какая связь между количеством БД 1С'овских и архитектурой?

прямой нету

но примерно в такой же пропорции увеличивались и остальные рабочие места - в том числе работающие с его ФБ-самопиской.
...
Рейтинг: 0 / 0
Delphi, FireBird создать таблицу в памяти клиента
    #39279552
dgdog
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
[quot Dimitry Sibiryakov]
dgdogДелаю Select к своей базе проверяю по 3 значениям (индексы, план все вроде в порядке,
запрос летит шустро, НО ИХ МНОГО).

Покажи код, которым это делаешь и план запроса.
Клиент формирует
Код: pascal
1.
 select * from SDELKA where PP='ëÿëÿëÿ' and RASHOD=10003 and DATA='25.05.2016' 



отсылает
авторPlan
PLAN (SDELKA INDEX (SDELKA_IDX2))

Adapted Plan
PLAN (SDELKA INDEX (SDELKA_IDX2))

------ Performance info ------
Prepare time = 15ms
Execute time = 0ms
Current memory = 1 846 464
Max memory = 3 084 544
Memory buffers = 75
Reads from disk to cache = 3
Writes from cache to disk = 0
Fetches from cache = 15
...
Рейтинг: 0 / 0
Delphi, FireBird создать таблицу в памяти клиента
    #39279556
dgdog
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Dimitry SibiryakovСимонов Денися как бы склонен к тому что ТС не идиот чтобы использовать супер в 2.1

Я практически уверен в обратном.

Классик
...
Рейтинг: 0 / 0
Delphi, FireBird создать таблицу в памяти клиента
    #39279564
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dgdogКлиент формирует
За использование непрепарированных запросов в таких условиях надо отрывать руки. Используй
параметры и получишь нужное ускорение.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Delphi, FireBird создать таблицу в памяти клиента
    #39279566
Arioch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Надеюсь, запросы не текстом каждый раз наново формируются, а используют параметры и prepare ?


группируй свои запросы, хотя бы по дате

Код: sql
1.
2.
3.
 ... where PP = :PP 
        and (RASHOD betwen :RASHOD_MIN and :RASHOD_MAX)
        and (DATA between :DATA_MIN and DATA_MAX)
...
Рейтинг: 0 / 0
Delphi, FireBird создать таблицу в памяти клиента
    #39279568
Arioch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: sql
1.
2.
3.
 ... where PP = :PP 
        and (RASHOD between :RASHOD_MIN and :RASHOD_MAX)
        and (DATA     between :DATA_MIN and :DATA_MAX)



http://bobby-tables.com/ru_RU/delphi.html
...
Рейтинг: 0 / 0
Delphi, FireBird создать таблицу в памяти клиента
    #39279575
dgdog
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
AriochdgdogПусть на каждой из "200 БД" запускается служба подготовки к выгрузке.

(базы разные от 1С, Firebird, ... и до простых текстовых файлов экспорта из клиентбанков)

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

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

Практически так оно и есть. Запускается десять разных клиентов которые тащат конкретные данные из конкретных источников. Но мне каждую строчку надо сверить с моей базой. Они наваливаются разом ... и привет ЦП.

Логика проверки вся на клиенте. В Firebird у меня мозгов не хватит все перетянуть.

ЦП кстати гавно I5. Лучше ближайшие три месяца не будет. ВотТакВота
...
Рейтинг: 0 / 0
Delphi, FireBird создать таблицу в памяти клиента
    #39279577
Arioch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ну и до кучи

линейный поиск на клиенте (типа FieldByName и ParamByName в Delphi) тоже использовать в цикле НЕЛЬЗЯ

если подобное у тебя есть - убирай его наружу циклов
...
Рейтинг: 0 / 0
Delphi, FireBird создать таблицу в памяти клиента
    #39279579
Arioch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dgdogПрактически так оно и есть. Запускается десять разных клиентов которые тащат конкретные данные из конкретных источников. Но мне каждую строчку надо сверить с моей базой

НЕ НАДО

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

сервер должен подготовить ОДИН общий zip-файл с требованием к репликации и всей сопутствующей инфой, которого будет достаточно ЛЮБОМУ клиенту для проверки всех его записей НЕ ТРОГАЯ сам сервер
...
Рейтинг: 0 / 0
Delphi, FireBird создать таблицу в памяти клиента
    #39279580
Arioch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dgdogЗапускается десять разных клиентов которые тащат

ЦП кстати гавно I5

ну так запускай свои 10 клиентов на 10 разных процессоров

если даже один i5 для тебя мелочь несущественная, то 10 штук i5 побыстрее будут
...
Рейтинг: 0 / 0
Delphi, FireBird создать таблицу в памяти клиента
    #39279584
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ariochсервер должен подготовить ОДИН общий zip-файл с требованием к репликации и всей
сопутствующей инфой, которого будет достаточно ЛЮБОМУ клиенту для проверки всех его
записей НЕ ТРОГАЯ сам сервер
Во-первых, вы с ТСом клиентами называете разные вещи.
Во-вторых, у него на подготовку файла уйдёт больше ресурсов, чем сейчас.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Delphi, FireBird создать таблицу в памяти клиента
    #39279585
Фотография Di_LIne
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dgdogЦП кстати гавно I5. Лучше ближайшие три месяца не будет.
- Сам ты такое слово. (падобраму канешна) :-)
Потому как нефег сваливать на ЦП свое не знание и не понимание, прикрываясь "Он железный, вот пусть и пашет..."
...
Рейтинг: 0 / 0
Delphi, FireBird создать таблицу в памяти клиента
    #39279587
dgdog
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
AriochНадеюсь, запросы не текстом каждый раз наново формируются, а используют параметры и prepare ?


группируй свои запросы, хотя бы по дате

Код: sql
1.
2.
3.
 ... where PP = :PP 
        and (RASHOD betwen :RASHOD_MIN and :RASHOD_MAX)
        and (DATA between :DATA_MIN and DATA_MAX)



Пробовал и собирать строку и через параметры. А смысл? Нагрузка то на сервер не уменьшается. Сейчас параметрами шьет. Но один фик, там математика сначала обрабатывает ибо надо обрезать пробелы, проверить формат прилетевший из 1С по COM. Еще этот долбаный NULL ))) Чего и как нафигачили в назначении платежа и т.п. Но это отлаженная логика. Дело только в забое ЦП кучей запросов. Которые я хочу свести к одному запросу. Вытянуть данные по Клиенту от даты, до даты на клиента и там в памяти разобрать. Подготовить файл-табличку и её залить в БД.
...
Рейтинг: 0 / 0
Delphi, FireBird создать таблицу в памяти клиента
    #39279588
Arioch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry SibiryakovВо-вторых, у него на подготовку файла уйдёт больше ресурсов, чем сейчас.


судя по вышесказанному файл по сути будет линейной срезкой нескольких таблиц за три последних месяца

так что ресурсы если какие и будут нужны - то disk i/o и больше ничего

у него затык в процессоре => поставить отдельный винчестер исключительно под формирование пакета и прием ответных пакетов означает разгрузить его бутылочное горлышко, что ему и требуется
...
Рейтинг: 0 / 0
Delphi, FireBird создать таблицу в памяти клиента
    #39279593
Arioch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dgdogНагрузка то на сервер не уменьшается. Сейчас параметрами шьет.

Prepare делаешь ? как минимум Prepare добавляет нагрузку серверу на каждый отдельный запрос

либо решай радикально - избавляй сервер от этой работы вообще

либо грызись за каждый каждый процент, в том числе и по возможности убирай каждый лишний случай парсинга SQL-запросов на сервере
...
Рейтинг: 0 / 0
Delphi, FireBird создать таблицу в памяти клиента
    #39279594
dgdog
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Di_LInedgdogЦП кстати гавно I5. Лучше ближайшие три месяца не будет.
- Сам ты такое слово. (падобраму канешна) :-)
Потому как нефег сваливать на ЦП свое не знание и не понимание, прикрываясь "Он железный, вот пусть и пашет..."

А кто? Я за него, чтоли буду считать и тригерры с процедурами на логарифмической линейке высчитывать
...
Рейтинг: 0 / 0
Delphi, FireBird создать таблицу в памяти клиента
    #39279595
dgdog
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Dimitry SibiryakovdgdogКлиент формирует
За использование непрепарированных запросов в таких условиях надо отрывать руки. Используй
параметры и получишь нужное ускорение.


Ускорение чего? Как быстро запрос долетит до сервера???? Так в этом нет беды... Сервак, что так, что эдак переварить не успевает.
...
Рейтинг: 0 / 0
Delphi, FireBird создать таблицу в памяти клиента
    #39279596
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dgdogПробовал и собирать строку и через параметры. А смысл? Нагрузка то на сервер не уменьшается.

Значит плохо пробовал. Потому что от применения препарированных запросов нагрузка должна
уменьшаться. В твоём случае - в 15 раз. Код показывай.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Delphi, FireBird создать таблицу в памяти клиента
    #39279597
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
троллетопег.
имхо.
ТС - картонная дурилка.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Delphi, FireBird создать таблицу в памяти клиента
    #39279598
Arioch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dgdog,

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

потому что как-то это все странно звучит, если вместе

и i5 - дерьмо (вы русские есть очень много кушать!)
и одного нового процессора не получишь, хотя фирма растёт на дрожжах и заела себе сотни новых компьютеров с базами данных на них

странно это звучит вместе взятое
...
Рейтинг: 0 / 0
Delphi, FireBird создать таблицу в памяти клиента
    #39279599
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dgdogУскорение чего? Как быстро запрос долетит до сервера????

Ускорение обработки запроса сервером. За счёт понижения нагрузки на ЦПУ, который, по твоим
словам, и является у тебя бутылочным горлышком.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
25 сообщений из 368, страница 2 из 15
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Delphi, FireBird создать таблицу в памяти клиента
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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