首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏clickhouse入门

    ClickHouse(10)ClickHouse合并树MergeTree家族表引擎之ReplacingMergeTree详细解析

    MergeTree表引擎的解析可以参考ClickHouse(09)ClickHouse合并树MergeTree家族表引擎之MergeTree详细解析 数据处理策略 最后总结一下ReplacingMergeTree from_column=20421&from=20421 来源文章:ClickHouse(10)ClickHouse合并树MergeTree家族表引擎之ReplacingMergeTree详细解析

    86610编辑于 2024-05-30
  • 来自专栏ClickHouse 源码解析

    ClickHouse 源码解析(三):SQL 的一生(下)

    基于 ClickHouse version 22.10.1 学习并写下 ClickHouse 源码解析系列。由于 CK 版本迭代很快,可能导致代码可能有些出入,但是整体流程大差不差吧。 由于源码阅读过于枯燥,并且不太利于后续复习,所以在逻辑梳理时,我会使用思维导图或者流程图的方式来描述类与类之间的调用逻辑,后半部分会挑出核心的源码去分析。 ----概述上一篇ClickHouse 源码解析(二):SQL 的一生(中)在源码解析部分分析了 ExecutingGraph 的初始化流程,并且在文末画了调度节点状态轮转图,可以直观的看到一个节点是如何从 那么本篇我们紧接着从源码的角度去学习 ExecutingGraph 是如何被调度的,节点状态是如何在其中轮转的。逻辑梳理为了方便复习,先挂上之前画的思维导图。 ClickHouse 源码解析(一):SQL 的一生(上) 我们聚焦于执行 Pipeline 这部分,学习 SelectQuery 的调度流程。

    1.7K31编辑于 2022-12-19
  • 来自专栏ClickHouse 源码解析

    ClickHouse 源码解析(二):SQL 的一生(中)

    基于 ClickHouse version 22.10.1 学习并写下 ClickHouse 源码解析系列。由于 CK 版本迭代很快,可能导致代码可能有些出入,但是整体流程大差不差吧。 由于源码阅读过于枯燥,并且不太利于后续复习,所以在逻辑梳理时,我会使用思维导图或者流程图的方式来描述类与类之间的调用逻辑,后半部分会挑出核心的源码去分析。 在源码解析部分对 SelectQuery 这类查询语句如何构建 QueryPipeline 进行了分析。 ClickHouse 源码解析(一):SQL 的一生(上) 我们聚焦于执行 Pipeline 这部分,学习 SelectQuery 的调度流程。 源码解析上面内容大致了解了ExecutingGraph调度流程,接下来我们深入源码去学习 Graph 的节点初始化和 Graph 的调度。

    2K41编辑于 2022-11-18
  • 来自专栏技术杂货店

    java集合【10】——— LinkedList源码解析

    浅拷贝 实现Serializable,可以被序列化和反序列化 下面是LinkedList的结构,注意:指针结束指向的是node,开始的是prev或者next [20201129152058.png] 源码定义如下 常用List方法解析 4.1 查找相关 4.1.1 getFirst() 获取第一个元素: public E getFirst() { // 保存第一个元素为f,注意是final LLSpliterator<E> implements Spliterator<E> { // 分割长度增加单位 static final int BATCH_UNIT = 1 << 10

    55800发布于 2020-12-05
  • 来自专栏clickhouse入门

    ClickHouse(07)ClickHouse数据库引擎解析

    建表语句DDL详细解析ClickHouse(07)ClickHouse数据库引擎解析ClickHouse(08)ClickHouse表引擎概况ClickHouse(09)ClickHouse合并树MergeTree 家族表引擎之MergeTree详细解析ClickHouse(10)ClickHouse合并树MergeTree家族表引擎之ReplacingMergeTree详细解析ClickHouse(11)ClickHouse ClickHouse(16)ClickHouse日志表引擎Log详细解析ClickHouse(17)ClickHouse集成JDBC表引擎详细解析ClickHouse(18)ClickHouse集成ODBC 表引擎详细解析ClickHouse(19)ClickHouse集成Hive表引擎详细解析ClickHouse(20)ClickHouse集成PostgreSQL表引擎详细解析ClickHouse(21) ClickHouse集成Kafka表引擎详细解析ClickHouse(22)ClickHouse集成HDFS表引擎详细解析ClickHouse(23)ClickHouse集成Mysql表引擎详细解析

    1K10编辑于 2024-03-10
  • 来自专栏clickhouse入门

    ClickHouse(18)ClickHouse集成ODBC表引擎详细解析

    ODBC集成表引擎使得ClickHouse可以通过ODBC方式连接到外部数据库.为了安全地实现 ODBC 连接,ClickHouse 使用了一个独立程序 clickhouse-odbc-bridge. 如果ODBC驱动程序是直接从 clickhouse-server中加载的,那么驱动问题可能会导致ClickHouse服务崩溃。 当有需要时,ClickHouse会自动启动 clickhouse-odbc-bridge。 ODBC桥梁程序与clickhouse-server来自相同的安装包.该引擎支持Nullable数据类型。 默认情况下(如果从软件包安装),ClickHouse以用户clickhouse的身份启动. 因此,您需要在MySQL服务器中创建并配置此用户。 (18)ClickHouse集成ODBC表引擎详细解析

    50220编辑于 2024-05-31
  • 来自专栏clickhouse入门

    ClickHouse(16)ClickHouse日志表引擎Log详细解析

    在读取数据时,ClickHouse 使用多线程。 每个线程处理不同的数据块。 Log 引擎为表中的每一列使用不同的文件。StripeLog 将所有的数据存储在一个文件中。 对每一次 Insert 请求,ClickHouse 将数据块追加在表文件的末尾,逐列写入。 ClickHouse 为每张表写入以下文件: data.bin — 数据文件。 读数据 {#table_engines-stripelog-reading-the-data} 带标记的文件使得 ClickHouse 可以并行的读取数据。 ClickHouse 在查询数据时使用多线程。每个线程读取单独的数据块并在完成后独立的返回结果行。这样的结果是,大多数情况下,输出中块的顺序和输入时相应块的顺序是不同的。 from_column=20421&from=20421 来源文章:ClickHouse(16)ClickHouse日志表引擎Log详细解析

    64310编辑于 2024-05-30
  • 来自专栏clickhouse入门

    ClickHouse(17)ClickHouse集成JDBC表引擎详细解析

    要实现JDBC连接,CH需要使用以后台进程运行的程序 clickhouse-jdbc-bridge。该引擎支持Nullable数据类型。 jdbc_table(`int_id`, `float`)SELECT toInt32(number), toFloat32(number * 1.0)FROM system.numbersJDBC表函数clickhouse 它与建表集成一样,需要clickhouse-jdbc-bridge程序才能运行。它支持可空类型(基于查询的远程表的DDL)。 datasource_column', 'show databases') b ON a.Database = b.name来源文章:ClickHouse(17)ClickHouse集成JDBC表引擎详细解析

    75420编辑于 2024-05-30
  • 来自专栏clickhouse入门

    ClickHouse(19)ClickHouse集成Hive表引擎详细解析

    `f_integer` int, `f_bigint` bigint, `f_float` float, `f_double` double, `f_decimal` decimal(10,0 `f_integer` int, `f_bigint` bigint, `f_float` float, `f_double` double, `f_decimal` decimal(10,0 `f_integer` int, `f_bigint` bigint, `f_float` float, `f_double` double, `f_decimal` decimal(10,0 中建表ClickHouse中的表, 从上面创建的Hive表中获取数据:CREATE TABLE test.test_text( `f_tinyint` Int8, `f_smallint` (19)ClickHouse集成Hive表引擎详细解析

    54520编辑于 2024-06-03
  • 来自专栏黄腾霄的博客

    2019-10-25-slmgr源码解析

    WScript.Arguments.Item(indexOption) LineOut "" Call DisplayUsage() End If End Sub Connect的源码如下 源码有部分删减,其中过程是获得一个叫“Version”的服务对象,从所有产品列表中检查是否是指定的产品,进行激活并更新状态。

    69220发布于 2020-06-10
  • 来自专栏高级前端工程师必备

    react源码解析10.commit阶段

    react源码解析10.commit阶段 视频讲解(高效学习):进入学习 往期文章: 1.开篇介绍和面试题 2.react的设计理念 3.react源码架构 4.源码目录结构和调试 5.jsx&核心api 6.legacy和concurrent模式入口函数 7.Fiber架构 8.render阶段 9.diff算法 10.commit阶段 11.生命周期 12.状态更新流程 13.hooks源码 14. 现在让我们来看看mutation阶段的三个函数分别做了什么事情 commitBeforeMutationEffects 该函数主要做了如下两件事 执行getSnapshotBeforeUpdate 在源码中 所以适用于数据请求等副作用的处理 注意,和在render阶段的fiber node会打上Placement等标签一样,useEffect或useLayoutEffect也有对应的effect Tag,在源码中对应 如果是ClassComponent会执行componentWillUnmount,删除fiber,如果是FunctionComponent 会删除ref、并执行useEffect的销毁函数,具体可在源码中查看

    36430编辑于 2021-12-07
  • 来自专栏高级前端工程师学习必备

    react源码解析10.commit阶段

    react源码解析10.commit阶段 视频课程(高效学习):进入课程 课程目录: 1.开篇介绍和面试题 2.react的设计理念 3.react源码架构 4.源码目录结构和调试 5.jsx&核心api 6.legacy和concurrent模式入口函数 7.Fiber架构 8.render阶段 9.diff算法 10.commit阶段 11.生命周期 12.状态更新流程 13.hooks源码 14. 现在让我们来看看mutation阶段的三个函数分别做了什么事情 commitBeforeMutationEffects 该函数主要做了如下两件事 执行getSnapshotBeforeUpdate 在源码中 所以适用于数据请求等副作用的处理 注意,和在render阶段的fiber node会打上Placement等标签一样,useEffect或useLayoutEffect也有对应的effect Tag,在源码中对应 如果是ClassComponent会执行componentWillUnmount,删除fiber,如果是FunctionComponent 会删除ref、并执行useEffect的销毁函数,具体可在源码中查看

    54700发布于 2021-06-10
  • 来自专栏react源码分析

    react源码解析10.commit阶段

    null;现在让我们来看看mutation阶段的三个函数分别做了什么事情commitBeforeMutationEffects该函数主要做了如下两件事执行getSnapshotBeforeUpdate 在源码中 所以适用于数据请求等副作用的处理 > 注意,和在render阶段的fiber node会打上Placement等标签一样,useEffect或useLayoutEffect也有对应的effect Tag,在源码中对应 { insertOrAppendPlacementNode(finishedWork, before, parent); } } **commitWork更新节点:** 在简化后的源码中可以看到 如果是ClassComponent会执行componentWillUnmount,删除fiber,如果是FunctionComponent 会删除ref、并执行useEffect的销毁函数,具体可在源码中查看 nextEffect); } nextEffect = nextEffect.nextEffect; } } **commitLayoutEffectOnFiber:** 在源码

    55630编辑于 2023-01-02
  • 来自专栏react源码分析

    react源码解析10.commit阶段

    null;现在让我们来看看mutation阶段的三个函数分别做了什么事情commitBeforeMutationEffects该函数主要做了如下两件事执行getSnapshotBeforeUpdate 在源码中 所以适用于数据请求等副作用的处理 > 注意,和在render阶段的fiber node会打上Placement等标签一样,useEffect或useLayoutEffect也有对应的effect Tag,在源码中对应 { insertOrAppendPlacementNode(finishedWork, before, parent); } } **commitWork更新节点:** 在简化后的源码中可以看到 如果是ClassComponent会执行componentWillUnmount,删除fiber,如果是FunctionComponent 会删除ref、并执行useEffect的销毁函数,具体可在源码中查看 nextEffect); } nextEffect = nextEffect.nextEffect; } } **commitLayoutEffectOnFiber:** 在源码

    24610编辑于 2022-11-14
  • 来自专栏用户8771298的专栏

    react源码解析10.commit阶段

    react源码解析10.commit阶段 视频讲解(高效学习):进入学习 往期文章: 1.开篇介绍和面试题 2.react的设计理念 3.react源码架构 4.源码目录结构和调试 5.jsx&核心api 6.legacy和concurrent模式入口函数 7.Fiber架构 8.render阶段 9.diff算法 10.commit阶段 11.生命周期 12.状态更新流程 13.hooks源码 14. 现在让我们来看看mutation阶段的三个函数分别做了什么事情 commitBeforeMutationEffects 该函数主要做了如下两件事 执行getSnapshotBeforeUpdate 在源码中 所以适用于数据请求等副作用的处理 注意,和在render阶段的fiber node会打上Placement等标签一样,useEffect或useLayoutEffect也有对应的effect Tag,在源码中对应 如果是ClassComponent会执行componentWillUnmount,删除fiber,如果是FunctionComponent 会删除ref、并执行useEffect的销毁函数,具体可在源码中查看

    33030编辑于 2021-12-02
  • 来自专栏clickhouse入门

    ClickHouse(20)ClickHouse集成PostgreSQL表引擎详细解析

    ClickHouse尝试将数值映射到ClickHouse的数据类型。设置 external_table_functions_use_nulls 来定义如何处理 Nullable 列. PostgreSQL 的 Array 类型会被转换为 ClickHouse 数组。 <priority>2</priority> </replica> <db>db_name</db>

    table_name
    <where>id=10 ', 'nice.table', 'postgrsql_user', 'password', 'nice.schema');来源文章: ClickHouse(20)ClickHouse集成PostgreSQL 表引擎详细解析

    89820编辑于 2024-06-04
  • 来自专栏clickhouse入门

    ClickHouse(21)ClickHouse集成Kafka表引擎详细解析

    kafka_schema – 如果解析格式需要一个 schema 时,此参数必填。kafka_num_consumers – 单个表的消费者数量。 ClickHouse可以接受和返回各种格式的数据。 以下kafka_format是支持的格式,ClickHouse可以接受和返回各种格式的数据。 例如,如果群集中有10个主题和5个表副本,则每个副本将获得2个主题。 如果副本数量发生变化,主题将自动在副本中重新分配。 clickhouse也支持自己使用keyfile的方式来维护kerbros的凭证。

    1K20编辑于 2024-06-07
  • 来自专栏云数据仓库 ClickHouse

    ClickHouse源码导读:网络IO

    通过源码,发现ClickHouse的网络模型与 **1 Master线程/N Worker线程+非阻塞IO**模型类似,但有自己的特点。主要区别是,Worker线程并没有事件循环。 对于ClickHouse并未使用的网络模型,不在本文讨论范围内。 3. ClickHouse 网络IO设计 ClickHouse-Server支持多种协议,其中包括TCP、HTTP/HTTPS等。 代码追踪到这来,我们是知道 ClickHouse 网络IO处理的大概了,能够知道业务逻辑入口了。如果只想分析 ClickHouse 自身逻辑, 完全可由此打住,去分析 ClickHouse 代码。 结束 ClickHouse是一款优秀的开源OLAP数据库。分析其源码,有助于在生产环境中,更好地使用它。 本文梳理ClickHouse网络IO的设计与实现,通过关键代码片段,剖析其网络IO的内部原理。 这有助于加深对ClickHouse原理的理解。 更多ClickHouse技术交流问题,请留言,拉您进入ClickHouse技术交流群。

    1.4K43发布于 2020-08-26
  • 来自专栏公有云大数据平台弹性 MapReduce

    ClickHouse源码导读:网络IO

    通过源码,发现ClickHouse的网络模型与 **1 Master线程/N Worker线程+非阻塞IO**模型类似,但有自己的特点。主要区别是,Worker线程并没有事件循环。 对于ClickHouse并未使用的网络模型,不在本文讨论范围内。 3. ClickHouse 网络IO设计 ClickHouse-Server支持多种协议,其中包括TCP、HTTP/HTTPS等。 代码追踪到这来,我们是知道 ClickHouse 网络IO处理的大概了,能够知道业务逻辑入口了。如果只想分析 ClickHouse 自身逻辑, 完全可由此打住,去分析 ClickHouse 代码。 结束 ClickHouse是一款优秀的开源OLAP数据库。分析其源码,有助于在生产环境中,更好地使用它。 本文梳理ClickHouse网络IO的设计与实现,通过关键代码片段,剖析其网络IO的内部原理。 这有助于加深对ClickHouse原理的理解。 更多ClickHouse技术交流问题,请留言,拉您进入ClickHouse技术交流群。

    2.8K157发布于 2020-03-23
  • 来自专栏clickhouse入门

    ClickHouse(24)ClickHouse集成mongodb表引擎详细解析

    host:port — MongoDB 服务器地址.database — 数据库名称.collection — 集合名称.user — MongoDB 用户.password — 用户密码.用法示例ClickHouse key UInt64, data String) ENGINE = MongoDB('mongo1:27017', 'test', 'simple_table', 'testuser', 'clickhouse ');查询:SELECT COUNT() FROM mongo_table;┌─count()─┐│ 4 │└─────────┘来源文章:ClickHouse(24)ClickHouse集成 mongodb表引擎详细解析

    39020编辑于 2024-06-23
领券