Phoenix是构建在HBase上的一个SQL层,能让我们用标准的JDBC APIs对HBase数据进行增删改查,构建二级索引.当然,开源产品嘛,自然需要注意“避坑”啦,阿丸会把使用方式和最佳实践都告诉你. 1.什么是Phoenix Phoenix完全使用Java编写,将SQL查询转换为一个或多个HBase扫描,并编排执行以生成标准的JDBC结果集.Phoenix主要能做以下这些事情: 将SQL查询编译为HBase扫描scan 确定scan的开始和停止位置 将scan并行执行 将where子句中…
在前面两篇中,我们从基本概念理解了canal是一个什么项目,能应用于什么场景,然后通过一个demo体验,有了基本的体感和认识. 从这一篇开始,我们将从源码入手,深入学习canal的实现方式.了解canal相关功能的实现方式,其中有很多机制是非常值得深入了解的,从代码实现角度去学习实时数据订阅与同步的实现与核心技术点.当然,如果要在生产中使用这个开源项目,了解源码更是必不可少,是解决问题和新特性定制的前提条件. 本文使用的版本是1.1.4,这也是笔者写这篇博客时的最新稳定版. 1.准备工作 下载源…
基于1.1.5-alpha版本,具体源码笔记可以参考我的github:https://github.com/saigu/JavaKnowledgeGraph/tree/master/code_reading/canal 本文将对canal的启动模块deployer进行分析. Deployer模块(绿色部分)在整个系统中的角色如下图所示,用来启动canal-server. 模块内的类如下: 为了能带着目的看源码,以几个问题开头,带着问题来一起探索deployer模块的源码. CanalServer…
基于1.1.5-alpha版本,具体源码笔记可以参考我的github:https://github.com/saigu/JavaKnowledgeGraph/tree/master/code_reading/canal 本文将对canal的server模块进行分析,跟之前一样,我们带着几个问题来看源码: CanalServer有几种使用方式? 控制台Admin.客户端client是如何与CanalServer交互的? CanalServerWithNetty和CanalServerWithEmb…
基于1.1.5-alpha版本,具体源码笔记可以参考我的github:https://github.com/saigu/JavaKnowledgeGraph/tree/master/code_reading/canal instance模块比较简单,我们重点了解以下几个问题 instance配置模式有哪几种,如何根据配置创建instance? 远端配置如何覆盖本地配置的? instance实例内部有哪些组件? 1.基本结构 instance模块下面也分为三个子模块,core.manager.sp…
基于1.1.5-alpha版本,具体源码笔记可以参考我的github:https://github.com/saigu/JavaKnowledgeGraph/tree/master/code_reading/canal 本文将对canal的binlog订阅模块parser进行分析. parser模块(绿色部分)在整个系统中的角色如下图所示,用来订阅binlog事件,然后通过sink投递到store. parser模块应该来说是整个项目里面比较复杂的模块,代码非常多. 因此,本文根据过程中的主线来…
canal [kə'næl],译意为水道/管道/沟渠,主要用途是基于 MySQL 数据库增量日志解析,提供增量数据 订阅 和 消费.应该是阿里云DTS(Data Transfer Service)的开源版本,开源地址:https://github.com/alibaba/canal. canal从1.1.4版本开始引入了admin控制台,有了很多不一样的配置方式.在搭建过程中如果仅仅按照wiki的用户手册,还是容易踩很多坑的.因此,将笔者在搭建过程中的步骤记录下来,作为官方wiki的 补充,希望…
1.简介 canal [kə'næl],译意为水道/管道/沟渠,主要用途是基于 MySQL 数据库增量日志解析,提供增量数据 订阅 和 消费.应该是阿里云DTS(Data Transfer Service)的开源版本. 2.提供的能力 Canal与DTS提供的功能基本相似: 1)基于Mysql的Slave协议实时dump binlog流,解析为事件发送给订阅方. 2)单Canal instance,单DTS数据订阅通道均只支持订阅一个RDS,提供给一个消费者. 3)可以使用canal-clien…
v\:* {behavior:url(#default#VML);} o\:* {behavior:url(#default#VML);} w\:* {behavior:url(#default#VML);} .shape {behavior:url(#default#VML);} Normal 0 false 7.8 磅 0 2 false false false EN-US ZH-CN X-NONE /* Style Definitions */ table.MsoNormalTable {…
12条用于Linux的MySQL/MariaDB安全最佳实践 2018-01-04 11:05:56作者:凉凉_,soaring稿源:开源中国社区 https://ywnz.com/linuxysjk/808.html 在本指南中,我们将会讲解对开发者有帮助的12条 MySQL/MariaDB 的 Linux 最佳安全实践. MySQL 是世界上最流行的开源数据库系统,MariaDB(一个 MySQL 分支)是世界上增长最快的开源数据库系统.在安装 MySQL 服务器之后,在默认配置下是不安全的…