Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Поддержка буферизации при добавлении данных #12

Closed
kafnevod opened this issue Dec 4, 2019 · 1 comment

Comments

@kafnevod
Copy link

kafnevod commented Dec 4, 2019

Цель

Обеспечить поддержку буферизации на уровне сервиса данных

Функциональные требования

При добавлении информации в таблицы ClickHouse необходимо буферизировать данные,
так как в противном случае вставки будут неэффективными.
Обычно для этих целей используются proxy-сервера. Но все они к сожалению поддерживают только HTTP-интерфейс.
У нас же драйвер использует Native TCP интерфейс.
Поэтому задача буферизации данных в настоящее время ложится на приложение.
Необходимо реализовать простой механизм формировния буфера записей по двум параметрам:

  • времени формирование буфера
  • число (или объем) записей в буфере
    После исчерпания одного из параметров накопленный буфер передается ClickHouse в виде
    INSERT ... VALUES (запись1), (запись2,)...

Проект на GitHub: https://github.com/Flexberry/NewPlatform.Flexberry.ORM.ClickHouseDataService
Ветка: master

Аналоги, примеры реализации

Примерная оценка трудоёмкости

16 часов

@bratchikov
Copy link
Member

Используются буферные таблицы ClickHouse.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants