列式数据库~clickhouse 场景以及安装
一 简介:列式数据库clickhouse的安装与基本操作
二 基本介绍:ClickHouse来自俄罗斯,是一款列式数据库
三 适用场景: 简单类型的大数据统计
四 限制
1 不支持更新操作,不支持事务
2 不支持二级索引,只有主键(主键包含单列主键和联合主键)
3 对精度相关类型有限制,包括存储和计算(时间类型经过验证最新版本已经支持)
4 有限的SQL支持,join实现与众不同。如果需要在从MySQL或Spark进行迁移,则可能必须重新编写包含联接的所有查询。
5 不支持窗口功能
6 复制集群不支持create,drop等操作
7 delete删除大量数据可能有延迟,如果删除全表数据建议使用truncate
五 优势
1 列式存储数据库,数据压缩和查询效率对比mysql有了很大的提升
2 关系型、支持大部分标准SQL
3 针对MYSQL的数据迁移是非常友好的,不再需要第三方工具
4 分布式并行计算,把单机性能压榨到极限
5 复制集群
1极高的同步性能,支持多写
2 拥有数据校验功能,能保持复制的一致性
3 有很高的扩展性
6数据量级能达到PB级别
六 引擎推荐
1 MergeTree,是CK里最Advanced的引擎,性能超高,单机写入可以达到50w峰值,查询性能非常快,单台DB首选
2 ReplicatedMergeTree,基于MergeTree,同时引入ZK,做了复制,
3 Distributed,分布式引擎,本身不存储数据,可认为就是一张View,如果写入,会把请求丢到集群里的节点(有算法控制),如果查询,会帮你做查询转发再聚合返回 集群首选
七 安装-单机部署
curl -s https://packagecloud.io/install/repositories/altinity/clickhouse/script.rpm.sh |bash
如果按照失败,需要禁用IPV6 echo 1 > /proc/sys/net/ipv6/conf/eth0/disable_ipv6
yum install -y clickhouse-server clickhouse-client
启动
service clickhouse-server start
登录
clickhouse-client
如果因为网络问题无法安装成功,需要自行下载四个rpm包
clickhouse-server-common clickhouse-server clickhouse-common-static clickhouse-client
八 配置文件
/etc/clickhouse-server
config-preprocessed.xml
config.xml 数据库相关配置->具体配置请参考文档,这里只列出一些基本
<http_port>8123</http_port>//http端口
<tcp_port>9000</tcp_port>//tcp端口
<interserver_http_port>9009</interserver_http_port>//服务端口,和复制有关
<--data dictory-->
<path>/var/lib/clickhouse/</path>//数据存储目录
<max_connections>4096</max_connections>//最大连接数
<max_concurrent_queries>100</max_concurrent_queries>//并发查询连接数
users-preprocessed.xml
users.xml
九 常见操作
十 补充
1 https://packagecloud.io/altinity/clickhouse rpm包下载
2 一定要选择社区最新的版本,重要的话说三遍,因为最新版是最完整的状态
列式数据库~clickhouse 场景以及安装的更多相关文章
- 数仓选型必列入考虑的OLAP列式数据库ClickHouse(上)
概述 定义 ClickHouse官网地址 https://clickhouse.com/ 最新版本22.4.5.9 ClickHouse官网文档地址 https://clickhouse.com/do ...
- 列式数据库~clickhouse 底层存储原理
简介:今天介绍列式数据库的一些基本原理 一 数据目录 Data目录 数据存储目录,数据按照part分成多个文件夹,每个文件夹下存储相应数据和对应的元信息文件 Metadata 表定义语句,存储所有表 ...
- 数仓选型必列入考虑的OLAP列式数据库ClickHouse(中)
实战 案例使用 背景 ELK作为老一代日志分析技术栈非常成熟,可以说是最为流行的大数据日志和搜索解决方案:主要设计组件及架构如下: 而新一代日志监控选型如ClickHouse.StarRocks特别是 ...
- 列式数据库~clickhouse日常管理
clickhouse日常管理一 变量相关 1 查看变量 system.setting相关表 2 设置变量 set variables= 请注意这里是session级别,如果想永久生 ...
- 列式数据库~clickhouse问题汇总
一 简介:常见的clickhouse 问题汇总 二 问题系列 1 内存问题 Code: 241. DB::Exception: Received from localhost:9000, : ...
- 列式数据库~clickhouse 副本集架构的搭建
clickhouse 搭建副本集 一 原理: 1 依赖ZK,ZK的基础上,ZK存储数据库元数据 2 使用复制表引擎创建复制表,包括ZK路径和副本名,相同ZK路径的表可以相互复制 3 复制表本身拥 ...
- 列式数据库~clickhouse 数据同步使用
一 简介:进一步了解clickhouse二 数据操 1 单机建表 create TABLE aaa ( id UInt32, uid UInt32, amount Float64, ...
- Hbase与Oracle比较(列式数据库与行式数据库)
Hbase与Oracle比较(列式数据库与行式数据库) 1 主要区别 Hbase适合大量插入同时又有读的情况 Hbase的瓶颈是硬盘传输速度,Oracle的瓶颈是硬盘寻道时间. Hbase本质上只 ...
- Hadoop HBase概念学习系列之HBase里的列式数据库(十七)
列式数据库,从数据存储方式上有别于行式数据库,所有数据按列存取. 行式数据库在做一些列分析时,必须将所有列的信息全部读取出来 而列式数据库由于其是按列存取,因此只需在特定列做I/O即可完成查询与分析, ...
随机推荐
- python中 Lambda,Map,Filter,Itertools,Generator高级函数的用法
Lambda 函数 Lambda 函数是一种比较小的匿名函数--匿名是指它实际上没有函数名. Python 函数通常使用 def a_function_name() 样式来定义,但对于 lambda ...
- 【BZOJ1820】[JSOI2010]快递服务(动态规划)
[BZOJ1820][JSOI2010]快递服务(动态规划) 题面 BZOJ 洛谷 题解 考虑无脑四维\(dp\).\(f[i][a][b][c]\),表示当前处理到第\(i\)个任务,三辆车的位置分 ...
- 监控(2)-php-fpm进程监控 shell
#!/bin/bash #监控的网页地址url="http://dev2.jwsmed.com" #fastcgi启动/重启/停止脚本路径PROG=/data/fistsoft/p ...
- protobuf for java
本文档为java编程人员使用protocol buffer提供了一个基本的介绍,通过一个简单的例程进行介绍.通过本文,你可以了解到如下信息: 1.在一个.proto文件中定义一个信息格式. 2.使用p ...
- 【POJ1741】Tree
题目大意:给定一棵 N 个节点的无根树,边有边权,统计树上边权和不大于 K 的路径数. 对于每条树上路径,对于每一个点来说,该路径只有经过该点和不经过该点两种情况,对于不经过该点的情况,可以转化成是否 ...
- Asp:函数是用传值还是传址
传址会把变量的内存地址传递到sub里,在sub里对变量所做的修改就是对原来的变量进行修改,而传值只是把变量的值传递到sub里,此时在sub里修改变量的值不会影响原来的变量. 在vb中调用函数默认是传址 ...
- springboot的小知识总结
1.RestTemplate提交表单数据的三种方法 https://blog.csdn.net/yiifaa/article/details/77939282 2.spring data的分页实现:p ...
- 在Linux上安装Elasticsearch5.x
这里使用elasticsearch做全文检索,不是ELK日志采集. elasticsearch作为全文检索,必须服务端和客服端的版本一致,所以在安装elasticsearch时,要注意版本问题. 前言 ...
- SQL Server 窗口函数详解:OVER()
语法 开窗函数支持分区.排序和框架三种元素,其语法格式如下: OVER ( [ <PARTITION BY clause> ] [ <ORDER BY clause> ] [ ...
- property getitem setitem
..... >>> class Foo(object): def __init__(self,name): self._name = name @property def get_n ...