ClickHouse in ProductionEngineer ClickHouse in Production ClickHouse DBMS › Blazing fast › Linearly scalable › Flexible SQL dialect › Store petabytes of data › Fault-tolerant › 1000+ companies using in production › Open-source EventLogHDFS; Ok. 0 rows in set. Elapsed: 106.350 sec. Processed 28.75 mln rows. 54 / 97 In ClickHouse: Query Local Copy SELECT countIf(CounterType='Show') as SumShows, countIf(CounterType='Click') as SumClicks BannerID FROM EventLogLocal GROUP BY BannerID ORDER BY SumClicks desc LIMIT 3; 55 / 97 In ClickHouse: Query Local Copy SELECT countIf(CounterType='Show') as SumShows, countIf(CounterType='Click') as SumClicks0 码力 | 100 页 | 6.86 MB | 1 年前3
7. UDF in ClickHousePipeline = Directed Acyclic Graph (DAG) of modules Module = Input + Task + Output Task = Query or external program Query = “CREATE TABLE ... AS SELECT ...” A Database System and A ML Pipeline Begin Content node is able to handle billions of rows • Most queries can be done in 0.1s-10min Ease of Use • SQL • Portable binary deployment with few dependencies Customization • The straight-forward code structure Begin Content Area = 16,30 11 The UDF Magic Begin Content Area = 16,30 12 When the “Standard” SQL is not Enough Functionality Limitations • Scanning data back and forth Example: Recognizing a behavioral0 码力 | 29 页 | 1.54 MB | 1 年前3
1. Machine Learning with ClickHouseimport pandas as pd url = 'http://127.0.0.1:8123?query=' query = 'select * from trips limit 1000 format TSVWithNames' resp = requests.get(url, data=query) string_io = io.StringIO(resp.text) table = pd.read_csv(string_io OFFSET y Must specify an expression for sampling › Optimized by PK › Fixed dataset for fixed sample query › Only for MergeTree 11 / 62 How to sample data SAMPLE x OFFSET y CREATE TABLE trips_sample_time be evenly distributed! 12 / 62 How to sample data SAMPLE x OFFSET y SELECT count() FROM trips_sample_time 432992321 1 rows in set. Elapsed: 0.413 sec. Processed 432.99 million rows Query with sampling0 码力 | 64 页 | 1.38 MB | 1 年前3
0. Machine Learning with ClickHouse import pandas as pd url = 'http://127.0.0.1:8123?query=' query = 'select * from trips limit 1000 format TSVWithNames' resp = requests.get(url, data=query) string_io = io.StringIO(resp.text) table = pd.read_csv(string_io OFFSET y Must specify an expression for sampling › Optimized by PK › Fixed dataset for fixed sample query › Only for MergeTree 11 / 62 How to sample data SAMPLE x OFFSET y CREATE TABLE trips_sample_time be evenly distributed! 12 / 62 How to sample data SAMPLE x OFFSET y SELECT count() FROM trips_sample_time 432992321 1 rows in set. Elapsed: 0.413 sec. Processed 432.99 million rows Query with sampling0 码力 | 64 页 | 1.38 MB | 1 年前3
2. 腾讯 clickhouse实践 _2019丁晓坤&熊峰高内存,廉价存储: 单机配置: Memory128G CPU核数24 SATA20T,RAID5 万兆网卡 一切以用户价值为依归 5 部署与监控管理 1 生产环境部署方案: Distributed Table Replica1Replica1 Replica1Replica1 Replica1Replica1 Shard01 Shard02 Shard03 Load Balancing Partition2 DataN PartitionM … … app-2 … … app-n RPC DataNode 基于位图的分布式计算引擎 API Server Scheduler SQL-Parser QueryOptimier Column1 DataNode Column2 Column3 ColumnN Column1 DataNode Column2 Column3 业务应用实践 iData 2 旧画像系统 Block 1 Block 2 Block … Storage Scheduler Data Stats Gather SQL Parser Query Optimizer Execution Plan Bitcode Emitter Scheduler Block 1 Block 2 Block … DataNode-20 码力 | 26 页 | 3.58 MB | 1 年前3
Что нужно знать об архитектуре ClickHouse, чтобы его эффективно использоватьподходит ClickHouse › Интерактивные запросы по данным, обновляемым в реальном времени › Диалект SQL + расширения › Стараемся заранее ничего не агрегировать › Нужны очищенные структурированные данные мешают друг другу… ClickHouse: Шардирование + Distributed таблицы! Когда одного сервера не хватает Чтение из Distributed таблицы Чтение из Distributed таблицы CSV 227 Gb, ~1.3 млрд строк SELECT passenger_count Шардов 1 3 140 Время, с. 1,224 0,438 0,043 Ускорени е x2.8 x28.5 Запись в Distributed таблицу Запись в Distributed таблицу › Хочется защититься от аппаратного сбоя… › Данные должны быть доступны0 码力 | 28 页 | 506.94 KB | 1 年前3
蔡岳毅-基于ClickHouse+StarRocks构建支撑千亿级数据量的高可用查询引擎业务场景不断增多,涉及面越来越广; 4. 需要保证高可用并秒出; 5. 从Sql,Es, CrateDB, Kylin,Ingite,MongoDB,Hbase 不断的研究,实践; 全球敏捷运维峰会 广州站 ClickHouse 的特点 优点: 1. 数据压缩比高,存储成本相对非常低; 2. 支持常用的SQL语法,写入速度非常快,适用于大量的数据更新; 3. 依赖稀疏索引,列式存储 不支持事务,没有真正的update/delete; 2. 不支持高并发,可以根据实际情况修改qps相关配置文件; 全球敏捷运维峰会 广州站 StarRocks的特点 优点: 1. 支持标准的SQL语法,兼容MySql协议; 2. MPP架构,扩缩容非常简单方便; 3. 支持高并发查询; 4. 跨机房部署,实现最低成本的DR 缺点: 1. 不支持大规模的批处理; 2. 支持insert system.query_log表,记录已经 执行的查询记录 query:执行的详细SQL,查询相关记录可以 根据SQL关键字筛选该字段 query_duration_ms:执行时间 memory_usage:占用内存 read_rows和read_bytes :读取行数和大小 result_rows和result_bytes :结果行数和 大小 以上信息可以简单对比SQL执行效果 全球敏捷运维峰会0 码力 | 15 页 | 1.33 MB | 1 年前3
Тестирование ClickHouse которого мы заслуживаем› Не тормозит. › Масштабируется линейно › Позволяет хранить петабайты данных › Поддерживает гибкий SQL с расширениями › Отказоустойчив при работе в разных ДЦ 2 / 77 Тестирование ClickHouse, которого мы набор тестов › Статический анализ кода с PVS-studio › Unit-тесты на gtest › Функциональные тесты - .sql на входе + файл с ожиданием - запуск произвольных скриптов - с санитайзерами - с данными 17 / 77 Тестирование язык запросов › Больше 600 функций › 38 типов данных › Десятки операторов › Нестандартный диалект SQL https://www.kubomarket.ru/product/moyu-13x13832/ 20 / 77 Тестирование ClickHouse, которого мы заслуживаем0 码力 | 84 页 | 9.60 MB | 1 年前3
4. ClickHouse在苏宁用户画像场景的实践yandex/docs/en/data_types/nested_data_structures/aggregatefunction/ https://clickhouse.yandex/docs/en/query_language/agg_functions/reference/#groupbitmap 表示groupBitmap聚合函数的中间状态。 可以通过groupBitmapState创建。 p1 7 2019-10-02 5 p1 8 2019-10-02 5 p2 一张简单的订单明细表 detail_order,如何计算用户的日留存? 15 标签 SQL 大表join,count distinct 都比较慢,而且容易 OOM! Bitmap应用示例 order_date uv_bitmap 2019-10-01 {1,2,3} ANDNOT day1 = [4,5] • 流失用户:day1 ANDNOT day2 = [1,2] 16 detail_order 聚合为天维度表 留存用户的SQL Bitmap函数 千万级用户, 秒级出结果! Contents 苏宁如何使用ClickHouse ClickHouse集成Bitmap 用户画像场景实践 17 用户画像原有的流程及痛点0 码力 | 32 页 | 1.47 MB | 1 年前3
ClickHouse: настоящее и будущеесистема Я расскажу 01 Почему ClickHouse — плохая система 02 И что с этим делать 03 3 Impala Spark SQL Presto/Trino Drill Actian Vortex Kylin Kudu MonetDB Actian Vector Actian Matrix Redshift Greenplum OmniSci (mapD) Brytlyt HyPER Pinot kdb+ Shakti MemSQL (SingleStore) Vertica SAP HANA Sybase IQ MS SQL with CS index Oracle Exadata IBM Netezza, IBM BLU TiDB Hawq Vectorwise Snowflake Citus Druid аутентификация • Все доступные средства тестирования в CI ClickHouse — удобная система 7 Язык SQL, адаптированный для удобства аналитики: • Алиасы в любом месте запроса • Массивы, кортежи, лямбда0 码力 | 32 页 | 2.62 MB | 1 年前3
共 18 条
- 1
- 2













