Как стать автором
Обновить
3
0
Шабалин Борис Николаевич @AIring

Пользователь

Отправить сообщение

А про clickhouse и его разработку думается - что там нет волшебной пелюли от дублей, потому что там как раз есть версии.

Скорее просто этой задаче не выделялось достаточно ресурсов. В принципе, тот же подход с фильтрацией по версиям можно было реализовать на уровне базы и скрыть от пользователя.
А вообще уникальные ключи есть в roadmap на 2023 и даже есть PR на новый движок таблиц от неравнодушного пользователя.

Мой комментарий относился к этому

Вставка в клик происходит в рамках монговской транзакции, в случае ошибки клика, откатим монгу.

Не очень понятно в чем разница между коммитом транзакции в mongo и коммитом в kafka. Почему в одном случае риск приемлем, а вдругом - нет.

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

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

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

Пару лет назад, когда перевозили аналитику из postgres в clickhouse, тоже столкнулись с такой проблемой отсутствия гарантии уникальности в кликхаусе. Решено это было путем проверки id не в сторонней базе, а в самом clickhouse. Перед тем как вставить пачку записей, мы делаем select по их id из clickhouse и удаляем из пачки те записи, которые в базе уже есть. Проблемы с одновременной вставкой у нас нет - в один момент времени у нас всегда один консьюмер очереди и он же вставляет данные в кликхаус. Для наших нагрузок такого способа вполне хватило.

Но может быть такая проблема, что в clickhouse все успешно вставилось, а вы об этом не узнали, скажем, из-за сетевой ошибки. И пошлете данные еще раз. Как-будто это не сильно отличается от ситуации с кафкой и коммитом оффсета вместо коммита транзакции.

Мы такого не выясняли.

А о чем же был предыдущий разговор? Давайте еще раз по пунктам:
1. AGPL не запрещает частное и коммерческое использование
2. AGPL обязывает делиться исходниками только при распространении ПО или предоставлении его как сервиса
3. Способы использования и линковки разных частей ПО под разными лицензиями не уточнялись. Не зная деталей, мы не можем однозначно утверждать что там есть нарушения.

Не могу говорить за всех и вся, но как-минимум в некоторых банках весьма щепетильно относятся к вопросу лицензий. Как мы уже выяснили, о фактах прямого нарушения лицензии из статьи говорить нельзя. Можно только додумывать детали.
И вместо того, чтобы эти детали вытянуть из автора статьи вы, да, достаточно конкретно сформулировали, что хотите от банка денег, а не то суд. Просто на основании того, что по вашему мнению, банк плохой априори, а значит не может и не будет соблюдать условия лицензий. Вот только доказать это будет проблематично, особенно теперь, когда вы сразу начали с прямых обвинений.

Тогда более корректно будет вам формулировать свои претензии о несовместимости лицензий и попросить прояснить аспекты линковки разных программ в продукте. А вы влетаете в комментарии с ноги с обвинениями и требуете купить у вас лицензию. При этом вводите в заблуждение читателей хабра, что GNU Afferro нельзя использовать для коммерческих целей. Видимо для пущего эффекта. С банком-то все понятно, но ваши действия тоже трудно назвать правильными.

Общение в конструктивном ключе лучше поможет разъяснить ситуацию.

Ну я специально не затрагивал тему линковки и "виральности". Мы можем рассуждать о том должны ли быть остальные части ПО лицензированы под AGPL или нет, где та грань, но пока ПО не публикуется и не предоставляется как сервис - это не имеет практического смысла. Ничто не мешает банку формально отлицензировать свое ПО для речевой аналитики под AGPL и продолжить им пользоваться не опасаясь юридических последствий. Мы этого ПО все равно не увидим и исходников не получим.

Смотрите: обычный GPL не заставляет вас делиться модифицированными программами. Это ваше право а не обязанность. Вы можете изучать, модифицировать, использовать, в т.ч. для коммерческих целей и не с кем ни чем не делиться. Но вот если решили поделиться, то обязаны поделиться под той же лицензией, а так же полными исходными кодами. Тут есть "слабое" место, что само ПО можно не распространять, а предоставлять как публичный сервис в интернете, зарабатывать на этом деньги и не открывать исходных кодов. Именно поэтому и появилась Affero. Собственно GNU Affero только одно условие добавляет - что если предоставляете ПО как сервис, то должны делиться исходниками. А любое частное, в т.ч. коммерческое использование не под запретом.

Но ведь на приведенном же вами скриншоте написано, что частное использование допускается и публикация исходников требуется только при предоставлении сервиса по сети. Кажется в статье не идет речь о том, чтобы распространять сервис речевой аналитики как пакет ПО или предоставлять его как сервис в интернете. А остальное не запрещено.

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

Дополню относительно загрузки данных. Перед тем как загрузить пачку данных, мы делаем select по id и вставляем только те данные, которых еще в CH нет. Такой нехитрый способ позволяет убедиться в отсутствии дублирования данных аналитики.

Именно. Что скрам, что водопад, что канбан какой-нибудь — это же все просто инструменты. Нужно понимать почему ты хочешь использовать тот или иной инструмент управления, что он может дать и как его адаптировать к конкретной ситуации. И при необходимости поменять.
А когда появляется «группа инициативных менеджеров» которая зачем-то, сама не знает зачем, хочет блокчейн и скрам, а исполнители при этом не могут влиять на процесс (а может и не хотят или не умеют), то все. Ничего хорошего уже не будет. Надо тикать из такой конторы, пока стокгольмский синдром не случился.
Не понятно какую мысль хотел донести автор статьи. Не получилось в вашем «стартапе» полезного SCRUM'а. Бывает. Как говорится, держите в курсе. С таким уровнем неадеквата в менеджменте и «классический» подход вышел бы не лучше. Но при чем здесь российский SCRUM? Или американский? Или шведский?
Хотелось бы добавить, что для JavaFX уже существует официальный набор привязок к RxJava, в том числе планировщик (scheduler).

Информация

В рейтинге
Не участвует
Откуда
Белгород, Белгородская обл., Россия
Дата рождения
Зарегистрирован
Активность