Про стриминг (в последний раз)
Пожалуй пора закрывать историю с интеграцией кафки - основные подводные камни изучены, лимиты найдены, но источник лимитов нет :)
Часть первая про ограничение количества задач на загрузку.
Добавляя один поток за другим наконец уперлись в первый лимит - max_routine_load_task_concurrent_num. В starrocks по умолчанию значение этого ключа равно 5, и общее количество задач на загрузку равно значению ключа, умноженному на количество FE нод. В случае дефолта с 3 нодами - совсем не густо потоков запихнуть можно. Почему так? Вот тут есть рекомендации по оптимальной настройке загрузок, основной упор - routine load начнут забирать много ресурсов, которые лучше пустить на полезную работу по расчету запросов. Если вдуматься, то вполне согласен. С другой стороны мониторинг ресурсов кластера показывает, что ни память, ни процессор не утилизированы даже на 5-10% (если мы говорим про время, когда не идут запросы). И еще если посмотреть на аналогичные настройки в doris - там значение ключа выставлено в 1024. То есть вам надо сильно постараться, чтобы упереться в этот самый лимит. И тут либо ребята из апача упоролись в оптимизацию, либо ребята из ср перестраховались. НО, 1024 вы точно никогда не достигните потому что
Часть вторая про UX.
Начиная с 10+ задач routine load администрировать становится очень неудобно. Задачи привязаны исключительно к схеме (если посмотрите в документацию все команды работают только в пределах одной). И, например, при обновлении кластера поймали историю, когда несколько задач остановилось, а часть работает, и пойди найди что где как. В итоге требуется или все загрузки размещать в одной схеме, или бегать повсюду - неудобно. Для себя решили, что мелкие проекты будут загружаться встроенным движком, а основной поток по старинке через самопис на go - благо писать всего ничего, назвал starship :)
На этом историю закрываем, пора переходить к CDC из наших mysql.
Post #48
430

- 👍 4
- ❤ 1