提交 2f4d20a0 编写于 作者: B BayoNet 提交者: Alexey Milovidov

Some typos are fixed.

上级 17ee06b0
# Постановка задачи в Яндекс.Метрике
ClickHouse на данный момент обеспечивает рабту [Яндекс.Метрики](https://metrika.yandex.ru/), [второй крупнейшей в мире](http://w3techs.com/technologies/overview/traffic_analysis/all) платформы для веб аналитики. При более 13 триллионах записей в базе данных и более 20 миллиардах событий в сутки, ClickHouse позволяет генерировать индивидуально настроенные отчёты на лету напрямую из неагрегированных данных.
ClickHouse на данный момент обеспечивает работу [Яндекс.Метрики](https://metrika.yandex.ru/), [второй крупнейшей в мире](http://w3techs.com/technologies/overview/traffic_analysis/all) платформы для веб аналитики. При более 13 триллионах записей в базе данных и более 20 миллиардах событий в сутки, ClickHouse позволяет генерировать индивидуально настроенные отчёты на лету напрямую из неагрегированных данных.
Нужно получать произвольные отчёты на основе хитов и визитов, с произвольными сегментами, задаваемыми пользователем. Данные для отчётов обновляются в реальном времени. Запросы должны выполняться сразу (в режиме онлайн). Отчёты должно быть возможно строить за произвольный период. Требуется вычислять сложные агрегаты типа количества уникальных посетителей.
На данный момент (апрель 2014), каждый день в Яндекс.Метрику поступает около 12 миллиардов событий (хитов и кликов мыши). Все эти события должны быть сохранены для возможности строить произвольные отчёты. Один запрос может потребовать просканировать сотни миллионов строк за время не более нескольких секунд, или миллионы строк за время не более нескольких сотен миллисекунд.
......
......@@ -5,15 +5,15 @@
### Новая функциональность
- Поддержка `UPDATE` и `DELETE`.
- Многомерные и вложенные массивы.
Это может выглядеть например так:
```sql
CREATE TABLE t
(
x Array(Array(String)),
x Array(Array(String)),
z Nested(
x Array(String),
x Array(String),
y Nested(...))
)
ENGINE = MergeTree ORDER BY x
......@@ -24,7 +24,7 @@ ENGINE = MergeTree ORDER BY x
Внешние таблицы можно интрегрировать в ClickHouse с помощью внешних словарей. Новая функциональность станет более удобной альтернативой для подключения внешних таблиц.
```sql
SELECT ...
SELECT ...
FROM mysql('host:port', 'db', 'table', 'user', 'password')`
```
......@@ -40,7 +40,7 @@ INSERT INTO t SELECT * FROM remote(...) `.
- O_DIRECT for merges.
Улучшит производительность кэша операционной системы, а также производительность 'горячих' запросов.
## Q2 2018
### Новая функциональность
......@@ -56,23 +56,23 @@ INSERT INTO t SELECT * FROM remote(...) `.
- Настраиваемые кодировки и сжатие для каждого столбца в отдельности.
Сейчас, ClickHouse поддерживает сжатие столбцов с помощью LZ4 и ZSTD, и настройки сжатия глобальные (смотрите статью [Compression in ClickHouse](https://www.altinity.com/blog/2017/11/21/compression-in-clickhouse)). Поколоночное сжатие и кодирование обеспечит более эффективное хранение данных, что в свою очередь ускорит выполнение запросов.
- Хранение данных на нескольких дисках на одном сервере.
Реализация это функциональности упростит расширение дискового пространства, поскольку можно будет использовать различные дисковые системы для разных баз данных или таблиц. Сейчас, пользователи вынуждены использовать символические ссылки, если базы данных и таблицы должны храниться на другом диске.
### Улучшения
Планируется множество улучшений и исправлений в системе выполнения запросов. Например:
- Использование индекса для `in (subquery)`.
Сейчас, индекс не используется, что приводит с снижению производительности.
Сейчас, индекс не используется, что приводит к снижению производительности.
- Передача предикатов из `where` в подзапросы, а также передача предикатов в представления.
Передача предикатов необходима, поскольку представление изменяется поздапросом. Сейчас производительность фильтров для представлений низкая, представления не могут использовать первичный ключ оригинальной таблицы, что делает представления для больших таблиц бесполезными.
- Оптимизация операций с ветвлением (тернарный оператор, if, multiIf).
Сейчас, ClickHouse выполняет все ветви, даже если в этом нет необходимости.
......@@ -88,7 +88,7 @@ INSERT INTO t SELECT * FROM remote(...) `.
- Пулы ресурсов для выполнения запросов.
Позволят более эффективно управлять нагрузкой.
- Синтаксис ANSI SQL JOIN.
Улучшит совместимость ClickHouse со множеством SQL-инструментов.
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册