摘要:
ClickHouse 和 Elasticsearch 是两种不同的数据存储和分析工具,各自在不同的用例和场景下发挥着作用。 数据类型: ClickHouse:主要用于结构化数据,特别擅长处理大规模的数据仓库和分析场景,支持 SQL 查询。 Elasticsearch:适用于非结构化或半结构化数据,特 阅读全文
摘要:
SimHash 1.算法思想 假设我们有海量的文本数据,我们需要根据文本内容将它们进行去重。对于文本去重而言,目前有很多NLP相关的算法可以在很高精度上来解决,但是我们现在处理的是大数据维度上的文本去重,这就对算法的效率有着很高的要求。 而局部敏感hash算法可以将原始的文本内容映射为数字(hash 阅读全文
摘要:
1、缓存 热点数据缓存(例如报表、明星出轨),对象缓存、全页缓存、可以提升热点数据的访问数据。 2、数据共享分布式 String 类型,因为 Redis 是分布式的独立服务,可以在多个应用之间共享。 例如:分布式Session <dependency> <groupId>org.springfram 阅读全文
摘要:
1、布隆过滤器 Bloom过滤器是一种节省空间的概率数据结构,用于测试元素是否为某集合的成员。它用于我们只需要检查元素是否属于对象的场景。 在BigTable(和Cassandra)中,任何读取操作都必须从组成Tablet的SSTable中读取。如果这些SSTable不在内存中,则读取操作可能最终会 阅读全文
摘要:
收到一个客服电话。。 客服:请问你是xxx先生吗?你在京东上的金条服务利率太高,涉嫌高利贷,可能影响你的个人征信,请在客服的帮助下关闭该服务。 我:好的,我看一下(我一直没怎么用京东),先是看到这个图: 这个图说明我并没有使用京东金条,然后在该客服指导下关闭服务: 重点来了。。 告知我关闭失败,需要 阅读全文
摘要:
报告功能:按业务需要,基于报告模板,实现报告的生成,并导出为word或者pdf。 maven依赖 <!-- apache poi pdf --> <dependency> <groupId>fr.opensagres.xdocreport</groupId> <artifactId>fr.opens 阅读全文
摘要:
1.OLAP On-line Analytical Processing,联机分析处理是在基于数据仓库多维模型的基础上实现的面向分析的各类操作的集合。可以比较下其与传统的OLTP(On-line Transaction Processing,联机事务处理)的区别来看一下它的特点: 数据处理类型 OL 阅读全文
摘要:
作者 | Kaito 来源 | 水滴与银弹 大家好,我是 Kaito。这篇文章我想和你聊一聊,关于 Redis 分布式锁的「安全性」问题。Redis 分布式锁的话题,很多文章已经写烂了,我为什么还要写这篇文章呢?因为我发现网上 99% 的文章,并没有把这个问题真正讲清楚。导致很多读者看了很多文章,依 阅读全文
摘要:
简单介绍下几种java字节码增强技术。 ASM ASM是一个Java字节码操控框架,它能被用来动态生成类或者增强既有类的功能。ASM可以直接产生class文件,也可以在类被加载入Java虚拟机之前动态改变类行为。ASM从类文件中读入信息后,能够改变类行为,分析类信息,甚至能够根据用户要求生成新类。 阅读全文
摘要:
一、DevSecOps产品 国内做的比较好的: 悬镜安全:https://www.xmirror.cn/ 默安科技:https://www.moresec.cn/ 开源网安:https://www.seczone.cn/ 容器安全: 小佑科技:https://www.dosec.cn/index.h 阅读全文
摘要:
数据去重(data deduplication)是大数据领域司空见惯的问题了。除了统计UV等传统用法之外,去重的意义更在于消除不可靠数据源产生的脏数据——即重复上报数据或重复投递数据的影响,使计算产生的结果更加准确。 介绍下经常使用的去重方案: 一、布隆过滤器(BloomFilter) 基本原理: 阅读全文
摘要:
一、常用配置优化 对于Nginx的调优,可以大致从如下指令着手: 1. worker_processes 2. worker_connections3. Buffers4. Timeouts5. Gzip Compression6. Static File Caching7. logging 1. 阅读全文
摘要:
一、双流join 在数据库中的静态表上做OLAP分析时,两表join是非常常见的操作。同理,在流式处理作业中,有时也需要在两条流上做join以获得更丰富的信息。 1、Tumbling Window Join 代码示例: DataStream<Integer> orangeStream = ... D 阅读全文
摘要:
背景 业务系统在应用过程中,有时候要处理“经常变化”的部分,这部分需求可能是“业务规则”,也可能是“不同的数据处理逻辑”,这部分动态规则的问题,往往需要可配置,并对性能和实时性有一定要求。 Java不是解决动态层问题的理想语言,在实践中发现主要有以下几种方式可以实现: 表达式语言(expressio 阅读全文
摘要:
1、背景 Flink:1.4.0+ Kakfa:0.11+ 使用场景:flink的source和sink都是kafka,这里的source和sink不限于kafka,可以使用任何一种提供了类似协调机制(2PC)的sink/source。 关键点: Kafka source支持重新消费,手动commi 阅读全文
摘要:
1、背景 日志系统接入的日志种类多、格式复杂多样,主流的有以下几种日志: filebeat采集到的文本日志,格式多样 winbeat采集到的操作系统日志 设备上报到logstash的syslog日志 接入到kafka的业务日志 以上通过各种渠道接入的日志,存在2个主要的问题: 格式不统一、不规范、标 阅读全文
摘要:
Kafka 0.11.x版本(对应 Confluent Platform 3.3),该版本引入了exactly-once语义。 精确一次确实很难实现(Exactly-once is a really hard problem) Mathias Verraes说,分布式系统中最难解决的两个问题是: 消 阅读全文
摘要:
背景 我们的系统基本都是前后端分离架构,后端服务主要框架是基于java的spring boot,为了快速的构建新项目,将平时做后端的东西抽出一个开发脚手架。 技术栈 java 21 spring-boot 3.2.1 springdoc-openapi 2.3.0 guava 32 mybatis. 阅读全文
摘要:
LSM简介 Log Structured Merge Tree,下面简称 LSM。2006年,Google 发表了 BigTable 的论文。这篇论文提到 BigTable 单机上所使用的数据结构就是 LSM。目前,LSM 被很多存储产品作为存储结构,比如 Apache HBase, Apache 阅读全文
摘要:
简单介绍下flink、spark和storm的backpressure机制。 1、storm 反压 实现原理 Storm 是通过监控 Bolt 中的接收队列负载情况来实现反压: 如果一个executor发现recv queue负载超过高水位值(high watermark)就会通知反压线程(back 阅读全文