该篇内容由个人博客点击跳转同步更新!转载请注明出处!

前言

我是在17年就听说过Clickhouse,那时还未接触过亿数据的运算,那时我在的小公司对于千万数据的解决方案还停留在分库分表,最好的也是使用mycat做的集群。这些解决方案都比较复杂,毕竟通常来说那些需要大量存储的数据基本都是像日志,流水等不需要修改的数据,像客户人员等需要经常维护的信息一般项目也就几万左右,在这些不是非常重要的数据上耗太多时间我个人是觉得有点浪费(但毕竟还是要的嘛),直到我到了新公司才重新拾起了对Clickhouse的学习,下面主要介绍下安装以及下篇会介绍一些简单的用法。

一、ClickHouse简介 文档地址

CH是由俄罗斯“熊哥”开源的一套用于联机分析(OLAP)的列式数据库管理系统(DBMS),它通过针对性的设计,力图解决海量多维度数据的查询性能问题。小白程序员轻松上手,安装和操作就像mysql一样简单。

适用于:
  1. 大多数是读请求
  2. 每次写入大于1000行的数据(不适用于单条插入)
  3. 不修改已添加的数据
  4. 每次查询都从数据库中读取大量的行,但是同时又仅需要少量的列
  5. 宽表,即每个表包含着大量的列
  6. 较少的查询(通常每台服务器每秒数百个查询或更少)
  7. 对于简单查询,允许延迟大约50毫秒
  8. 列中的数据相对较小: 数字和短字符串(例如,每个URL 60个字节)
  9. 处理单个查询时需要高吞吐量(每个服务器每秒高达数十亿行)
  10. 事务不是必须的
  11. 对数据一致性要求低
  12. 每一个查询除了一个大表外都很小
  13. 查询结果明显小于源数据,换句话说,数据被过滤或聚合后能够被盛放在单台服务器的内存中
应用场景

公交轨迹(我自己的应用场景

消费转账流水

日志记录

天气数据

......

二、ClickHouse安装

安装方式有多种(暂未支持windows上安装),官方文档上介绍的安装方式感觉有点复杂,下面介绍一种较为简单的安装方式,通过rpm安装包进行安装,git地址:点击跳转

系统环境:CentOS 7.5

1、下载包需要curl支持,当前系统没有的话需要先通过yum安装一下

sudo yum install -y curl

2、下载安装脚本

curl -s https://packagecloud.io/install/repositories/altinity/clickhouse/script.rpm.sh | sudo bash

3、检查clickhouse安装包全不全

sudo yum list 'clickhouse*'

Available Packages
clickhouse-client.x86_64 18.1.0-1.el7 Altinity_clickhouse
clickhouse-common-static.x86_64 18.1.0-1.el7 Altinity_clickhouse
clickhouse-compressor.x86_64 1.1.54336-3.el7 Altinity_clickhouse
clickhouse-debuginfo.x86_64 18.1.0-1.el7 Altinity_clickhouse
clickhouse-mysql.noarch 0.0.20180319-1 Altinity_clickhouse
clickhouse-server.x86_64 18.1.0-1.el7 Altinity_clickhouse
clickhouse-server-common.x86_64 18.1.0-1.el7 Altinity_clickhouse
clickhouse-test.x86_64 18.1.0-1.el7 Altinity_clickhouse

4、检查没问题的话开始安装服务端和客户端

sudo yum install -y clickhouse-server clickhouse-client

5、检查安装后的包全不全

 sudo yum list installed 'clickhouse*'

Installed Packages
clickhouse-client.x86_64 18.1.0-1.el7 @Altinity_clickhouse
clickhouse-common-static.x86_64 18.1.0-1.el7 @Altinity_clickhouse
clickhouse-server.x86_64 18.1.0-1.el7 @Altinity_clickhouse
clickhouse-server-common.x86_64 18.1.0-1.el7 @Altinity_clickhouse

6、安装成功后首先运行服务端,默认会使用config.xml作为配置文件,也可以通过--config=xxx来指定配置文件

sudo service clickhouse-server start

7、客户端运行,这里的命令啥的和mysql很像,一些命令语法都是差不多的,下面简单试下

clickhouse-client

localhost :) show databases
SHOW DATABASES
┌─name────┐
│ default │
│ system │
└─────────┘ 2 rows in set. Elapsed: 0.030 sec.

这时服务端会有响应信息

ClickHouse client version 18.1.0.
Connecting to localhost:9000 as user default.
Connected to ClickHouse server version 18.1.54396. :)

三、可视化界面安装,官方文档有介绍很多种工具,这里介绍Tabix

上面介绍的操作方式都是在linux上进行操作的,结果什么都需要通过终端进行查看,很不方便,好在有第三方可视化Web界面工具Tabix



Tabix使用安装非常方便,有本地安装和无安装两种方式

1、无安装方式最简单,直接打开官方提供的地址:点击跳转



在上面输入你Clickhouse运行的地址、端口、登录名、密码等信息就好了。

2、本地安装方式

本地需要web服务器,所以先安装一个nginx,具体安装不再细说,网上资料有很多,nginx配置

server {
listen 80;
server_name ui.tabix.io;
charset utf-8;
root /var/www/tabix.ui/build;
location / {
if (!-f $request_filename) {
rewrite ^(.*)$ /index.html last;
}
index index.html index.htm;
}
}

然后下载最新的安装文件:点击跳转,并且解压将build文件夹拷贝到nginx对应的目录下,然后浏览运行看下效果,具体登录操作和上面一样。

四、扩充

集群的安装可参考这篇文章:点击跳转

使用Prometheus进行系统的监控

使用Grafana监控数据库的性能

下一篇将介绍数据操作的一些类库

微信关注我哦!(转载注明出处)

.Net轻松处理亿级数据--clickhouse及可视化界面安装介绍的更多相关文章

  1. .Net轻松处理亿级数据--ClickHouse数据操作

    该篇内容由个人博客点击跳转同步更新!转载请注明出处! 我不喜欢拿一堆数据的运行耗时来对比各个解决方案的性能等,有时候看一些测评长篇大论写耗时的一些对比,有时就差个 几百毫秒 我觉得也没啥必要,关键是好 ...

  2. 超实用的mysql分库分表策略,轻松解决亿级数据问题

    一.分库分表的背景 在数据爆炸的年代,单表数据达到千万级别,甚至过亿的量,都是很常见的情景.这时候再对数据库进行操作就是非常吃力的事情了,select个半天都出不来数据,这时候业务已经难以维系.不得已 ...

  3. 基于Mysql数据库亿级数据下的分库分表方案

    移动互联网时代,海量的用户数据每天都在产生,基于用户使用数据的用户行为分析等这样的分析,都需要依靠数据都统计和分析,当数据量小时,问题没有暴露出来,数据库方面的优化显得不太重要,一旦数据量越来越大时, ...

  4. 挑战海量数据:基于Apache DolphinScheduler对千亿级数据应用实践

    点亮 ️ Star · 照亮开源之路 GitHub:https://github.com/apache/dolphinscheduler 精彩回顾 近期,初灵科技的大数据开发工程师钟霈合在社区活动的线 ...

  5. MySQL使用pt-online-change-schema工具在线修改1.6亿级数据表结构

    摘  要:本文阐述了MySQL DDL 的问题现状.pt-online-schema-change的工作原理,并实际利用pt-online-schema-change工具在线修改生产环境下1.6亿级数 ...

  6. 通用技术 mysql 亿级数据优化

    通用技术 mysql 亿级数据优化 一定要正确设计索引 一定要避免SQL语句全表扫描,所以SQL一定要走索引(如:一切的 > < != 等等之类的写法都会导致全表扫描) 一定要避免 lim ...

  7. 不停机不停服务,MYSQL可以这样修改亿级数据表结构

    摘  要:本文阐述了MySQL DDL 的问题现状.pt-online-schema-change的工作原理,并实际利用pt-online-schema-change工具在线修改生产环境下1.6亿级数 ...

  8. Mongodb亿级数据量的性能测试

    进行了一下Mongodb亿级数据量的性能测试,分别测试如下几个项目:   (所有插入都是单线程进行,所有读取都是多线程进行) 1) 普通插入性能 (插入的数据每条大约在1KB左右) 2) 批量插入性能 ...

  9. 巧用redis位图存储亿级数据与访问 - 简书

    原文:巧用redis位图存储亿级数据与访问 - 简书 业务背景 现有一个业务需求,需要从一批很大的用户活跃数据(2亿+)中判断用户是否是活跃用户.由于此数据是基于用户的各种行为日志清洗才能得到,数据部 ...

随机推荐

  1. mysql压缩备份导入导出

    mysqldump工具自带选项没有对导出备份文件压缩功能,可结合gzip只使用一条命令压缩导出文件,方法如下: mysqldump压缩导出:# mysqldump -h192.168.0.3 -P33 ...

  2. 数据库——SQL-SERVER练习(2)连接与子查询

    一.实验准备 1.复制实验要求文件及“CREATE-TABLES.SQL”文件, 粘贴到本地机桌面. 2.启动SQL-SERVER服务. 3. 运行查询分析器, 点击菜单<文件>/< ...

  3. python基础(8):基本数据类型三(dict)、is和==、编码和解码

    1. 字典 1.1 字典的介绍 字典(dict)是python中唯一的一个映射数据类型,它是以{}括起来的键值对组成.在dict中key是唯一的,在保存的时候,根据key来计算出一个内存地址,然后将k ...

  4. Java生鲜电商平台-电商订单系统全解析

    Java生鲜电商平台-电商订单系统全解析 说明:Java生鲜电商平台-电商订单系统全解析主要讲解OMS的内容,设计,开发,架构等知识. 今天分享将会分为以下三个环节来阐述: 1.订单系统的介绍 2.订 ...

  5. CTF丨Linux Pwn入门教程:针对函数重定位流程的相关测试(下)

    Linux Pwn入门教程系列分享已接近尾声,本套课程是作者依据i春秋Pwn入门课程中的技术分类,并结合近几年赛事中出现的题目和文章整理出一份相对完整的Linux Pwn教程. 教程仅针对i386/a ...

  6. Dynamics 365中计算字段与Now进行计算实体导入报错:You can't use Now(), which is of type DateTime, with the current function.

    微软动态CRM专家罗勇 ,回复338或者20190521可方便获取本文,同时可以在第一间得到我发布的最新博文信息,follow me. 计算字段是从Dynamics CRM 2015 SP1版本开始推 ...

  7. 用BAPI_ACC_DOCUMENT_POST过账生成凭证

    根据前台需要输入参数,在bapi里面传值,不同业务所需参数不同. dome1: "bapi结构赋值     LOOP AT lt_item INTO lw_item.       wa_do ...

  8. 中文代码之Django官方入门:建立模型

    参考编写你的第一个 Django 应用,第 2 部分 创建项目后,首先用中文命名应用: $ python3 manage.py startapp 投票 之后在models.py建立模型,其他各种相关配 ...

  9. OSI模型级各层功能

    OSI(Open System Interconnection 即 开放系统互联)国际标准化组织(ISO)制定了OSI模型,该模型定义了不同计算机互联的标准,是设计和描述计算机网络通信的基本框架.OS ...

  10. pyhton 基础数据的爬取1

    1.   什么是网络爬虫? 在大数据时代,信息的采集是一项重要的工作,而互联网中的数据是海量的,如果单纯靠人力进行信息采集,不仅低效繁琐,搜集的成本也会提高.如何自动高效地获取互联网中我们感兴趣的信息 ...