阿里泛日志设计与实践问题之在写多查少的降本场景下,通过SLS Scan方案降低成本,如何实现

本文涉及的产品
日志服务 SLS,月写入数据量 50GB 1个月
简介: 阿里泛日志设计与实践问题之在写多查少的降本场景下,通过SLS Scan方案降低成本,如何实现

问题一:传统grep上云场景面临哪些挑战?SLS日志存储方案如何解决这些挑战?


传统grep上云场景面临哪些挑战?SLS日志存储方案如何解决这些挑战?


参考回答:

传统grep上云场景面临的挑战包括日志文件的存储、管理和查询效率问题。企业通常将日志文件进行logrotate并压缩存储在云盘上,查询时需要在云盘上找到对应的目录和文件,然后执行grep/zgrep命令进行单机查找,这种方式效率低下且不易管理。

SLS日志存储方案通过高性能采集器(Logtail)将日志实时采集到日志库存储,支持冷热分层存储,按TTL自动删除旧数据,并支持数据转储OSS长周期存储。同时,SLS Scan支持对存储的热、冷分层数据进行硬扫描搜索,查找延迟大大低于单机形式的解压缩后grep,从而解决了传统grep上云场景的挑战。


关于本问题的更多回答可点击原文查看:

https://developer.aliyun.com/ask/655457



问题二:写多查少的降本场景是什么样的?


写多查少的降本场景是什么样的?


参考回答:

写多查少的降本场景指的是在程序日志查询、Debug场景下,日志写入量很大但查询频率较低的情况。例如,当前开启了SLS 100%数量的索引字段,但经过业务判断发现只有20%的字段被经常使用,希望通过合理使用降低日志的IT支出。


关于本问题的更多回答可点击原文查看:

https://developer.aliyun.com/ask/655458



问题三:在写多查少的降本场景下,如何通过SLS Scan方案降低成本?


在写多查少的降本场景下,如何通过SLS Scan方案降低成本?


参考回答:

在写多查少的降本场景下,可以通过SLS Scan方案降低成本。具体做法是,对业务上明确规划的日志字段和高频使用的日志字段设置索引,明确类型,基于索引和列存进行查询和分析。对于低频日志字段或不明确的字段,不配置索引,查询需求通过SLS Scan在运行时完成计算,从而降低了存储和计算成本。


关于本问题的更多回答可点击原文查看:

https://developer.aliyun.com/ask/655459



问题四:不定schema场景对日志查询和分析提出了哪些挑战?SLS Scan提供了哪些解决方案?


不定schema场景对日志查询和分析提出了哪些挑战?SLS Scan提供了哪些解决方案?


参考回答:

不定schema场景对日志查询和分析提出了挑战,因为日志库的数据字段频繁变化,可能包括K8s微服务多个应用的容器日志收集到一个日志库里、业务升级后程序日志字段发生变更等情况。这种情况下,通过固定schema方式查询、分析较为困难,需要频繁变更索引schema,整体协调成本高且容易遗漏。

对于不定schema场景,SLS Scan提供了灵活的解决方案。业务上明确规划的日志字段和高频使用的日志字段可以设置索引并明确类型,基于索引和列存进行查询和分析。对于低频日志字段或不明确的字段,不配置索引,查询需求通过SLS Scan在运行时完成计算。这样,即使在数据字段频繁变化的情况下,也能保证日志查询和分析的灵活性和效率。


关于本问题的更多回答可点击原文查看:

https://developer.aliyun.com/ask/655460



问题五:在Java 8的Lambda表达式中,ArrayList.stream()方法是如何生成Stream对象的?


在Java 8的Lambda表达式中,ArrayList.stream()方法是如何生成Stream对象的?


参考回答:

ArrayList.stream()方法实际上调用的是StreamSupport.stream(spliterator(), false)。这里,spliterator()方法生成了一个IteratorSpliterator对象,然后StreamSupport.stream方法使用这个Spliterator对象和一个指示是否为并行的布尔值(在这个例子中为false)来创建一个ReferencePipeline.Head对象,这个对象就是Stream对象的开始。


关于本问题的更多回答可点击原文查看:

https://developer.aliyun.com/ask/655461

相关实践学习
日志服务之使用Nginx模式采集日志
本文介绍如何通过日志服务控制台创建Nginx模式的Logtail配置快速采集Nginx日志并进行多维度分析。
目录
打赏
0
0
0
0
632
分享
相关文章
突破极限: 高负载场景下的单机300M多行正则日志采集不是梦
在当今数字化时代,日志数据已成为企业 IT 运营和业务分析的关键资源。然而,随着业务规模的扩大和系统复杂度的提升,日志数据的体量呈现爆发式增长,给日志采集和处理系统带来了巨大挑战。
JVM实战—7.如何模拟GC场景并阅读GC日志
本文主要介绍了:如何动手模拟出频繁Young GC的场景、JVM的Young GC日志应该怎么看、编写代码模拟动态年龄判定规则进入老年代、编写代码模拟S区放不下部分进入老年代、JVM的Full GC日志应该怎么看。
JVM实战—7.如何模拟GC场景并阅读GC日志
Tomcat log日志解析
理解和解析Tomcat日志文件对于诊断和解决Web应用中的问题至关重要。通过分析 `catalina.out`、`localhost.log`、`localhost_access_log.*.txt`、`manager.log`和 `host-manager.log`等日志文件,可以快速定位和解决问题,确保Tomcat服务器的稳定运行。掌握这些日志解析技巧,可以显著提高运维和开发效率。
85 13
简单聊聊MySQL的三大日志(Redo Log、Binlog和Undo Log)各有什么区别
在MySQL数据库管理中,理解Redo Log(重做日志)、Binlog(二进制日志)和Undo Log(回滚日志)至关重要。Redo Log确保数据持久性和崩溃恢复;Binlog用于主从复制和数据恢复,记录逻辑操作;Undo Log支持事务的原子性和隔离性,实现回滚与MVCC。三者协同工作,保障事务ACID特性。文章还详细解析了日志写入流程及可能的异常情况,帮助深入理解数据库日志机制。
图解MySQL【日志】——Redo Log
Redo Log(重做日志)是数据库中用于记录数据页修改的物理日志,确保事务的持久性和一致性。其主要作用包括崩溃恢复、提高性能和保证事务一致性。Redo Log 通过先写日志的方式,在内存中缓存修改操作,并在适当时候刷入磁盘,减少随机写入带来的性能损耗。WAL(Write-Ahead Logging)技术的核心思想是先将修改操作记录到日志文件中,再择机写入磁盘,从而实现高效且安全的数据持久化。Redo Log 的持久化过程涉及 Redo Log Buffer 和不同刷盘时机的控制参数(如 `innodb_flush_log_at_trx_commit`),以平衡性能与数据安全性。
50 5
图解MySQL【日志】——Redo Log
图解MySQL【日志】——Undo Log
Undo Log(回滚日志)是 MySQL 中用于实现事务原子性和一致性的关键机制。在默认的自动提交模式下,MySQL 隐式开启事务,每条增删改语句都会记录到 Undo Log 中。其主要作用包括:
59 0
MySQL日志详解——日志分类、二进制日志bin log、回滚日志undo log、重做日志redo log
MySQL日志详解——日志分类、二进制日志bin log、回滚日志undo log、重做日志redo log、原理、写入过程;binlog与redolog区别、update语句的执行流程、两阶段提交、主从复制、三种日志的使用场景;查询日志、慢查询日志、错误日志等其他几类日志
156 35
MySQL日志详解——日志分类、二进制日志bin log、回滚日志undo log、重做日志redo log
金融场景 PB 级大规模日志平台:中信银行信用卡中心从 Elasticsearch 到 Apache Doris 的先进实践
中信银行信用卡中心每日新增日志数据 140 亿条(80TB),全量归档日志量超 40PB,早期基于 Elasticsearch 构建的日志云平台,面临存储成本高、实时写入性能差、文本检索慢以及日志分析能力不足等问题。因此使用 Apache Doris 替换 Elasticsearch,实现资源投入降低 50%、查询速度提升 2~4 倍,同时显著提高了运维效率。
金融场景 PB 级大规模日志平台:中信银行信用卡中心从 Elasticsearch 到 Apache Doris 的先进实践
MySQL事务日志-Undo Log工作原理分析
事务的持久性是交由Redo Log来保证,原子性则是交由Undo Log来保证。如果事务中的SQL执行到一半出现错误,需要把前面已经执行过的SQL撤销以达到原子性的目的,这个过程也叫做"回滚",所以Undo Log也叫回滚日志。
139 7
MySQL事务日志-Undo Log工作原理分析

热门文章

最新文章