ClickHouse快速安装教程(MacOS)

文章目录

  • ClickHouse快速安装教程(MacOS)
    • 1.ClickHouse
    • 2.快速安装
    • 3.快速启动
      • 3.1.启动服务器
      • 3.2.启动客户端
    • 4.使用案例
      • 1.配置文件
      • 2.启动CK服务
      • 3.创建数据库
      • 4.创建表
      • 5.插入数据
      • 6.查询数据

ClickHouse快速安装教程(MacOS)

1.ClickHouse

ClickHouse®是一个用于在线分析处理(OLAP)的高性能、面向列的SQL数据库管理系统(DBMS)。ClickHouse专门针对大规模数据分析和实时查询的场景进行优化。它被设计用于高效处理PB级以上的数据,并能在秒级内完成复杂的查询分析。

OLAP场景的关键特征

  • 绝大多数是读请求
  • 数据以相当大的批次(> 1000行)更新,而不是单行更新;或者根本没有更新。
  • 已添加到数据库的数据不能修改。
  • 对于读取,从数据库中提取相当多的行,但只提取列的一小部分。
  • 宽表,即每个表包含着大量的列
  • 查询相对较少(通常每台服务器每秒查询数百次或更少)
  • 对于简单查询,允许延迟大约50毫秒
  • 列中的数据相对较小:数字和短字符串(例如,每个URL 60个字节)
  • 处理单个查询时需要高吞吐量(每台服务器每秒可达数十亿行)
  • 事务不是必须的
  • 对数据一致性要求低
  • 每个查询有一个大表。除了他以外,其他的都很小。
  • 查询结果明显小于源数据。换句话说,数据经过过滤或聚合,因此结果适合于单个服务器的RAM中

ClickHouse具有以下特点:

  1. 高性能:采用了列式存储和压缩技术,在处理大规模数据时能够快速高效地进行数据读取和查询。它使用了向量化查询引擎和多级缓存,可以实现即时的查询结果响应。
  2. 分布式架构:支持水平扩展,可以轻松地在集群中添加或删除节点。它使用分片和复制机制来实现高可用性和数据冗余。
  3. 强大的查询功能:支持标准的SQL查询语言,并提供了丰富的查询函数和聚合操作,可以方便地进行复杂的数据分析和数据挖掘。
  4. 可伸缩性:能够处理海量数据,并且能够在不降低性能的情况下轻松地扩展到更多的节点,以满足不断增长的数据需求。
  5. 低延迟查询:通过使用基于内存的数据存储和高效的查询引擎,可以在毫秒级的时间范围内处理查询请求,适用于需要实时响应的场景。 总之,ClickHouse是一个专门用于大规模数据分析和实时查询的高性能分布式列式数据库,它具有高可扩展性和低延迟查询的优势,适用于需要处理大量数据和复杂查询的应用场景。

2.快速安装

本地下载ClickHouse最简单的方法是运行以下curl命令:

curl https://clickhouse.com/ | sh

下载ClickHouse(执行本命令安装完成后,你可以编辑ClickHouse的配置文件来自定义参数和设置,例如监听地址、端口,以及数据存储和备份的路径等。)

3.快速启动

3.1.启动服务器

./clickhouse server

3.2.启动客户端

./clickhouse client

可以看到会出现以下警告:最大线程数低于30000。处理大量同时进行的查询可能会出现问题。

Warnings:* Maximum number of threads is lower than 30000. There could be problems with handling a lot of simultaneous queries.

这个警告表明,当前设置的线程数可能不足以处理大量的同时查询。您可以通过修改ClickHouse的配置文件来增加线程数。在/etc/clickhouse-server/config.xml文件中找到max_threads设置,并根据您的服务器性能和负载情况进行调整

4.使用案例

1.配置文件

添加配置文件 config.xml

<clickhouse><logger><level>trace</level><log>/Users/admin/ck/data/logs/clickhouse.log</log><errorlog>/Users/admin/ck/data/logs/error.log</errorlog><size>500M</size><count>5</count></logger><http_port>8123</http_port><tcp_port>9000</tcp_port><interserver_http_port>9001</interserver_http_port><interserver_http_host>127.0.0.1</interserver_http_host>  <listen_host>0.0.0.0</listen_host><max_connections>4096</max_connections><keep_alive_timeout>300</keep_alive_timeout><max_concurrent_queries>1000</max_concurrent_queries><uncompressed_cache_size>8589934592</uncompressed_cache_size><mark_cache_size>5368709120</mark_cache_size><default_profile>default</default_profile><default_database>default</default_database><builtin_dictionaries_reload_interval>3600</builtin_dictionaries_reload_interval><max_session_timeout>3600</max_session_timeout><default_session_timeout>300</default_session_timeout><max_table_size_to_drop>0</max_table_size_to_drop><merge_tree><parts_to_delay_insert>300</parts_to_delay_insert><parts_to_throw_insert>600</parts_to_throw_insert><max_delay_to_insert>2</max_delay_to_insert></merge_tree><max_table_size_to_drop>0</max_table_size_to_drop><max_partition_size_to_drop>0</max_partition_size_to_drop><!-- Path to data directory, with trailing slash. --><path>/Users/admin/ck/data/</path><!-- Path to temporary data for processing hard queries. --><tmp_path>/Users/admin/ck/data/tmp/</tmp_path><!-- Sources to read users, roles, access rights, profiles of settings, quotas. --><user_directories><users_xml><!-- Path to configuration file with predefined users. --><!-- 此处的目录地址指向下方的users.xml --><path>/Users/admin/ck/users.xml</path></users_xml><local_directory><!-- Path to folder where users created by SQL commands are stored. --><!-- 用户创建sql语句的存储目录 --><path>/Users/admin/ck/users/</path></local_directory></user_directories>
</clickhouse>

添加用户配置文件 users.xml

<clickhouse><profiles><default><max_memory_usage>10000000000</max_memory_usage><use_uncompressed_cache>0</use_uncompressed_cache><load_balancing>random</load_balancing></default><readonly><max_memory_usage>10000000000</max_memory_usage><use_uncompressed_cache>0</use_uncompressed_cache><load_balancing>random</load_balancing><readonly>1</readonly></readonly></profiles><quotas><!-- Name of quota. --><default><interval><queries>0</queries><errors>0</errors><result_rows>0</result_rows><read_rows>0</read_rows><execution_time>0</execution_time></interval></default></quotas><users><default><!-- 明文:123456 --><password_sha256_hex>8d969eef6ecad3c29a3a629280e686cf0c3f5d5a86aff3ca12020c923adc6c92</password_sha256_hex><networks><ip>::/0</ip></networks>  <profile>default</profile><quota>default</quota><access_management>1</access_management></default></users>
</clickhouse>

⚠️注意:

如果不配置以上配置文件,使用CK默认的配置,在新增用户并配置权限会出现以下问题:DB::Exception: Could not insert user test because there is no writeable access

在这里插入图片描述

2.启动CK服务

与之前不同,此处使用指定的配置文件启动,也就是上节的配置文件地址。

./clickhouse server --config-file=/Users/admin/ck/config.xml

启动客户端,与之前一样。

3.创建数据库

CREATE DATABASE IF NOT EXISTS test

4.创建表

CREATE TABLE IF NOT EXISTS test.t_users
(`id` String COMMENT 'ID',`name` Nullable(String) COMMENT '名称',`age` Nullable(Int64) COMMENT '年龄',`create_date` Nullable(Date) DEFAULT toDate(now()) COMMENT '创建时间'
) ENGINE = MergeTree 
PRIMARY KEY(id);

5.插入数据

INSERT INTO test.t_users(id,name,age) VALUES (1, 'jack', 18)

6.查询数据

select * from test.t_users where id = '1'

20240611160724911.png&pos_id=img-wqtrt12o-1718093364139)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/854648.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【UEditorPlus】后端配置项没有正常加载,上传插件不能正常使用

接上文【UEditorPlus】后端配置项没有正常加载&#xff0c;上传插件不能正常使用_ueditor ruoyi vue后端配置项没有正常加载,上传插件不能正常使用!-CSDN博客 成功解决图片、视频上传问题后&#xff0c;当服务部署在公网时&#xff0c;会存在大文件无法正常上传的问题。 出现…

电感的本质是什么

什么是电感&#xff1f; 电感器件一般是指螺线圈&#xff0c;由导线圈一圈靠一圈地绕在绝缘管上&#xff0c;绝缘管可以是空心的&#xff0c;也可以包含铁芯或磁粉芯。 为什么把’线’绕成’圈’就是电感&#xff1f; 电感的工作原理非常抽象&#xff0c;为了解释什么是电感…

04通讯录管理系统——退出功能实现

功能描述&#xff1a;退出通讯录 思路&#xff1a;根据用户不同的选项&#xff0c;进入不同的功能&#xff0c;可以选择switch分支结构&#xff0c;将整个架构进行搭建 当用户选择0时&#xff0c;执行退出&#xff0c;选择其他时先不做操作&#xff0c;也不退出程序 代码&am…

2024年6月10日~2024年6月16日周报

文章目录 一、前段时间工作二、完成情况2.1 可变形卷积的学习2.1.1 Introduction-介绍2.1.2 Related Work-相关工作2.1.3 Method-方法2.1.3.1 可变形卷积动态属性的重认识2.1.3.2 Speeding up DCN—加速DCN 2.2 部署可变形卷积 三、假期计划 一、前段时间工作 在之前一段时间主…

------构造类型数据—结构体---- + ----函数-----

构造类型数据——结构体 1&#xff09;结构体的基本概念 结构体&#xff08;struct&#xff09;是C语言&#xff08;以及其他一些编程语言&#xff09;中用于将不同类型的数据组合成一个单一类型的方式。这种数据类型允许你将多个变量&#xff08;可能是不同类型&#xff09;…

结合Boosting理论与深度ResNet:ICML2018论文代码详解与实现

代码见&#xff1a;JordanAsh/boostresnet: A PyTorch implementation of BoostResNet 原始论文&#xff1a;Huang F, Ash J, Langford J, et al. Learning deep resnet blocks sequentially using boosting theory[C]//International Conference on Machine Learning. PMLR, 2…

axure9设置组件自适应浏览器大小

问题&#xff1a;预览时不展示下方的滚动条 方法一&#xff1a;转化为动态面板 1.在页面上创建一个矩形 2.右键-转化为动态面板 3.双击进入动态面板设置 4.设置动态面板矩形的颜色 5.删除原来的矩形 6.关闭动态面板&#xff0c;点击预览 7.此时可以发现底部没有滚动条了 方法…

AI大模型之争:通用与垂直,谁将拔得头筹?

✨作者主页&#xff1a; Mr.Zwq✔️个人简介&#xff1a;一个正在努力学技术的Python领域创作者&#xff0c;擅长爬虫&#xff0c;逆向&#xff0c;全栈方向&#xff0c;专注基础和实战分享&#xff0c;欢迎咨询&#xff01; 您的点赞、关注、收藏、评论&#xff0c;是对我最大…

移植案例与原理 - startup子系统之syspara_lite系统属性部件 (2)

系统属性部件syspara_lite负责提供获取与设置操作系统相关的系统属性&#xff0c;包括默认系统属性、OEM厂商系统属性和自定义系统属性。为满足OpenHarmony产品兼容性规范&#xff0c;产品解决方案需要实现获取设备信息的接口&#xff0c;如&#xff1a;产品名、品牌名、厂家名…

苹果Mac电脑遭恶意软件攻击 Mac第三方恶意软件删除不了

苹果Mac电脑一直以来都以安全性和稳定性著称&#xff0c;许多用户认为Mac电脑不会受到恶意软件的侵害&#xff0c;但事实上&#xff0c;Mac电脑也不是绝对安全的&#xff0c;近年来&#xff0c;有越来越多的恶意软件针对Mac电脑进行攻击&#xff0c;甚至有些恶意软件可以绕过苹…

如何看待SD3 版本,和SDXL相比有何优势?

胖友们好&#xff01;&#xff01;&#xff01;痴迷AI的本枕又来写Stable Diffusion了…… SD社区群众们翘首企盼的SD3的weights总算在huggingface上发布了 于是我也在当天非常激动地用ComfyUI生成了一些图像…… 这篇文章算是半个评测半个心得吧&#xff0c;因为有些东西是…

解禁日大涨,爱玛科技的投资前景值得信任吗?

6月17日&#xff0c;爱玛迎来6.28亿股、金额超190亿元的解禁&#xff0c;占总股本72.91%。不过&#xff0c;爱玛股价在巨量解禁中反而迎来涨势&#xff0c;因为这部分股票中&#xff0c;创始人张剑持有的限售股数量几乎就占了爱玛总股本的七成。某种意义上&#xff0c;市场认为…

Windows系统下制作Windows Server系统U盘启动及安装指导

Windows系统下制作Windows Server系统U盘启动及安装指导 一、准备工作 U盘不得小于8G(推荐使用usb3.0接口)&#xff1b;下载好对应的系统镜像&#xff1b;下载RUFUS或者软通碟U盘制作启动软件&#xff1b; 二、Windows操作系统下制作U盘启动&#xff08;这里以使用RUFUS软件…

面向对象和面向过程

Python完全采用了面向对象的思想&#xff0c;是真正面向对象的编程语言&#xff0c;完全支持面向对象的基本功能&#xff0c;例如&#xff1a;继承、多态、封装等。 Python支持面向过程、面向对象、函数式编程等多种编程方式。而Java编程语言支持面向对象的编程方式&#xff0…

基于WPF技术的换热站智能监控系统16--动态数据绑定

1、实现思路 1&#xff09;实时读取到的数据绑定到前台UI控件上&#xff0c;这个通过MVVM模式实现&#xff0c;同时注意实时读取必须通过任务task异步方式&#xff0c;这就需要读取PLC数据。 2&#xff09;UI控件的动作&#xff0c;如开或关水泵&#xff0c;必定能够将值写入…

Java基础 - 练习(一)打印等腰三角形

Java基础练习 打印等腰三角形&#xff0c;先上代码&#xff1a; public static void main(String[] args) {// 打印等腰三角形System.out.println("打印等腰三角形&#xff1a;");isoscelesTriangle(); } public static void isoscelesTriangle() {// for循环控制行…

ollama模型CPU轻量化部署

一、定义 ollama 定义环境部署demo加载本地模型方法基本指令关闭开启ollamaollama 如何同时 运行多个模型, 多进程ollama 如何分配gpu修改模型的存储路径 二、实现 ollama 定义 ollama 是llama-cpp 的进一步封装&#xff0c;更加简单易用&#xff0c;类似于docker. 模型网址…

【深度学习】AI换脸,EasyPhoto: Your Personal AI Photo Generator【一】

论文&#xff1a;https://arxiv.org/abs/2310.04672 文章目录 摘要IntroductionTraining Process3 推理过程3.1 面部预处理3.3 第二扩散阶段3.4 多用户ID 4 任意ID5 实验6 结论 下篇文章进行实战。 摘要 稳定扩散Web UI&#xff08;Stable Diffusion Web UI&#xff0c;简称…

Linux_理解程序地址空间和页表

目录 1、进程地址空间示意图 2、验证进程地址空间的结构 3、验证进程地址空间是虚拟地址 4、页表-虚拟地址与物理地址 5、什么是进程地址空间 6、进程地址空间和页表的存在意义 6.1 原因一&#xff08;效率性&#xff09; 6.2 原因二&#xff08;安全性&#xff09; …

DOS INT 21H中断 2号功能暗改AL

注意此时AX0200&#xff0c;DX0057 执行INT 21H之后&#xff1a; 可以看到执行完“??? [BXSI]”之后&#xff0c;AL就变为了57H&#xff0c;和DL相同。 部分INT 21H功能表&#xff1a; 所以究竟是什么原因呢&#xff1f; -------------------------------------------…