java技术圈 为您找到相关结果 298

【Netty】(8)---理解ChannelPipeline - 雨点的名字

ChannelPipeline ChannelPipeline不是单独存在,它肯定会和Channel、ChannelHandler、ChannelHandlerContext关联在一起,所以有关概念这里一起讲。 一、ChannelHandler 1、概念 先看图 ChannelHandler下主要是两个子接口 ChannelInboundHandler(入站): 处理输入数据和Channel状态类型改变。 适配器: ChannelInboundHandlerAdapter(适配器设计模式) 常用的: SimpleChannelInboundHandler ChannelOutboundHandler(出站): 处理输出数据 适配器: ChannelOutboundHandlerAdapter...阅读全文

博文 2021-09-02 12:29:43 博客园

Linux中Buffer和Cache的区别 - D_R_Y

1. Cache:缓存区,是高速缓存,是位于CPU和主内存之间的容量较小但速度很快的存储器,因为CPU的速度远远高于主内存的速度,CPU从内存中读取数据需等待很长的时间,而 Cache保存着CPU刚用过的数据或循环使用的部分数据,这时从Cache中读取数据会更快,减少了CPU等待的时间,提高了系统的性能。 Cache并不是缓存文件的,而是缓存块的(块是I/O读写最小的单元);Cache一般会用在I/O请求上,如果多个进程要访问某个文件,可以把此文件读入Cache中,这样下一个进程获取CPU控制权并访问此文件直接从Cache读取,提高系统性能。 2. Buffer:缓冲区,用于存储速度不同步的设备或优先级不同的设备之间传输数据;通过buffer可以减少进程间通信需要等待的时间,当存储速度快的设...阅读全文

博文 2020-06-21 04:42:58 博客园

MapReduce 数据倾斜原因和解决方案_一次次尝试

MapReduce简介 MapReduce是面向大数据并行处理的计算模型、框架和平台,它隐含了以下三层含义: 1)MapReduce是一个基于集群的高性能并行计算平台(Cluster Infrastructure)。它允许用市场上普通的商用服务器构成一个包含数十、数百至数千个节点的分布和并行计算集群。 2)MapReduce是一个并行计算与运行软件框架(Software Framework)。它提供了一个庞大但设计精良的并行计算软件框架,能自动完成计算任务的并行化处理,自动划分计算数据和计算任务,在集群节点上自动分配和执行任务以及收集计算结果,将数据分布存储、数据通信、容错处理等并行计算涉及到的很多系统底层的复杂细节交由系统负责处理,大大减少了软件开发人员的负担。 3)MapReduce是一...阅读全文

博文 2021-02-22 04:44:09 CSDN博客_mapreduce数据倾斜原因

基于CORNERSTONE的销售管理之道

由于所销售的产品性质、所具有的销售规模、所形成的销售团队组织形式等各不相同,不同的公司对销售管理信息系统有着不同的需求。 一般常见的公司销售结构为:销售总监-销售经理-销售主管-销售业务员。事实表明,在销售队伍规模较小的情况下,依靠传统的管理模式,销售系统可以维持正常运转。而一旦业务发展,销售地域扩大,销售队伍增大,销售经理们就会发现越来越难以控制、掌握整个销售流程。困难来自于需要管理和控制的各种销售信息的爆炸式增长。 而[CORNERSTONE](https://www.cornerstone365.cn/)的出现,让大家告别的传统的管理模式,一站式同步在线协同协作,解决了销售信息的传递问题,使得较大范围内的信息迅速传递成为可能,而销售信息的及时传递使经理们可以对信息进行自动化管理。下面我...阅读全文

spring中的@Transactional注解使用注意点_徐靖峰的专栏

@Transactional可以说是spring中最常用的注解之一了,通常情况下我们在需要对一个service方法添加事务时,加上这个注解,如果发生unchecked exception,就会发生rollback,最典型的例子如下。 @Service public class StudentService { @Autowired StudentDao studentDao; @Transactional public void innerSave(int i) { Student student = new Student(); student.setName("test" + i); studentDao.save(student); //i=5 会出现异常 int a = 1 / (i...阅读全文

博文 2020-10-16 14:51:29 CSDN博客

你们都在用什么项目管理软件?

在任何一个项目开发或设计中,项目管理被认为最重要的过程之一,因此,选择一款适宜的项目管理工具尤为重要。项目管理是指管理项目计划、定义、监控、控制以及确认交付的过程,因此它的优势也是被公认的。随着各个领域特定项目管理需求的提升,企业就需要一个更好的项目管理工具来管理项目进程。因此一款高效的、良好的项目管理软件是企业必须具备的。在此,小编给大家推荐一款广受好评的项目管理软件[CORNERSTONE](https://www.cornerstone365.cn/),本文会结合项目管理最佳实践,总结项目远程协作中的一些重点,希望可以给大家提供一点帮助。![image.png](https://img-blog.csdnimg.cn/20200310135241624.png?x-oss-proces...阅读全文

世界500强常用的管理方法和工具推荐

工具可以帮助我们规范化一体化,工具还可以帮助我们提升工作效率,专业管理人员必须要会使用工具。 下面给大家介绍九种高效率的处理工作的管理方法与管理工具,通过学习这些方法让你的工作变得有条不紊,可进可退,并且通过这些以前你从不知道的法则和分析方法来锻炼你的分析和处理事情的能力,一起涨姿势。 1、二八原则 巴列特定律:“总结果的80%是由总消耗时间中的20%所形成的。”按事情的“重要程度”编排事物优先次序的准则是建立子啊“重要的少数与琐碎的多数”的原理的基础上。 举例说明:80%的销售额是源自20%的顾客;80%的电话是来自20%的朋友;80%总产量来自20%的产品;80%的财富集中在20%的人手中。 启示我们在工作中要善于抓主要矛盾,善于从纷繁复杂的工作中理出头绪,把资源用在最重要、最紧迫的事情...阅读全文

Hadoop中的Mapper和Reducer数量设定

在对Mapper调优的过程中,一个经验法则是: map任务最好拥有一分钟以上的运行时间。 因为如果任务运行时间过短,将导致在整个作业的执行过程中任务启动所花费的时间过大,从而降低了实际的任务执行效率。 对map任务的运行时间影响最大的是Mapper的个数,不过与Reducer不同,Mapper的个数是无法显示指定的。 调节Mapper数量的一种方式是设置参数mapred.jobtracker.maxtasks.per.job, 但其只能限制每个job中并发运行的map或reduce任务的上限,而当实际运行的map数低于该上限时,该参数将失效。 如果想要对Mapper个数进行更加直接有效的控制,需要指定输入数据的分片大小。 输入分片(input split)是MapReduce框架为使map任...阅读全文

博文 2020-08-31 02:33:58 Summer is Green

都有哪些好用的项目管理工具?

项目管理工具,一般指为了使工作项目能够按照预定的成本、进度、质量顺利完成,而对人员、产品、过程和项目进行分析和管理的一类软件。 从上述定义上看,项目管理工具是为了帮助管理者,但管理者需要了解自己在特定情况下的“缺点”,才能从“恰当”的工具中获得“恰当”的帮助。 如果你不知道在某个特定项目中自己(作为项目经理)的缺点,也不知道自己需要利用哪些好用的项目管理工具获得哪些帮助,那么项目的成功完全是靠运气。 市场上大部分项目管理工具都是信息记录工具,如看板(KANBAN)工具和MS project项目管理工具。 看板工具模拟的是在白板上使用黄色便利贴手动记录和更改信息。MS project模拟是人类在电子表格中拟写项目计划。 在项目执行过程中,单纯的信息记录工具并没有检测谎言的逻辑能力,而是100%...阅读全文

Linux Kernel 4.9 中的 BBR 算法与之前的 TCP 拥塞控制相比有什么优势?

登录一下,更多精彩内容等你发现贡献精彩回答,参与评论互动登录查看全部 25 个回答学徒programmer70 人赞同了该回答在探讨这个问题之前,关于网络中的Bufferbloat问题需要了解,详细信息在这里(https://www.bufferbloat.net/projects/bloat/wiki/Introduction/),@李博杰 的回答也说得比较清楚了。在这里做一些补充吧。流量控制分为两部分:* 接收方的流量控制(即滑动窗口)-- 由接收方告知,只关注自身缓存情况,不关注网络,这里不讨论。* 发送方的流量控制(即拥塞控制)现在广泛使用的CUBIC/(new)Reno都是基于丢包的,在算法上重点输出拥塞窗口(cwnd);而BBR输出cwnd和pacing_rate,且pacing...阅读全文

博文 2020-09-06 14:37:35 知乎

平衡二叉树、B树、B+树、B*树 理解其中一种你就都明白了

1、平衡二叉树概念平衡二叉树是基于二分法的策略提高数据的查找速度的二叉树的数据结构;特点:平衡二叉树是采用二分法思维把数据按规则组装成一个树形结构的数据,用这个树形结构的数据减少无关数据的检索,大大的提升了数据检索的速度;平衡二叉树的数据结构组装过程有以下规则:(1)非叶子节点只能允许最多两个子节点存在。(2)每一个非叶子节点数据分布规则为左边的子节点小当前节点的值,右边的子节点大于当前节点的值(这里值是基于自己的算法规则而定的,比如hash值);平衡树的层级结构:因为平衡二叉树查询性能和树的层级(h高度)成反比,h值越小查询越快、为了保证树的结构左右两端数据大致平衡降低二叉树的查询难度一般会采用一种算法机制实现节点数据结构的平衡,实现了这种算法的有比如Treap、红黑树,使用平衡二叉树能保...阅读全文

Unicode与UTF-8/UTF-16/UTF-32的区别 - 刘宝成

Unicode与UTF-8/UTF-16/UTF-32的区别 Unicode的最初目标,是用1个16位的编码来为超过65000字符提供映射。但这还不够,它不能覆盖全部历史上的文字,也不能解决传输的问题 (implantation head-ache's),尤其在那些基于网络的应用中。已有的软件必须做大量的工作来程序16位的数据。 因此,Unicode用一些基本的保留字符制定了三套编码方式。它们分别是UTF-8,UTF-16和UTF-32。正如名字所示,在UTF-8中,字符 是以8位序列来编码的,用一个或几个字节来表示一个字符。这种方式的最大好处,是UTF-8保留了ASCII字符的编码做为它的一部分,例如,在 UTF-8和ASCII中,“A”的编码都是0x41. UTF-16和UTF-32分别...阅读全文

TCP UDP包大小分析

1.关于MTU MTU最大传输单元,这个最大传输单元实际上和链路层协议有着密切的关系,EthernetII帧的结构DMAC+SMAC+Type+Data+CRC由于以太网传输电气方面的限制,每个以太网帧都有最小的大小64Bytes最大不能超过1518Bytes,对于小于或者大于这个限制的以太网帧我们都可以视之为错误的数据帧,一般的以太网转发设备会丢弃这些数据帧。 由于以太网EthernetII最大的数据帧是1518Bytes这样,刨去以太网帧的帧头(DMAC目的MAC地址48bits=6Bytes + SMAC源MAC地址48bits=6Bytes + Type域2Bytes)14Bytes和帧尾CRC校验部分4Bytes那么剩下承载上层协议的地方也就是Data域最大就只能有1500Byte...阅读全文

tcpdump抓包规则命令大全-kxt314

说是大全其实我列取得只是一些常用的命令与大家分享。 下面的例子全是以抓取eth0接口为例,如果不加”-i eth0”是表示抓取所有的接口包括lo。 1、抓取包含10.10.10.122的数据包 # tcpdump -i eth0 -vnn host 10.10.10.122 2、抓取包含10.10.10.0/24网段的数据包# tcpdump -i eth0 -vnn net 10.10.10.0/24 3、抓取包含端口22的数据包# tcpdump -i eth0 -vnn port 22 4、抓取udp协议的数据包# tcpdump -i eth0 -vnn udp 5、抓取icmp协议的数据包# tcpdump -i eth0 -vnn icmp 6、抓取arp协议的数据包# tcpd...阅读全文

博文 2021-05-29 06:44:06 ChinaUnix博客

IT项目管理经验分享, 如何做好IT项目管理

今天来跟大家聊聊项目管理。 项目管理这个话题很大,同样资源情况下,良好的项目管理可以提高项目完成质量和工作效率、避免延期或者缩短项目完成时间。今天聊一些实战经验,略偏重 IT 开发项目,也是我们基于在线和远程办公的一点思考。 远程办公改变了组织和团队的形式,因此对项目管理的能力要求也大大提高了。 1. 同时管理多个项目的能力 ![image.png](https://img-blog.csdnimg.cn/20200428154107687.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQxMTM3NDkz,size_16,...阅读全文

博文 2020-04-28 08:16:59 CORNERSTONE

企业应该怎样选择项目管理软件?

项目管理通常涉及人、财、物的调配和管理。项目管理流程十分复杂,仅靠人工管理往往难以管理好。 因此,选择一个有效的工具来管理整个项目很有必要。 目前,市面上的项目管理软件繁多冗杂,良莠不齐,企业需根据自身情况选择项目管理工具,以提高效率,赢得市场竞争。 如果项目的复杂程度永远不超出项目经理或项目团队的经验水平和记忆容量,只靠他们的人工管理也能在项目发生事情时识别因果关系并追溯问题的源头。 但问题是,几乎所有与业务相关的项目其复杂程度,都能轻易超出项目经理或项目团队的经验水平和记忆容量限度,只是团队不自知而已。 所以才会有不少团队用了错误的准则来选择管理工具,导致工具不能在项目信息上及问题溯源上弥补团队的不足。 因此,在选择项目管理软件时,企业应从多方面考虑,确保选择到合适的项目管理工具。 一、...阅读全文

SQL四种语言:DDL,DML,DCL,TCL - Comm100 Testers

1.DDL(Data Definition Language)数据库定义语言statements are used to define the database structure or schema. DDL是SQL语言的四大功能之一。用于定义数据库的三级结构,包括外模式、概念模式、内模式及其相互之间的映像,定义数据的完整性、安全控制等约束DDL不需要commit.CREATEALTERDROPTRUNCATECOMMENTRENAME2.DML(Data Manipulation Language)数据操纵语言statements are used for managing data within schema objects. 由DBMS提供,用于让用户或程序员使用,实现对数据库中数据...阅读全文

MySQL中IN子查询会导致无法使用索引 - MSSQL123

今天看到一个博客园的一篇关于MySQL的IN子查询优化的案例,一开始感觉有点半信半疑(如果是换做在SQL Server中,这种情况是绝对不可能的,后面会做一个简单的测试。)随后动手按照他说的做了一个表来测试验证,发现MySQL的IN子查询做的不好,确实会导致无法使用索引的情况(IN子查询无法使用所以,场景是MySQL,截止的版本是5.7.18) MySQL的测试环境 测试表如下 create table test_table2 ( id int auto_increment primary key, pay_id int, pay_time datetime, other_col varchar(100) ) 建一个存储过程插入测试数据,测试数据的特点是pay_id可重复,这里在存储过程处理...阅读全文

博文 2021-02-24 06:23:47 博客园

多个单列索引和联合索引的区别详解_数据库_Abysscarry的博客

背景: 为了提高数据库效率,建索引是家常便饭;那么当查询条件为2个及以上时,我们是创建多个单列索引还是创建一个联合索引好呢?他们之间的区别是什么?哪个效率高呢?我在这里详细测试分析下。 一、联合索引测试 注:Mysql版本为 5.7.20 创建测试表(表记录数为63188): CREATE TABLE `t_mobilesms_11` ( `id` bigint(20) NOT NULL AUTO_INCREMENT, `userId` varchar(255) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL DEFAULT '' COMMENT '用户id,创建任务时的userid', `mobile` varchar(24) NOT NULL D...阅读全文

博文 2020-04-21 04:36:55 CSDN博客

没有流程的项目管理,都是在做无用功!

没有任何一个项目能轻而易举的成功。但是你却可以努力去争取更大的成功率,靠的便是精心设计、并且行之有效的流程管理。 其实,只要项目的流程搞清晰了,项目进度管理就不再是难事。作为项目经理,首先要关注的就是以下十个关键的流程点。 1、项目定义 项目要开始了,先给项目来个定义吧。不管你如何并为何要进行描述,你要对你的项目进行书面定义,让相关方和项目组随时参考。 项目定义的价值在于,项目主管方和其他相关方传达了他们对项目的期待。清晰的项目定义包括以下方面:项目目标项目回报 对项目范围进行定义,列出所有预期的项目成果成本和时间预算目标重大困难和假设描述该项目对其他项目的依赖高风险、所需的新技术、项目中的重大问题将尽可能多的具体信息囊括在项目描述或章程中,并使其在相关方处获得认可,进而生效。 2、合同与采...阅读全文

虚拟IP技术 ip地址漂移技术 - myseries

1.虚拟IP 在 TCP/IP 的架构下,所有想上网的电脑,不论是用何种方式连上网路,都必须要有一个唯一的 IP-address。事实上IP地址是主机硬件地址的一种抽象,简单的说,MAC地址是物理地址,IP地址是逻辑地址。 虚拟IP,就是一个未分配给真实主机的IP,也就是说对外提供服务器的主机除了有一个真实IP外还有一个虚IP,使用这两个IP中的任意一个都可以连接到这台主机。 虚拟IP一般用作达到HA(High Availability)的目的,比如让所有项目中数据库链接一项配置的都是这个虚IP,当主服务器发生故障无法对外提供服务时,动态将这个虚IP切换到备用服务器。 2.虚拟IP原理 ARP是地址解析协议,它的作用很简单,将一个IP地址转换为MAC地址,然后给传输层使用。 每台主机中都有一...阅读全文

聊聊MyBatis缓存机制

前言MyBatis是常见的Java数据库访问层框架。在日常工作中,开发人员多数情况下是使用MyBatis的默认缓存配置,但是MyBatis缓存机制有一些不足之处,在使用中容易引起脏数据,形成一些潜在的隐患。个人在业务开发中也处理过一些由于MyBatis缓存引发的开发问题,带着个人的兴趣,希望从应用及源码的角度为读者梳理MyBatis缓存机制。本次分析中涉及到的代码和数据库表均放在GitHub上,地址: mybatis-cache-demo 。目录本文按照以下顺序展开。一级缓存介绍及相关配置。一级缓存工作流程及源码分析。一级缓存总结。二级缓存介绍及相关配置。二级缓存源码分析。二级缓存总结。全文总结。一级缓存一级缓存介绍在应用运行过程中,我们有可能在一次数据库会话中,执行多次查询条件完全相同的S...阅读全文

博文 2020-11-02 07:13:23 美团技术团队

为什么用MQTT不用TCP长连接透传 | 文章

前言在接触到MQTT之后,总是会有疑问,为什么用MQTT不用TCP长连接透传?看起来【TCP长连接+私有协议透传】和【MQTT+业务主题】似乎都能达到同样的目的,甚至用MQTT会使得设备端逻辑实现、APP端逻辑实现、云端架构实现更加复杂。那么为什么物联网还要使用MQTT协议呢?一、MQTT相比于TCP长连接的优势1、协议更标准MQTT是标准的RFC协议,相比于私有协议而言更加标准。好处在于:(1)协议非常完整,能够马上用于生产。各端实现同一套协议之后,就能进行通信;私有协议还需要进行大量的验证,看有无缺陷或欠考虑的地方等。(2)协议的标准化带来大量的开源组件,降低开发难度。随着物联网+5G生态越来越好,开源组件越来越多,可以减少重复编码量。(3)标准协议利于第三方接入。当第三方设备、平台想要...阅读全文

博文 2021-08-26 07:24:00 BEWINDOWEB

idea编译项目很慢

如果你正在使用 IntelliJ IDEA 编译 Java 项目,遇到编译速度缓慢的问题,以下是一些可能的原因和解决方法: 内存不足:检查你的电脑内存是否足够支持 IDEA 运行,并确保为 IDEA 分配了足够的内存。你可以编辑 IntelliJ IDEA 安装目录下的 bin 目录下的 idea64.exe.vmoptions 文件,将-Xms和-Xmx参数值增加一些。 插件过多:禁用不必要的插件,因为一些插件可能会导致 IDEA 编译速度变慢。 外部依赖库:检查你的项目是否引用了大量的外部依赖库,如果是,建议尝试减少依赖库的数量或者更换为较小的依赖库。 编译设置:检查你的编译设置是否正确。例如,你可以在“File” -> “Settings” -> “Build, Execution, ...阅读全文

SQL子查询总结:相关子查询与非相关子查询有什么区别

如果一个select语句能够返回单个值或者一列值,且该select语句嵌套在另一个SQL语句(例如select语句、insert语句、update语句或者delete语句)中,那么该select语句成为“子查询”(也叫内层查询),包含子查询的SQL语句称为“主查询”(也叫外层查询)。为了标记子查询与主查询之间的关系,通常将子查询写在小括号内。子查询一般用在主查询的where子句或having子句中,与比较运算符或者逻辑运算符一起构成where筛选条件或having筛选条件。子查询分为“相关子查询”(Dependent Subquery)与“非相关子查询”。 非相关子查询如果子查询返回单个值,则可以讲一个表达式的值与子查询的结果进行比较。 例如,检索成绩比学生张三平均分高的所有学生及课程的信息...阅读全文

博文 2022-06-30 02:47:22 知乎

Hive中的explode使用全解

本节主要介绍explode和posexplode函数的使用。1、数据介绍 主要包括三列,分别是班级、姓名以及成绩,数据表名是default.classinfo。2、单列Explode 首先来看下最基本的,我们如何把student这一列中的数据由一行变成多行。这里需要使用split和explode,并结合lateral view实现。代码如下:select class,student_name from default.classinfo lateral view explode(split(student,',')) t as student_name 结果如下:3、单列Posexplode 接下来,我们想要给每个同学来一个编号,假设编号就按姓名的顺序,此时我们要用到另一个hive函数,叫做...阅读全文

博文 2022-03-27 05:57:59 知乎

UDP 单播、广播和多播 - Rimond_Jing

使用UDP协议进行信息的传输之前不需要建议连接。换句话说就是客户端向服务器发送信息,客户端只需要给出服务器的ip地址和端口号,然后将信息封装到一个待发送的报文中并且发送出去。至于服务器端是否存在,或者能否收到该报文,客户端根本不用管。 单播用于两个主机之间的端对端通信,广播用于一个主机对整个局域网上所有主机上的数据通信。单播和广播是两个极端,要么对一个主机进行通信,要么对整个局域网上的主机进行通信。实际情况下,经常需要对一组特定的主机进行通信,而不是整个局域网上的所有主机,这就是多播的用途。 通常我们讨论的udp的程序都是一对一的单播程序。本章将讨论一对多的服务:广播(broadcast)、多播(multicast)。对于广播,网络中的所有主机都会接收一份数据副本。对于多播,消息只是发送到一...阅读全文

博文 2021-08-26 04:06:01 博客园

刨根问底,Kafka消息中间件到底会不会丢消息

大型互联网公司一般都会要求消息传递最大限度的不丢失,比如用户服务给代金券服务发送一个消息,如果消息丢失会造成用户未收到应得的代金券,最终用户会投诉。 为避免上面类似情况的发生,除了做好补偿措施,更应该在系设计的时候充分考虑各种异常,设计一个稳定、高可用的消息系统。 认识 Kafka 看一下维基百科的定义 Kafka 是分布式发布-订阅消息系统。它最初由 LinkedIn 公司开发,之后成为 Apache 项目的一部分。Kafka是一个分布式的、可划分的、冗余备份的持久性的日志服务。它主要用于处理活跃的流式数据。 Kafka 架构 Kafka 的整体架构非常简单,是显式分布式架构,主要由 Producer、Broker(Kafka) 和 Consumer 组成。 Kafka架构(精简版) Pr...阅读全文

博文 2022-07-08 07:45:39 爱代码爱编程

Kafka Producer重试参数retries设置取舍【实战笔记】 - 腾讯云开发者社区

目录1.retries参数说明 2.retries使用建议 3.retries后续发展复制1.retries参数说明参数的设置通常是一种取舍,看下retries参数在版本0.11.3说明:Setting a value greater than zero will cause the client to resend any record whose send fails with a potentially transient error. Note that this retry is no different than if the client resent the record upon receiving the error. Allowing retries without s...阅读全文

博文 2023-02-27 12:11:25 腾讯云

时序数据库技术体系-时序数据存储模型设计 – 有态度的HBase/Spark/BigData

时序数据库技术体系中一个非常重要的技术点是时序数据模型设计,不同的时序系统有不同的设计模式,不同的设计模式对时序数据的读写性能、数据压缩效率等各个方面都有不同程度的影响。这篇文章笔者将会分别针对OpenTSDB、Druid、InfluxDB以及Beringei这四个时序系统中的时序数据模型设计进行介绍。 在详细介绍时序数据模型之前,还是有必要简单回顾一下时序数据的几个基本概念,如下图所示: 上图是一个典型的时序数据示意图,由图中可以看出,时序数据由两个维度坐标来表示,横坐标表示时间轴,随着时间的不断流逝,数据也会源源不断地吐出来;和横坐标不同,纵坐标由两种元素构成,分别是数据源和metric,数据源由一系列的标签(tag,也称为维度)唯一表示,图中数据源是一个广告数据源,这个数据源由publ...阅读全文

博文 2022-04-15 07:21:46 hbasefly.com

Hive典型应用场景之行列转换_小飞鱼_bigdata的博客

在使用Hive处理数据时,经常遇到行列转换的场景,本文将对Hive的行列转换操作做详细的说明。 行转列## 1)多行转多列 假设数据表 row2col: col1 col2 col3 a c 1 a d 2 a e 3 b c 4 b d 5 b e 6 现在要将其转化为: col1 c d e a 1 2 3 b 4 5 6 此时需要使用到max(case … when … then … else 0 end),仅限于转化的字段为数值类型,且为正值的情况。 HQL语句为: select col1, max(case col2 when 'c' then col3 else 0 end) as c, max(case col2 when 'd' then col3 else 0 end) a...阅读全文

博文 2022-03-27 05:58:44 CSDN博客_hive 行列互换

干货 | Elasticsearch Reindex性能提升10倍+实战_铭毅天下的博客

Elasticsearch 最少必要知识实战教程直播回放 #1、reindex的速率极慢,是否有办法改善? 以下问题来自社区:https://elasticsearch.cn/question/3782 问题1:reindex和snapshot的速率极慢,是否有办法改善? reindex和snapshot的速率比用filebeat或者kafka到es的写入速率慢好几个数量级(集群写入性能不存在瓶颈),reindex/snapshot的时候CPU还是IO使用率都很低,是不是集群受什么参数限制了reindex和snapshot的速率? reindex不管是跨集群还是同集群上都很慢,大约3~5M/s的索引速率,会是什么原因导致的? 问题2:数据量几十个G的场景下,elasticsearch rei...阅读全文

博文 2022-04-02 10:12:57 CSDN博客_es reindex速度

大型互联网公司一般都会要求消息传递最大限度的不丢失,比如用户服务给代金券服务发送一个消息,如果消息丢失会造成用户未收到应得的代金券,最终用户会投诉。为避免上面类似情况的发生,除了做好补偿措施,更应该在系设计的时候充分考虑各种异常,设计一个稳定、高可用的消息系统。认识 Kafka看一下维基百科的定义Kafka 是分布式发布-订阅消息系统。它最初由 LinkedIn 公司开发,之后成为 Apache 项目的一部分。Kafka是一个分布式的、可划分的、冗余备份的持久性的日志服务。它主要用于处理活跃的流式数据。Kafka 架构Kafka 的整体架构非常简单,是显式分布式架构,主要由 Producer、Broker(Kafka) 和 Consumer 组成。Kafka架构(精简版)Producer(生...阅读全文

博文 2022-07-08 07:45:07 mp.weixin.qq.com

Hbase split的三种方式和split的过程 - albeter

在Hbase中split是一个很重要的功能,Hbase是通过把数据分配到一定数量的region来达到负载均衡的。一个table会被分配到一个或多个region中,这些region会被分配到一个或者多个regionServer中。在自动split策略中,当一个region达到一定的大小就会自动split成两个region。table在region中是按照row key来排序的,并且一个row key所对应的行只会存储在一个region中,这一点保证了Hbase的强一致性 。 在一个region中有一个或多个stroe,每个stroe对应一个column families(列族)。一个store中包含一个memstore 和 0 或 多个store files。每个column family 是...阅读全文

博文 2023-09-21 11:48:41 博客园

Seata 分布式事务 XA 与 AT 全面解析

Seata 分布式事务 XA 与 AT 全面解析 2021-04-23 FUNKYE Seata Seata 目录 1.XA模式是什么? 1.1什么是XA 1.2什么是Seata的事务模式? 2那么什么是Seata XA 模式? 2.1什么是Seata AT(TXC) 模式? 2.2AT 模式如何做到对业务的无侵入 ? AT模式一阶段 2.3 AT 模式如何保证隔离性 AT 模式二阶段提交 AT 模式二阶段回滚 3.为什么支持XA? 4.为什么Seata要支持XA模式? AT与XA的关系 Seata AT与XA的优劣 总结 Seata 是一款开源的分布式事务解决方案,star高达17300+,社区活跃度极高,致力于在微服务架构下提供高性能和简单易用的分布式事务服务。 注:本期分享借鉴于Sea...阅读全文

博文 2022-11-12 17:32:05 objcoding.com

[完结11章]技术大牛成长课,从0到1带你手写一个数据库系统

学习地址1:https://pan.baidu.com/s/1OWDu5fNq_BXRUbLGrxzpJw 提取码:tjty 学习地址2:https://share.weiyun.com/Tp6ewDIJ 密码:6crcwd 今天跟大家交流一下关于开发一款数据库系统的相关事宜,从零开始,手把手带着大家一步步去实现这个功能,希望对大家有所帮助。 数据库系统是为适应数据处理的需要而发展起来的一种较为理想的数据处理系统,也是一个为实际可运行的存储、维护和应用系统提供数据的软件系统,是存储介质 、处理对象和管理系统的集合体。 数据库系统DBS(Data Base System,简称DBS)通常由软件、数据库和数据管理员组成。其软件主要包括操作系统、各种宿主语言、实用程序以及数据库管理系统。数据库由数...阅读全文

ElasticSearch学习笔记之九 复杂数据类型和嵌套对象_灵动的艺术的博客

ElasticSearch学习笔记之九 复杂数据类型和嵌套对象 复杂数据类型空域数组域多层级对象内部对象的映射内部对象的索引内部对象数组 嵌套对象嵌套对象映射 复杂数据类型 除了前面说到的简单数据类型,Elasticsearch还支持JSON 的null ,数组,和对象. 空域 字段取值可以为空,当然,数组也可以为空。 然而,在 Lucene 中是不能存储 null 值的,所以我们认为存在 null 值的域为空域。 下面三种域被认为是空的,它们将不会被索引: "null_value": null, "empty_array": [], "array_with_null_value": [ null ] 数组域 很多时候,我们希望 tag 域 包含多个标签。我们可以以数组的形式索引标签: { ...阅读全文

博文 2022-10-02 13:22:46 CSDN博客

使用nonce巩固接口签名安全_猿天地的技术博客_51CTO博客

前面我们有讲过如何进行API的安全控制,其中包括数据加密,接口签名等内容。详细可以参考我下面两篇文章:-《前后端API交互如何保证数据安全性》请添加链接描述-《再谈前后端API签名安全?》请添加链接描述在签名部分,通过时间戳的方式来判断当前请求是否有效,目的是为了防止接口被多次使用。但是这样并不能保证每次请求都是一次性的,今天给大家介绍下如何保证请求一次性?首先我们来回顾一些时间戳判断的原理:客户端每次请求时,都需要进行签名操作,签名中会加上signTime参数(当前请求时间戳)。HTTP请求从发出到达服务器的正常时间不会很长,当服务器收到HTTP请求之后,首先进行签名检查,通过之后判断时间戳与当前时间相比较,是否超过了一定的时间,这个时间我们可以自行决定要多长,比如1分钟,2分钟都可以,时...阅读全文

博文 2022-03-23 12:55:02 blog.51cto.com

Elasticsearch 聚合数据结果不精确,怎么破?_铭毅天下的博客

1、实战开发遇到聚合问题 请教一个问题,ES 在聚合的时候发生了一个奇怪的现象聚合的语句里面size设置为10和大于10导致聚合的数量不一致,这个size不就是返回的条数吗?会影响统计结果吗?dsl语句摘要(手机敲不方便,双引号就不写了): aggs:{topcount:{terms:{field:xx,size:10}}} 就是这个size,设置10和大于10将会导致聚合结果不一样,难道是es5.x的bug吗? 以上是实战中的真实问题,基于这个问题,有了本篇文章。 本文探讨的聚合主要指:terms 分桶聚合。下图为分桶 terms 聚合示意图。 从一堆多分类的产品中聚合出 TOP 3 的产品分类和数量。TOP3 结果: 产品 Y:4 产品 X:3 产品 Z:2 2、前提认知:Elastic...阅读全文

博文 2022-07-12 06:05:41 CSDN博客

[完结19章]SpringBoot开发双11商品服务系统

今天给大家分享一下关于SpringBoot开发双11商品服务系统的整个流程,我将深度还原大厂实习期技术成长全流程,让你收获大厂项目开发全流程与实战经验,具备应对大流量场景问题的解决能力,全面助力提升实习/转正/跳槽表现力与成功率。 以下是参考资料下载: 网盘地址:https://pan.baidu.com/s/1QNf3FbzlswJd_DU3FC64nw 提取码:q61x 腾讯微云下载地址:https://share.weiyun.com/o6TKslZV 密码:qn8bim Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程。该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置。通过这种方式,Spr...阅读全文

博文 2023-11-22 14:46:53 kaidnxhd2023

分布式链路追踪在字节跳动的实践

综述字节跳动在发展过程中,逐渐形成了十分复杂的超大规模微服务体系,对后端整体的可观测性解决方案提出了极高的要求。为了解决这个问题,基础架构智能运维团队自研链路追踪系统,将海量 Metrics/Trace/Log 数据进行整合与统一,并在此基础上实现了新一代的一站式全链路观测诊断平台,帮助业务解决监控排障、链路梳理、性能分析等问题。本文将会介绍字节跳动链路追踪系统的整体功能和技术架构,以及实践过程中我们的思考与总结。什么是分布式链路追踪(Trace) ?M T L 的关系可观测性的三大基础数据是 Metrics / Log / Trace。说到这三大件,可能大家会想到当需要监控变化趋势和配置告警时就去用 Metrics;当需要细查问题时去查 log;对于微服务数量较多的系统,还得有 Trace...阅读全文

博文 2023-10-12 15:55:45 mp.weixin.qq.com

技术大牛成长课,从0到1带你手写一个数据库系统-完结11章

参考地址1:https://pan.baidu.com/s/1N-x48vz9Z0peZdjOU5Gh-g 提取码: nxts 参考地址2:https://share.weiyun.com/Tp6ewDIJ 密码:6crcwd 关于数据库系统的开发一直以来都是一个难点,它的流程复杂,涉及到的技术点众多,特别在部署这块尤为重要,今天就带着大家手把手去实现这样一个数据库系统项目。 我将从理论结合实际场景综合性落地,让大家轻松吃透核心技术底层原理。 首先是应用场景这块:复用到日常开发场景中,如何运用高级数据结构、算法和设计模式,如何正确面对高并发进行编程,如何进行数据库的优化,如何理解数据库的执行计划分析慢SQL的原因等; 其次是原理剖析: 深度剖析数据库系统原理,将数据库几十年发展精髓拆解并呈现...阅读全文

博文 2023-11-29 17:32:10 feilipu2023nui

C++大厂面试真题宝典 精选100道[完结7章]

![1.png](http://static.itsharecircle.com/240308/91c6f3716ef318b1a64e83e909db68a1.png) 给大家整理了一些关于C++大厂面试2024最新真题,希望能够帮助到大家的面试: 1、synchronized 关键字和 volatile 关键字的区别 synchronized 关键字和 volatile 关键字是两个互补的存在,而不是对立的存在! volatile 关键字是线程同步的轻量级实现,所以volatile 性能肯定比synchronized关键字要好。但是volatile 关键字只能用于变量而 synchronized 关键字可以修饰方法以及代码块 volatile 关键字能保证数据的可见性,但不能保证数据的原...阅读全文

博文 2024-03-08 14:46:40 feilipu2023nui

RocksDB原理及应用

RocksDB概述LSM 类存储引擎、数据库之一。所谓LSM,一般的名字叫 Log Structured-Merge Tree(日志结构合并树),来源于分布式数据库领域,也是BigTable 的论文中所使用的文件组织方式。它的特点在于写入的时候是append only的形式,就像名字所显示的那样,跟日志一样只在文件后面追加。LSM 树结构的问题: 写入速度快,读取速度慢,写放大和读放大都较高。Rocksdb本身支持单个kv的读写和批量kv值的读写。由于LSM的出身,它专注于利用LSM树的特性,适应有序、层次化的磁盘读写。在LSM树之上构建了Rocksdb,而在RocksDB之上同样有一些更面向应用层的数据库,包括分布式数据库、查询引擎、大数据存储引擎、图数据库如Janusgraph等。1. ...阅读全文

博文 2023-05-11 08:47:30 知乎

实战Flink+Doris实时数仓教程

![1.png](http://static.itsharecircle.com/240304/463af8c87f05caafdcc12dd28e673c2a.png) 一、什么是实时数仓 实时数据仓库(Real-time Data Warehouse)是指能够实时地处理和分析数据,使得数据仓库中的数据是最新的、最准确的,并且可以实时响应用户的查询和分析需求的一种数据仓库系统。 与传统的数据仓库相比,实时数据仓库更加注重数据的实时性和对业务的实时响应能力。传统数据仓库通常是每日、每周或每月定期进行数据的抽取、转换和加载(ETL),更新的速度较慢,一般不支持实时查询和分析。而实时数据仓库则更加注重数据的实时性和对业务的实时响应能力,能够在数据发生变化时及时响应用户的查询和分析需求。 二、安装...阅读全文

博文 2024-03-04 11:28:29 feilipu2023nui

HBase 参数设置参考

HBase 参数设置参考 前言HBase 配置参数极其繁多,参数配置可能会影响到 HBase 性能问题,因此得好好总结下。 HBase 调优是个技术活。得结合多年生产经验加测试环境下性能测试得出。 JVM垃圾回收优化 本地 memstore 分配缓存优化 Region 拆分优化 Region 合并优化 Region 预先加载优化 负载均衡优化 启用压缩,推荐snappy 进行预分区,从而避免自动 split,提高 HBase 响应速度 避免出现 region 热点现象,启动按照 table 级别进行 balance GCHBase CMS GC 配置参考 RS 参数hbase.server.thread.wakefrequency 该值默认是 10 秒,它影响着 Flush 和 Compac...阅读全文

博文 2023-09-21 14:58:57 lihuimintu

HPC云化部署的优势和挑战

本文分享自天翼云开发者社区《HPC云化部署的优势和挑战》 作者:土豆炒肉丝HPC云化部署指的是将高性能计算(HPC)工作负载部署在云计算平台上,这种方式带来了一些明显的优势,但同时也面临一些挑战。以下是HPC云化部署的主要优势和挑战: 优势:1.灵活性和弹性:云计算平台提供灵活的资源调度和弹性伸缩功能,可以根据需要动态分配计算资源。这使得HPC应用能够更加高效地利用计算资源,根据实际需求进行资源扩展或收缩,从而降低成本。2.成本效益:传统HPC集群的建设和维护需要昂贵的硬件设备和专业技术团队。通过在云平台上进行部署,用户无需投资大量资金购买硬件设备,而是按需付费,只支付实际使用的资源,节省了大量成本。3.全球可访问性:云计算平台的服务通常分布在多个地理位置,用户可以从世界各地的终端设备访问这...阅读全文

【完结11章】技术大牛成长课,从0到1带你手写一个数据库系统

【完结11章】技术大牛成长课,从0到1带你手写一个数据库系统 给大家分享一套数据库课程——技术大牛成长课,从0到1带你手写一个数据库系统,课程已完结,共11章,附源码。 数据库系统是为适应数据处理的需要而发展起来的一种较为理想的数据处理系统,也是一个为实际可运行的存储、维护和应用系统提供数据的软件系统,是存储介质 、处理对象和管理系统的集合体。 如果分片数据损坏,无法修复,比如某个磁盘坏了,这时候数据无法修复,为了恢复索引状态,可以允许分片的数据丢失,后续通过上层数据来重建索引,这时候我们可以增加 accept_data_loss参数来允许分片数据丢失 POST /_cluster/reroute { "commands": [ { "move": { "index": "test_inde...阅读全文

XHR,ajax,axios,fetch之间的区别

生xhr对象 现代浏览器,最开始与服务器交换数据,都是通过XMLHttpRequest对象。它可以使用JSON、XML、HTML和text文本等格式发送和接收数据。 好处: 不重新加载页面的情况下更新网页 在页面已加载后从服务器请求/接收数据 在后台向服务器发送数据。 缺点: 使用起来也比较繁琐,需要设置很多值。 早期的IE浏览器有自己的内置对象,这样需要写兼容代码判断是否为XMLHttpRequest对象。 if (window.XMLHttpRequest) { // model browser xhr = new XMLHttpRequest() } else if (window.ActiveXObject) { // IE 6 and older xhr = new ActiveX...阅读全文