如何引用网站图片,怎么查看一个网站的后台,1688网站可以自己做吗,免费设计签名连笔字1、本地表和分布式表
ck的表分为两种:
分布式表 一个逻辑上的表#xff0c;可以理解为数据库中的视图#xff0c;一般查询都查询分布式表。分布式表引擎会将我们的查询请求路由本地表进行查询#xff0c;然后进行汇总最终返回给用户。本地表 实际存储数据的表。
…1、本地表和分布式表
ck的表分为两种:
分布式表 一个逻辑上的表可以理解为数据库中的视图一般查询都查询分布式表。分布式表引擎会将我们的查询请求路由本地表进行查询然后进行汇总最终返回给用户。本地表 实际存储数据的表。
Distributed Table Distributed Engine ClickHouse分布式表的本质并不是一张表而是一些本地物理表(分片)的分布式视图本身并不存储数据。分布式表建表的引擎为Distributed。 Distrbuted_table
Copy Highlighter-hljs
CREATE TABLE IF NOT EXISTS {distributed_table} as {local_table}
ENGINE Distributed({cluster}, {local_database}, {local_table}, rand())Distributed引擎需要以下几个参数
集群标识符本地表所在的数据库名称本地表名称分片键(sharding key) - 可选 该键与config.xml中配置的分片权重(weight)一同决定写入分布式表时的路由, 即数据最终落到哪个物理表上. 它可以是表中一列的原始数据(如site_id), 也可以是函数调用的结果, 如上面的SQL语句采用了随机值rand(). 注意该键要尽量保证数据均匀分布, 另外一个常用的操作是采用区分度较高的列的哈希值, 如intHash64(user_id).
数据查询的流程 各个实例之间会交换自己持有的分片的表数据汇总到同一个实例上返回给用户。
2、基于表的副本机制
① 特点
副本策略表级别 ClickHouse 的副本机制由表引擎如 ReplicatedMergeTree实现用户可以为每张表单独配置副本数。最终一致性 数据写入时ClickHouse 异步复制到其他副本可能存在短暂的数据不一致。依赖 ZooKeeper 副本之间的协调通过 ZooKeeper 实现如副本状态、任务分配。
② 优点 灵活性高 用户可根据业务需求为不同表配置不同的副本策略。 存储成本可控 可以为重要表配置多副本非重要表减少副本。 适合 OLAP 场景 高吞吐写入、实时查询。
③ 缺点
依赖外部组件如 ZooKeeper增加了系统复杂性。数据一致性较弱最终一致性。
④ 与HDFS副本机制的区别
基于集群的副本机制HDFS 特点 副本策略全局化HDFS 的副本机制是集群级别的所有文件默认存储 3 个副本用户无法针对单个文件或目录单独配置副本数。强一致性数据写入时HDFS 会同步写入所有副本确保数据强一致性。数据块管理HDFS 将文件切分为固定大小的数据块如 128MB每个块独立存储副本。 优点 简单易用用户无需关心副本管理。适合通用文件存储场景如 Hadoop 生态。 缺点 灵活性差无法针对特定数据单独配置副本策略。存储成本高默认 3 副本。
总结 3、分片集群 副本虽然能够提高数据的可用性降低丢失风险但是每台服务器实际上必须容纳全量数据对数据的横向扩容没有解决。 要解决数据水平切分的问题需要引入分片的概念。通过分片把一份完整的数据进行切分不同的分片分布到不同的节点上再通过 Distributed 表引擎把数据拼接起来一同使用。 Distributed 表引擎本身不存储数据有点类似于 MyCat 之于 MySql成为一种中间件通过分布式逻辑表来写入、分发、路由来操作多台节点不同分片的分布式数据。 注意ClickHouse 的集群是表级别的实际企业中大部分做了高可用但是没有用分片避免降低查询性能以及操作集群的复杂性。 集群写入流程3 分片 2 副本共 6 个节点 集群读取流程3 分片 2 副本共 6 个节点 详细配置参考