diff --git a/CHANGELOG_RU.md b/CHANGELOG_RU.md new file mode 100644 index 00000000000..0f08a40a4ba --- /dev/null +++ b/CHANGELOG_RU.md @@ -0,0 +1,103 @@ +# Релиз ClickHouse 1.1.54276 + +## Новые возможности: +* Добавлена опциональная секция WITH запроса SELECT. Пример запроса: `WITH 1+1 AS a SELECT a, a*a` +* Добавлена возможность синхронной вставки в Distributed таблицу: выдается Ok только после того как все данные записались на все шарды. Активируется настройкой insert_distributed_sync=1 +* Добавлен тип данных UUID для работы с 16-байтовыми идентификаторами +* Добавлены алиасы типов CHAR, FLOAT и т.д. для совместимости с Tableau +* Добавлены функции toYYYYMM, toYYYYMMDD, toYYYYMMDDhhmmss для перевода времени в числа +* Добавлена возможность использовать IP адреса (совместно с hostname) для идентификации сервера при работе с кластерными DDL запросами +* Добавлена поддержка неконстантных аргументов и отрицательных смещений в функции `substring(str, pos, len)` +* Добавлен параметр max_size для агрегатной функции `groupArray(max_size)(column)`, и оптимизирована её производительность + +## Основные изменения: +* Улучшение безопасности: все файлы сервера создаются с правами 0640 +* Улучшены сообщения об ошибках в случае синтаксически неверных запросов +* Значительно уменьшен расход оперативной памяти и улучшена производительность слияний больших MergeTree-кусков данных +* Значительно увеличена производительность слияний данных для движка ReplacingMergeTree +* Улучшена производительность асинхронных вставок из Distributed таблицы за счет объединения нескольких исходных вставок. Функционал включается настройкой distributed_directory_monitor_batch_inserts=1. + +## Обратно несовместимые изменения: +* Изменился бинарный формат агрегатных состояний функции `groupArray(array_column)` для массивов + +## Полный список изменений: +* Добавлен вывод nan и inf значений в формате JSON +* Более оптимальное выделение потоков при чтении из Distributed таблиц +* Разрешено задавать настройки в режиме readonly, если их значение не изменяется +* Добавлена возможность считывать нецелые гранулы движка MergeTree для выполнения ограничений на размер блока, задаваемый настройкой preferred_block_size_bytes - для уменьшения потребления оперативной памяти и увеличения кэш-локальности при обработке запросов из таблиц со столбцами большого размера +* Эффективное использование индекса, содержащего выражения типа `toStartOfHour(x)`, для условий вида `toStartOfHour(x) op сonstexpr` +* Добавлены новые настройки для MergeTree движков (секция merge_tree в config.xml): + - replicated_deduplication_window_seconds позволяет задать интервал дедупликации вставок в Replicated-таблицы в секундах + - cleanup_delay_period - периодичность запуска очистки неактуальных данных + - replicated_can_become_leader - запретить реплике становиться лидером (и назначать мержи) +* Ускорена очистка неактуальных данных из ZooKeeper +* Множественные улучшения и исправления работы кластерных DDL запросов. В частности, добавлена настройка distributed_ddl_task_timeout, ограничивающая время ожидания ответов серверов кластера. +* Улучшено отображение стэктрейсов в логах сервера +* Добавлен метод сжатия none +* Возможность использования нескольких секций dictionaries_config в config.xml +* Возможность подключения к MySQL через сокет на файловой системе +* В таблицу system.parts добавлен столбец с информацией о размере marks в байтах + +## Исправления багов: +* Исправлена некорректная работа Distributed таблиц, использующих Merge таблицы, при SELECT с условием на поле _table +* Исправлен редкий race condition в ReplicatedMergeTree при проверке кусков данных +* Исправлено возможное зависание процедуры leader election при старте сервера +* Исправлено игнорирование настройки max_replica_delay_for_distributed_queries при использовании локальной реплики в качестве источника данных +* Исправлено некорректное поведение `ALTER TABLE CLEAR COLUMN IN PARTITION` при попытке очистить несуществующую колонку +* Исправлено исключение в функции multiIf при использовании пустых массивов или строк +* Исправлено чрезмерное выделение памяти при десериализации формата Native +* Исправлено некорректное автообновление Trie словарей +* Исправлено исключение при выполнении запросов с GROUP BY из Merge-таблицы при использовании SAMPLE +* Исправлено падение GROUP BY при использовании настройки distributed_aggregation_memory_efficient=1 +* Добавлена возможность указывать database.table в правой части IN и JOIN +* Исправлено использование слишком большого количества потоков при параллельной агрегации +* Исправлена работа функции if с аргументами FixedString +* Исправлена некорректная работа SELECT из Distributed-таблицы для шардов с весом 0 +* Исправлено падение запроса `CREATE VIEW IF EXISTS` +* Исправлено некорректное поведение при input_format_skip_unknown_fields=1 в случае отрицательных чисел +* Исправлен бесконечный цикл в функции `dictGetHierarchy()` в случае некоторых некорректных данных словаря +Исправлены ошибки типа `Syntax error: unexpected (...)` при выполнении распределенных запросов с подзапросами в секции IN или JOIN, в случае * использования совместно с Merge таблицами +* Исправлена неправильная интерпретация SELECT запроса из таблиц типа Dictionary +* Исправлена ошибка "Cannot mremap" при использовании множеств в секциях IN, JOIN, содержащих более 2 млрд. элементов +* Исправлен failover для словарей с источником MySQL + +## Улучшения процесса разработки и сборки ClickHouse: +* Добавлена возмозможность сборки в Arcadia +* Добавлена возможность сборки с помощью gcc 7 +* Ускорена параллельная сборка с помощью ccache+distcc + + +# Релиз ClickHouse 1.1.54245 + +## Новые возможности: +* Распределённые DDL (например, `CREATE TABLE ON CLUSTER`) +* Реплицируемый запрос `ALTER TABLE CLEAR COLUMN IN PARTITION` +* Движок таблиц Dictionary (доступ к данным словаря в виде таблицы) +* Движок баз данных Dictionary (в такой базе автоматически доступны Dictionary-таблицы для всех подключённых внешних словарей) +* Возможность проверки необходимости обновления словаря путём отправки запроса в источник +* Qualified имена столбцов +* Квотирование идентификаторов двойными кавычками +* Сессии в HTTP интерфейсе +* Запрос OPTIMIZE для Replicated таблицы теперь можно выполнять не только на лидере + +## Обратно несовместимые изменения: +* Убрана команда SET GLOBAL + +## Мелкие изменения: +* Теперь после получения сигнала в лог печатается полный стектрейс +* Ослаблена проверка на количество повреждённых/лишних кусков при старте (было слишком много ложных срабатываний) + +## Исправления багов: +* Исправлено залипание плохого соединения при вставке в Distributed таблицу +* GLOBAL IN теперь работает при запросе из таблицы Merge, смотрящей в Distributed +* Теперь правильно определяется количество ядер на виртуалках Google Compute Engine +* Исправления в работе executable источника кэшируемых внешних словарей +* Исправлены сравнения строк, содержащих нулевые символы +* Исправлено сравнение полей первичного ключа типа Float32 с константами +* Раньше неправильная оценка размера поля могла приводить к слишком большим аллокациям +* Исправлено падение при запросе Nullable столбца, добавленного в таблицу ALTER-ом +* Исправлено падение при сортировке по Nullable столбцу, если количество строк меньше LIMIT +* Исправлен ORDER BY подзапроса, состоящего только из константных значений +* Раньше Replicated таблица могла остаться в невалидном состоянии после неудавшегося DROP TABLE +* Алиасы для скалярных подзапросов с пустым результатом теперь не теряются +* Теперь запрос, в котором использовалась компиляция, не завершается ошибкой, если .so файл повреждается