Получение информации по IP-адресу в Clickhouse

Еще одна недокументированная, на данный момент, возможность — это получение информации по IP-адресу. В ClickHouse существует механизм словарей, для работы с IP-адресами необходимо выбрать в качестве способа размещения словаря в памяти (layout) — ip_trie. Описание словаря никак не отличается от обычного и в качестве источника можно выбирать любой из доступных.

Релиз ClickHouse 1.1.54362

В этом релизе есть два очень полезных исправления: Агрегация без GROUP BY по пустому множеству. Исправлены случаи ошибочного удаления ненужных столбцов из подзапросов. Первое дает нам ожидаемое поведение, если результат агрегации равен нулю.

LogLog — находим число уникальных элементов

Сегодня разговор пойдёт о ещё одном вероятностном-рандомизированном алгоритме, который позволяет с минимальными затратами памяти определить примерное число уникальных элементов в больших объёмах данных. Для начала, поставим себе задачу: предположим, что у нас имеется большой объём текстовых данных — скажем, плоды литературного творчества небезызвестного Шекспира, и нам необходимо подсчитать количество различных […]

Опыт внедрения ClickHouse — аналитической CУБД

Начали мы знакомство с ClickHouse осенью 2016. Вскоре выпустили в продакшн первую фичу с его использованием. С тех пор прошло 2 года, и сейчас 4 ClickHouse ноды принимают на вставку порядка10-тимиллиардов записей в день, хранят около 4 TB данных, обслуживают выборки с нескольких web-приложений, а также дают возможность отделу аналитики работать с данными еще из одного источника.

Шаблон Presenter в Laravel

Если вы используете Laravel в своем проекте достаточно долго, ваши модели, скорее всего, стали довольно большими. Со временем их становится все труднее поддерживать, т.к. они обрастают новым функционалом. Когда вы пишете код для каждого случая, где используются ваши модели, возникает соблазн «откормить» наши модели до тех пор, пока они не […]

Локатор Служб (Service Locator)

Этот шаблон считается анти-паттерном! Некоторые считают Локатор Служб анти-паттерном. Он нарушает принцип инверсии зависимостей (Dependency Inversion principle) из набора принциповSOLID. Локатор Служб скрывает зависимости данного класса вместо их совместного использования, как в случае шаблона Внедрение Зависимости (Dependency Injection). В случае изменения данных зависимостей мы рискуем сломать функционал классов, которые их […]

10 мифов и глупостей о пиве

…или «Правда о пиве с точки зрения домашнего пивовара». Добавляют ли в пиво спирт, какой должен быть срок годности у пива, как производят пиво в промышленных масштабах и другие животрепещущие вопросы звучат в Интернете и в реале настолько часто, что я решил написать этот пост, дабы можно было отвечать ссылкой […]