BasicLab基础架构实验室
本人深耕基础架构领域,曾在国内500强大厂研发企业级百亿量级吞吐中间件,擅长Java语言、Go语言、Python语言、C语言、NodeJS、Web、Linux、深度学习、大数据、云原生等
展开
-
ElasticSearch实战(四十六)-数据实时同步技术选型
本文中讲的几个技术栈都是基于一个叫做 CDC(Change Data Capture)的理论衍生出出来的,大概可以机翻为 “变动数据捕获”,你可以将它视为和数据库有关的架构设计模式的一种。它的核心思想是,监测并捕获数据库的变动(包括数据或数据表的插入,更新,删除等),将这些变更按发生的顺序完整记录下来,写入到消息中间件中以供其他服务进行订阅及消费。我们可以把 CDC 认为是数据库事件驱动的一种数据 / 信息分发系统,CDC 主要适用于以下的场景: 1原创 2021-09-22 15:02:33 · 632 阅读 · 0 评论 -
ElasticSearch实战(四十二)-数据离线同步技术选型
ElasticSearch 需要把存储在三方存储引擎中的数据进行同步,比如 Mysql/PostgreSQL/Cassandra/HBase将数据离线同步到ElasticSearch中,他们中间的数据传输需要通过三方中间件,这边离线同步技术栈选型有几种:一、Logstash Logstash 能够动态地采集、转换和传输数据,不受格式或复杂度的影响。拥有 200 多个插件。您可以将不同的输入选择、过滤器和输出选择混合搭配、精心安排,让它们在管道中和谐地运行。原创 2021-09-20 19:28:42 · 553 阅读 · 0 评论 -
ElasticSearch实战(三十九)-聚合框架
聚合是 ElasticSearch 强大功能之一,是关系分析、知识图谱、统计相关不可缺少的强大功能,ES中包含四类聚合方式:存储桶聚合、度量值聚合、矩阵聚合、管道聚合。ElasticSearch 中聚合的概念,通俗的讲就是按照一些条件从一个数据集中去统计一些信息,比如统计酒店房间有多少,根据价格区间统计酒店数量这些功能。官网的解释:聚合可以进行各种组合以构建复杂的数据汇总。可以看作是在一组文档上建立分析信息的工作单元,统计一些文档集。聚合可以将一些独立...原创 2021-09-20 13:20:43 · 252 阅读 · 0 评论 -
ElasticSearch实战(一)-ElasticSearch单机环境搭建
ElasticSearch,这个熟悉又陌生的名词是从三年前开始听到的,刚接触的时候是用ElasticSearch 与Logstash、Kibana 做了一个服务器日志收集和可视化界面,对于其他用途并不是非常了解,直到再有一次面试一家做支付行业的公司的时候,据说他们公司日订单量达到了千万级别,他们的订单就是存储在ElasticSearch集群中的,这一次面试让我重新认识到了ElasticSearch的用途远远不只是作为一个服务器日志存储工具的,从那一次开始,我就渴望能够对ElasticSea...原创 2021-08-01 20:28:23 · 1175 阅读 · 0 评论 -
ElasticSearch实战(二)-ElasticSearch集群环境搭建
本篇的ES集群是基于ElasticSearch实战(一)-ElasticSearch单机环境搭建的配置来做的,如果你还没有完成第一篇ES单机环境的部署,不建议阅读本文。一、准备工作三台服务器配置信息,如下所示:主机名称 IP地址 硬盘容量 内存容量 CPU核数 es-01 192.168.181.132 50GB 8GB 4C es-02 192.168.181.133 50GB 8GB...原创 2021-08-21 14:52:39 · 308 阅读 · 0 评论 -
ElasticSearch实战(四十八)-Debeizum 实现 MySQL 数据实时同步方案
前文我们通过 Canal 来实时同步数据,Debeizum 是一种比 Canal 更好的实时同步方案,它底层是基于 Kafka-connect 为核心构建的,可以完美对接 Kafka 家族生态,上游支持接入MongoDB、MySQL、PostgreSQL、SQL Server、Oracle、Db2、Cassandra、Vitess,下游是只支持接入 Kafka,然后我们再从 Kafka 中消费数据,可以选择 Kafka-connect 也可以选择 Logstash 来再做一层数据清洗,原创 2021-09-25 14:49:29 · 656 阅读 · 0 评论 -
ElasticSearch实战(四十七)-Canal 实现 MySQL 数据实时同步方案
Canal 主要用途是基于 MySQL 数据库增量日志解析,提供增量数据订阅和消费早期阿里巴巴因为杭州和美国双机房部署,存在跨机房同步的业务需求,实现方式主要是基于业务 trigger 获取增量变更。从 2010 年开始,业务逐步尝试数据库日志解析获取增量变更进行同步,由此衍生出了大量的数据库增量订阅和消费业务。基于日志增量订阅和消费的业务包括数据库镜像 数据库实时备份 索引构建和实时维护(拆分异构索引、倒排索引等) 业务 cache 刷新...原创 2021-09-22 18:24:59 · 603 阅读 · 0 评论 -
ElasticSearch实战(四十四)-Datax 开源数据离线同步方案
DataX 是阿里巴巴集团内被广泛使用的离线数据同步工具/平台,实现包括 MySQL、Oracle、SqlServer、Postgre、HDFS、Hive、ADS、HBase、TableStore(OTS)、MaxCompute(ODPS)、DRDS 等各种异构数据源之间高效的数据同步功能。DataX本身作为数据同步框架,将不同数据源的同步抽象为从源头数据源读取数据的Reader插件,以及向目标端写入数据的Writer插件,理论上DataX框架可以支持任意数据源类型的数据同...原创 2021-09-22 12:05:03 · 1080 阅读 · 0 评论 -
ElasticSearch实战(四十三)-Logstash 官方数据离线同步方案
在上文中,我们提到了三种离线数据同步方案,Logstash 是轻量级数据离线同步方案的一种,为什么我们说它是轻量级而不是重量级?因为 Logstash 他适合处理单数据源的简单数据结构的数据清洗和转换,在处理复杂数据源和复杂数据结构它并不是很合适,Logstash官方可支持多种数据源的数据离线同步,图示如下: 我就给一个Mysql数据通过Logstash同步到ElasticSearch中的案例供大家操作。一、安装logstash并同步MySQL数据库原创 2021-09-20 20:04:47 · 401 阅读 · 0 评论 -
ElasticSearch实战(五十)-让Elasticsearch飞起来!百亿级数据存储与查询优化实战!!!
等我凑够15台笔记本,召唤神龙!等我!!! --continue原创 2021-09-25 15:45:41 · 983 阅读 · 1 评论 -
ElasticSearch实战(四十九)-Flink 大数据实时同步方案
工作中难免会涉及到比前文介绍的更加复杂的关联计算场景,这个时候业界做法是用大数据Flink集群来做海量数据实时同步关联计算。一、Flink应用场景 ——因为涉及到要用写Flink相关代码,所以我打算先写完Flink专栏再来写这篇文章。原创 2021-09-25 15:41:25 · 644 阅读 · 0 评论 -
ElasticSearch实战(四十一)-存储桶聚合
Elasticsearch除了在搜索方面非常之快,对数据分析也是非常重要的一面。正确理解Bucket aggregation对我们使用Kibana非常重要。Elasticsearch提供了非常多的aggregation可以供我们使用。其中Bucket aggregation对于初学者来说也是比较不容易理解的一个。在今天的这篇文章中,我来重点讲述这个。简单地说:一个桶代表一个具有共同标准的文档集合。存储桶(bucket)是聚合的关键要素。比如,我们想分析每个月的log流量:...原创 2021-09-20 14:30:55 · 461 阅读 · 0 评论 -
ElasticSearch实战(四十)-度量值聚合
度量值聚合基于以某种方式从正在聚合的文档中提取的值来计算度量。这些值通常从文档的字段中提取(使用字段数据),但也可以使用脚本生成。数值度量聚合是一种输出数值的特殊类型的度量聚合。一些聚合输出单个数值度量(例如平均值),称为单值度量聚合,另一些输出多个度量值(例如统计数据),称为多值数值度量聚合。单值与多值数值度量聚合的区别是,他们充当某些桶聚合(比如某些桶聚合可以基于每个桶的数值度量对返回的桶进行排序)的直接子聚合时发挥了不同的作用。 1、均值聚合...原创 2021-09-20 13:46:40 · 426 阅读 · 0 评论