从 Elasticsearch 到 Apache Doris,统一日志检索与报表分析,360 企业安全浏览器的数据架构升级实践

Doris-07-索引的详细介绍(前缀索引、Ordinal索引、Zone Map索引、Bitmap索引、Bloom Filter索引、NGram BloomFilter索引、倒排索引) Apache Doris 存储引擎采用类似LSM树的结构提供快速的数据写入支持。进行数据导入时,数据会先写入 Tablet 对应的 MemTable 中,当 MemTable 写满之后,会将 MemTable 里的数据刷写(Flush)到磁盘,生成一个个不超过 256MB 的不可变的 Segment 文件。MemTable 采用SkipList的数据结构,将数据暂时保存在内存中,SkipList 会按照 Key 对数据行进行排序,因此,刷写到磁盘上的 Segment 文件也是按 Key 排序的。 阅读详情

导读:随着 360 企业安全浏览器用户规模的不断扩张,浏览器短时间内会产生大量的日志数据。为了提供更好的日志数据服务,360 企业安全浏览器设计了统一运维管理平台,并引入 Apache Doris 替代了 Elasticsearch,实现日志检索与报表分析架构的统一,同时依赖 Doris 优异性能,聚合分析效率呈数量级提升、存储成本下降 60%…为日志数据的可视化和价值发挥提供了坚实的基础。

作者|360 企业安全浏览器 刘子健

近年来,随着网络攻击和数据泄露事件的增加,使得浏览器安全问题变得更加紧迫和严峻。漏洞一旦被利用,一个简单的链接就能达到数据渗透的目的,而传统浏览器在安全性和隐私保护方面存在一些限制,无法满足政企领域对于安全浏览的需求。在此背景下,360企业安全浏览器成为政企客户的首选,以提供统一管理、降本增效、安全可控的解决方案。

在 360 企业安全浏览器强大安全防护能力的背后,对海量安全日志进行深入分析和挖掘是及时发现潜在风险的重要手段。为了提供更好的日志数据服务,360 企业安全浏览器设计了统一运维管理平台,引入 Apache Doris 作为日志分析架构的核心组件,实现数据导入、计算和存储的统一,保障了数据的准确性和一致性,实现了低成本、高效的实时查询能力与同步能力,为日志数据的可视化和价值发挥提供了坚实的基础。

业务需求

随着 360 企业安全浏览器用户规模的不断扩张,浏览器短时间内会产生大量的日志数据,这些数据具有格式多样化、信息维度丰富、时效要求高、数据体量大和隐私安全性高等特点。如果能够对这些数据进行有效分析,可及时发现潜在威胁并提升网站使用体验,因此我们设计了统一运维管理平台。该平台旨在对终端层、应用层和安全层进行监控和分析,并进行多维度分析和可视化展示。

  • 在应用层,提供应用总览、访问分析、性能分析、体验分析以及异常分析等功能,可全面了解应用的运行状况,及时发现并解决应用中存在的问题。
  • 在终端层,提供终端导览和终端活跃分析功能,及时掌握终端设备状况,从而更好地管理和优化终端性能。
  • 在安全层,提供策略预警和策略建议等功能,可及时发现和预防安全风险,提高系统的安全性。

360企业安全浏览器-业务需求.png

对于政企相关单位而言,浏览器受到攻击可能导致大量隐私数据泄露,给单位和个人带来难以预料的后果。因此,为保障客户信息的安全,统一运维管理平台应具备以下几个能力:

  • 实时告警:部分客户对查询性能有较高的要求。比如:实时统计服务异常或系统崩溃的次数,并第一时间反馈给相关负责人解决。
  • 导入性能:在业务运行过程中,生成的日志数据会被保存在服务器上。在高并发的情况下,日志数据量非常庞大,因此对导入性能有较高的要求。
  • 数据一致性: 数据一致性对任何行业来说都是关键考虑因素,只有在数据一致的基础上进行指标计算,才能确保统计结果的准确性。
  • 部署简单:因 360 企业安全浏览器主要为政企提供服务,通常采用私有化部署的方式,这意味着服务和客户端将完全集成在客户本地环境中。这就要求架构要足够精简,在确保在实现功能的同时,尽可能降低部署的复杂度。

架构 1.0 :基于 Elasticsearch 的简洁日志处理架构

为满足统一运维管理平台的要求,我们首先设计了一个简洁的日志处理架构。在该架构中,浏览器客户端发起请求后,经过业务层的服务 API 处理,日志数据在服务应用层进行处理,并最终存储于 MySQL、Elasticsearch 和 Redis 等数据存储系统中。

MySQL 主要存储业务相关数据以及少量计算完成的统计数据,用于管理平台中随查随用,Elasticsearch 主要用于存储日志类数据,以支持数据实时分析和检索需求。Redis 主要用于存储热数据和管理平台的配置信息,以提高接口性能。

基于 Elasticsearch 的简洁日志处理架构

在架构 1.0 使用过程中,我们发现几个痛点问题:

  • Elasticsearch 索引不支持变更:Elasticsearch 一旦创建索引,不再支持更改,分词参数和字段类型也无法修改。当提出新的业务需求时,就需要创建新的索引,并需要编写脚本将历史数据迁移至新索引中,这就带来较高的操作和开发成本。
  • Elasticsearch 聚合性能差:当执行复杂的聚合查询或存在大量聚合任务时,Elasticsearch 需要为聚合操作分配大量的内存,如果计算资源不足,会造成聚合操作执行时间过长,从而影响查询效率。

架构 1.1:引入 Apache Doris 1.0 版本

据前文可知,Elasticsearch 聚合性能较差,而在实际的使用场景中存在大量需深度聚合的数据表,因此我们决定对架构进行升级改进。在正式升级之前,我们对多个数据分析组件进行调研,并发现 Apache Doris 具备许多特性符合我们的需求,有望解决当前存在的问题。以下列举我们较为关注的特点:

  • 支持多种数据模型:支持 Aggregate、Unique、Duplicate 三种数据类型,其中 Aggregate Key 模型能够在快速且准确的写入数据的同时进行数据聚合,即通过提前聚合大幅提升查询性能。
  • 采用列式存储:Doris 按列进行数据编码压缩和读取,从而实现极高压缩比,该存储方式也减少了大量非相关数据的扫描,提高 IO 和 CPU 资源的利用率。
  • 支持物化视图:既能对原始明细数据进行任意维度的分析,也能快速对固定维度进行分析查询,对于查询性能的提升有显著的效果。

基于这些优势,我们在架构 1.0 的基础上先引入了 Apache Doris 1.0 版本,并将其作为数据存储层。Apache Doris 在架构中主要替代 Elasticsearch 进行实时计算,并将相关统计报表的计算和存储都迁移到 Doris 中来进行,由 Doris 提供统一数据服务。

引入 Apache Doris 1.0 版本

不仅如此,Apache Doris 的引入也带来了许多性能和效率提升:

  • 开发效率提升:相比之前需要编写复杂的 Elasticsearch 聚合代码,现在只需要创建聚合 Key,Doris Aggregate 模型即可完成聚合计算,极大提升了数据开发的效率。
  • 数据一致性保证:Doris 提供了统一的数仓服务,数据的导入、计算和存储均可在 Doris 中实现,简化了数据处理的链路和复杂度,对数据一致性的保障起关键作用。
  • 查询性能提升:当面对 4000 万条数据的聚合查询时,Elasticsearch 需要 6-7 秒才能返回查询结果,而 Doris 在 1 秒内就能完成查询并返回结果,查询性能显著提升。

除此之外,Apache Doris 在语法结构上也有明显的优势,这为客户在排查问题时提供了极大的便利、缩短了排查时间。为更直观体现其便捷性,我们对 Elasticsearch 和 Apache Doris 的语法结构进行对比。

在 Elasticsearch 中,聚合需要多层 group by,由于其语法与标准 MySQL 协议存在差异,因此语法结构相对复杂。

  "aggregations": {
    "group_day_time": {
      "aggregations": {
        "group_urltitle": {
          "aggregations": {
            "group_app_id": {
              "aggregations": {
                "group_url_host": {
                  "aggregations": {
                    "group_org_id": {
                      "terms": {
                        "field": "org_id",
                        "size": 200000
                      }
                    }
                  },
                  "terms": {
                    "field": "url_host",
                    "size": 200000
                  }
                }
              },
              "terms": {
                "field": "app_id",
                "size": 10000
              }
            }
          },
          "terms": {
            "field": "urltitle",
            "size": 100000
          }
        }
      },
      "date_histogram": {
        "calendar_interval": "day",
        "field": "day_time"
      }
    }
  }

当用户遇到问题时,我们需要向客户发送大量的 Curl 命令来排查问题。然而,对于没有 Elasticsearch 使用经验的用户来说,语法调试难度非常高。

curl -u elastic:elastic 'http://127.0.0.1:9200/user_log*/_search?ignore_unavailable=true&pretty=true' -H 'Content-Type: application/json' -d '{"aggregations":{"group_day_time":{"aggregations":{"group_sysname":{"aggregations":{"group_app_id":{"aggregations":{"group_url_host":{"aggregations":{"group_org_id":{"terms":{"field":"org_id","size":200000}}},"terms":{"field":"url_host","size":200000}}},"terms":{"field":"app_id","size":10000}}},"terms":{"field":"sysname","size":100000}}},"date_histogram":{"calendar_interval":"day","field":"day_time"}}},"query":{"bool":{"filter":[{"range":{"day_time":{"from":"2022-06-02T00:00:00+08:00","include_lower":true,"include_upper":true,"to":null}}},{"range":{"day_time":{"from":null,"include_lower":true,"include_upper":false,"to":"2022-06-03T00:00:00+08:00"}}}]}}}'

**引入 Apache Doris 后,**在创建表时可以使用 Aggregate Key 模型来定义聚合条件。且 Apache Doris 支持标准 MySQL ,不仅语法更加简洁、查询也更加方便,如出现问题,只要熟悉 MySQL 的基本语法,便可以快速进行问题排查。

CREATE TABLE user_log 
(
    day_time datetime    DEFAULT NULL COMMENT ‘时间',
    org_id   int(10) DEFAULT ‘0’ COMMENT ‘组织id',
    app_id   int(10) DEFAULT ‘0’ COMMENT ‘应用id',
    url_host varchar(255) DEFAULT NULL COMMENT 'url地址‘,
    urltitle varchar(255) DEFAULT '' COMMENT 'title',
    pv_count    BIGINT SUM DEFAULT "0" COMMENT "总数"
) Aggregate KEY(day_time,org_id,app_id, url_host, urltitle)
PARTITION BY RANGE (day_time) ()
DISTRIBUTED BY HASH(day_time) BUCKETS 10


SELECT day_time,org_id,app_id,url_host,urltitle,sum(pv_count)  as pv 
FROM user_log 
WHERE day_time >= "2022-06-02" and day_time <= "2022-06-03" 
GROUP BY day_time,org_id,app_id,url_host,urltitle  
ORDER BY uv desc;

而在架构 1.1 版本中,我们仍然面临一些挑战和问题:

  • Bitmap 问题:在处理大规模数据时,对于字符串类型基数很高的数据,如果直接使用 Bitmap ,计算性能无法很好满足。
  • 数据准确性问题:当对 75 万基础数据测试时,Bitmap 哈希冲突可能导致数据准确性问题。
  • 存储空间:由于 Elasticsearch 还未被 Apache Doris 全部替换,目前系统仍存在存储资源消耗较大的问题。

架构 2.0 :引入 Apache Doris 2.0,全面替代 Elasticsearch

针对上述问题,我们积极寻找下一步的解决方案。在与 Apache Doris 社区技术同学沟通过程中,我们得知 Apache Doris 2.0 版本在日志分析场景上有了全面加强:

  • 支持 JOSN 格式:Apache Doris 2.0 支持 JSON 格式,在我们的数据中有大量采用 JSON 格式的数据,该能力使我们能够更方便地进行数据存储。
  • 支持部分列更新:2.0 版本支持了部分列更新功能,无需对整个数据集进行更新,这种精确的更新方式大大降低了计算资源的消耗,提高了数据更新效率。
  • 支持倒排索引:2.0 版本支持倒排索引,可以满足字符串类型的全文检索和普通数值/日期等类型的等值、范围检索,更加符合日志数据分析的场景的查询需求。

基于此,我们引入了 Apache Doris 2.0 版本,实现了从架构 1.1 到架构 2.0 的升级。在架构 2.0 中,我们对整体架构进行了调整, 以区分日志服务、基础服务与其他服务,这也使得系统更加清晰和易于管理。

引入 Apache Doris 2.0 全面替代 Elasticsearch

在新架构中,我们使用 Apache Doris 完全替代了 Elasticsearch ,由 Apache Doris 统一提供日志检索和实时报表服务。此外,我们还对报表导入方式进行了改进,早期的做法是通过 Insert Into 拼接 MySQL 的方式进行导入,而新架构中引入了 FileBeat 工具,使报表数据的导入和导出更加高效便捷。

具体数据导入流程为:当用户在浏览器中访问应用网址时,需要采集的信息会被记录在本地,当采集时间或数量达到设定阈值时,这些信息将通过接口上报给日志服务。日志服务的主要任务是对数据进行清洗和填充,以补充浏览器空缺数据,并生成一条 JSON 存到服务器的日志文件。当轮询脚本触发时,将对日志文件进行读取,数据通过 Stream Load 将数据同步到 Doris 中。

01 简单易用,提升开发效率

Apache Doris 学习成本低、轻松上手。Apache Doris 兼容 MySQL 协议,支持使用标准 SQL 语言进行数据查询和操作,使得开发人员可以方便地进行复杂的数据查询和聚合操作。相比之下,Elasticsearch 的 DSL 是一种基于 JSON 的查询语言,对于不熟悉 DSL 开发人员来说,完全掌握该语法需要一定的学习曲线,具有较高的学习和使用门槛。

我们通过以下示例代码来展示使用 GOM 实现 Doris 查询功能的代码实现。从代码示例可知,对于熟悉代码管理、代码规范、代码质量和后期维护等方面的人来说,这种写法非常方便。对于新加入的同事来说,进行代码审查也变得非常容易,相较于以前的 Elasticsearch ,使用 Apache Doris 可以节省大量的开发时间。

Doris-360企业安全浏览器-简单易用提升开发效率

02 合理进行表设计,满足查询秒级响应

在表设计中,我们主要使用了 Aggregate Key 聚合模型和 Duplicate Key 明细模型。 聚合模型用于统计浏览器相关指标,如用户 PV(页面访问量)和 UV(独立访客数)以及应用访问 PV 和 UV 等数据;明细模型主要用于存储日志数据,以便进行用户或设备的留存分析。

在实际的应用中,大部分报表选择聚合模型进行实时计算,SUM 和 BITMAP 为常用的聚合计算,其中,SUM 约有 100+ 个聚合维度,BITMAP 约有 20-30 个维度,因涉及维度较多,我们将它们分布在不同的表中。小部分报表采用明细模型,我们也在明细模型上建了 Rollup 来提高查询速度。

Doris 合理进行表设计满足查询秒级响应

具体字段设置为:

  • UV 采用 BITMAP 聚合模型,聚合函数 BITMAP_UNION
  • PV 采用 BIGINT 类型,聚合函数 SUM
  • 留存:BITMAP_INTERSECT
  • 众数:TOPN

Doris合理进行表设计 满足查询秒级响应

SUM 性能评估

如上所述,我们在表创建过程中广泛使用了 Bitmap 和 SUM 函数。为了评估 SUM 函数的性能,我们对一张约有 54 亿行数据的表进行测试,并在创建 Rollup 后进行查询,**结果显示查询耗时为 0.32 秒,**这表明 SUM 函数在处理大规模数据里表现出良好的性能,满足我们对查询时延的要求。

select count(*) from testorg; # 5400179000 

select org_id,sum(app_pv_count) from org_stats where os_type="windows" and day_time > "2023-07-01"  and org_id >0  group by org_id;  # 0.32s 

Doris SUM 性能评估

Bitmap 性能评估

对于 Bitmap 而言,Bitmap 的长度相对于数据行数更为重要。随着 Bitmap 数据量的增大,Bitmap Union Count 的执行速度可能变慢。

为验证其性能,我们对一张包含 9 万行数据的表进行 IP 测试,IP 数量始终保持在 75 万以上,即每个 Bitmap 的长度大于等于 75 万。在这个 9 万*75 万的数据集上,我们进行 Bitmap Union Count 计算,将 IP 转换为整数类型,查询时间约为 0.5 秒,总体而言查询性能较好,符合性能要求。

select count(*) from testlog; # 90000 

select app_id,day_time,bitmap_union_count(ip_pv_count) from test group by app_id,day_time  ;  #0.5s

Doris Bitmap 性能评估

03 相较 Elasticseach,存储成本降低 60%

在引入 Apache Doris 之后,我们对 Doris 和 Elasticseach 的存储空间占用进行了对比。

Doris 相较 Elasticseach 存储成本降低 60%

我们以一天数据量为例进行测试,大约 606 GB 的 JSON 日志数据。当我们将这些数据存储到 Doris 中时,其所占用存储空间仅为 170 GB,压缩比达到 1:3.6。

Doris 相较 Elasticseach 存储成本降低 60%

与此相比,相同规模的数据存储到 Elasticsearch 中则需要 391 GB 的存储空间,远超过 Apache Doris 所需的空间,升级后存储成本降低 60%。

Doris 相较 Elasticseach 存储成本降低 60%

收益总结

我们将系统架构从 Elasticsearch 升级为 Apache Doris 之后,具体取得的收益如下:

  • 将日志检索和报表分析统一到一个系统中,Doris 2.0 版本在增加倒排索引后,能同时满足这两个场景,从而缩短了数据处理的链路和复杂度,显著提高了数据处理的效率。
  • 聚合分析性能得到数量级的提升,之前在 Elasticseach 中需要近 10 秒才能完成聚合查询,而在 Doris 中不到 1 秒就能完成,聚合分析效率至少提升 100%。
  • Doris 提供了高效的数据压缩效率,相较于 Elasticseach,同一份数据的存储资源成本降低了 60%。
  • Doris SQL 相比 Elasticseach DSL 更加简单易用,能够大幅提升开发效率和问题排查的效率。

不仅如此,Apache Doris 的引入帮助我们实现了运营可视化管理,提供了浏览器多种指标的实时监控,以指导业务部门下一步动作:

  • 在安全方面,当崩溃次数达到设定阈值时,系统会通过邮件通知相关人员,以便排查浏览器崩溃的原因。还可对登录次数进行统计,有效监测是否存在外部人员试图攻击接口。
  • 在绩效统计方面,可对应用访问数据进行统计,以帮助我们评估工作情况,从而更好地安排工作。
  • 优化流量损耗和磁盘占用:通过对页面中 JS、CSS、Image 等资源的统计,可有效地发现访问流量和资源大小并进行优化,以减少流量损耗和磁盘空间使用,从而实现降本提效。
  • 提供业务系统健康报告:可准确监测应用 Web 页面所引用的资源、资源加载时长以及异常情况等关键信息,并根据这些信息生成应用健康报告,基于报告能够帮助企业完成业务系统的优化。

未来规划

由于 360 企业安全浏览器面向企业提供服务,未来我们着重关注并探索以下方向,以更好地满足客户的需求。

  • 冷热数据分离:冷热数据分离能够在降低成本的同时提高效率,未来我们计划将客户的冷数据存储到 S3 等存储介质,将热数据存储在相应的数据磁盘,以提高存储空间的利用率。
  • Doris Manager 部署集成:未来我们计划集成 Doris Manager ,以便客户能够直观便捷地排查和发现问题,监控集群的使用情况。
【ES】使用日志记录 常用操作 阅读详情

相关推荐

在文件检索方面doris和elasticsearch的区别

综上,‌Doris 更适合需兼顾检索与复杂分析的混合负载场景‌(如日志分析中的多维统计),而 ‌Elasticsearch 在纯文本高相关性检索场景仍具优势‌。‌ 能力‌ Doris‌ ‌ Elasticsearch‌。Elasticsearch 依赖 ‌分片与副本机制‌ 提升检索吞吐,但复杂聚合易引发性能瓶颈。

jiedaodezhuti的博客 1329

查询提速 11 倍、资源节省 70%,Apache Doris 在网易日志和时序场景的实践

作者|隐形(邢颖), 网易资深数据库内核工程师编辑整理|SelectDB 技术团队导读:作为网易重要的业务线,灵犀办公和云信针对大规模日志/时序数据处理和分析的挑战,分别构建了灵犀 Eagle 监控平台和云信数据平台。本文将重点介绍。

SelectDB 1817

Doris实践——叮咚买菜基于OLAP引擎的应用实践

Doris实践——叮咚买菜基于OLAP 引擎的应用实践

爱吃辣条的博客 2030

es 对比 doris对比

综上所述,ES和Doris各有优势,选择哪种数据库取决于具体的使用场景和需求。如果需要处理非结构化数据、进行全文搜索或日志分析,ES可能是更好的选择;如果需要处理结构化数据、进行复杂的数据分析和报表生成,Doris可能更适合。ES(Elasticsearch)和Doris是两种不同类型的数据库,它们各自在不同的使用场景下有优势。

vmaps的博客 4910

【信息科学与工程学】【数据科学】数据科学领域-第十一篇 数据集成算法01

​​降低维护成本​​:通过抽象通用流程(如),当需要修改故障注入逻辑(如更换混沌工具)时,只需修改一处代码,无需修改所有测试用例;​​提升扩展性​​:通过参数化故障场景(如),可快速生成新的故障用例(如针对新服务的延迟故障),适应系统迭代需求;​​增强场景真实性​​:通过组合混沌操作(如),模拟真实生产环境中的复杂故障链(如“网络延迟+服务宕机”),更准确地验证系统韧性;​​提高分析效率​​:通过自动化结果分析(如),快速获取MTTR、错误率等关键指标,减少人工分析时间。

weixin_49199313的博客 952

内核工作FAST‘25 Artifact Evaluation流程记录

在我们的paper中,复现需要用到傲腾持久化内存,因此,需要AE Reviewer访问到内网服务器中。我们的思路是购买云服务器,将其作为跳板机,内网服务器通过SSH反向代理与公网服务器建立隧道,AE Reviewer通过隧道访问内网服务器。我们在AE过程中使用。然后,把一切复现需要的代码环境,在chroot里面配置完成。

不定期更新系统使用、编程小技巧,哔哩哔哩账号:https://space.bilibili.com/399455629,欢迎关注 1215

从 Elasticsearch 到 Apache Doris,统一日志检索与报表分析,360 企业安全浏览器的数据架构升级实践...

【优快云 编者按】随着 360 企业安全浏览器用户规模的不断扩张,浏览器短时间内会产生大量的日志数据。为提供更好的日志数据服务,360 企业安全浏览器设计了统一运维管理平台,并引入 Apache Doris 替代了 Elasticsearch,实现日志检索与报表分析架构的统一,同时依赖 Doris 优异性能,聚合分析效率呈数量级提升、存储成本下降了 60%....为日志数据的可视化和价值发挥提供...

优快云资讯 655

JMeter压测Dubbo接口的完整落地方案(适配3.x)

Dubbo作为主流Java微服务RPC框架,其接口压测长期面临协议私有、注册发现复杂、序列化耦合度高等技术门槛。理解Dubbo基于TCP长连接、泛化调用与SPI扩展机制的核心原理,是实现稳定压测的前提;技术价值在于绕过HTTP网关直击服务核心链路,保障大促等关键场景的性能可信度;典型应用场景包括电商订单链路压测、风控/库存等内部Dubbo服务SLA验证,以及CI/CD中性能左移实践。本文聚焦Dubbo 3.x版本,提供零第三方插件、可复用、避坑的JMeter Java Sampler落地路径。

weixin_33700809的博客 549

Apache Doris+OSS VS VictoriaLogs 2025 深度选型:从架构本质到落地避坑,云原生日志系统不再踩坑(附 ELK/Loki/ClickHouse 竞品对比)

2025年的日志系统选型,早已不是“ELK一家独大”,而是“场景化细分”——凭借“日志-业务数据一体化分析”,成为需要深度分析场景的首选;凭借“云原生极致效率”,成为轻量检索、成本敏感场景的黑马。VictoriaLogs集群模式将进一步成熟,支持更多复杂聚合功能,有望在中大规模场景替代ELK/Loki;Apache Doris将强化日志冷存能力,与数据湖生态(如Iceberg)的联动更紧密,成为“湖仓一体”中的日志分析核心;

z_play_du 1349

(ZOS-API)Matlab控制ZEMAX软件调整光学系统某镜面位姿

所用软件的版本:MatlabR2022a, Zemax OpticStudio2024R1交互扩展功能,Zemax和可以同时打开,操作会比较方便在ZEMAX软件中,调整次镜位置通常有两种方法:1.在次镜前后各添加一个坐标间断面,并修改其“偏心X”“偏心Y”等参数来调整次镜的位姿;2.或者直接在次镜属性选项中设置相关数值。这两种方法对Zernike系数的采集结果无显著影响。

ecilifurt的博客 911

单细胞多组学数据整合分析实战:从原始数据到跨平台合并

本文详细介绍了单细胞多组学数据整合分析的实战流程,从原始数据处理到跨平台合并分析。通过Seurat和Harmony等工具的应用,帮助研究者有效解决批次效应问题,保留真实的生物学信号。文章包含代码示例和常见问题解决方案,特别适合需要进行单细胞合并分析的研究人员参考。

weixin_30752699的博客 89

探索Doris:日志分析的新宠,是否能取代老牌ES?

在大数据时代,日志存储与分析对于企业的运营和决策起着至关重要的作用。Elasticsearch(简称 ES)作为一款广泛应用的开源分布式搜索和分析引擎,长期以来在日志管理领域占据着举足轻重的地位。然而,随着技术的不断发展,新的解决方案层出不穷,其中Apache Doris 凭借其卓越特性,在日志存储与分析领域迅速崛起,引发业界热议:Doris 是否会成为新一代王者,取代传统的 Elasticsearch(ES)?

涤生大数据 1357

第 13 章:Spring AI Alibaba MCP 与 Nacos3 — 企业级MCP服务

理解Spring AI Alibaba 框架下的MCP服务与Nacos注册中心整合的必要性,学会Spring AI Alibaba-基于Nacos的MCP实现方法

paopao_wu的专栏 788

实时数仓-Doris ON ES

原理介绍 Doris通过创建外部表方式将Doris的分布式查询规划能力和ES(Elasticsearch)的全文检索能力相结合,提供更完善的OLAP分析场景解决方案,支持: ES中的多index分布式Join查询 Doris和ES中的表联合查询,更复杂的全文检索过滤 创建ES外表后,FE会请求建表指定的主机,获取所有节点的HTTP端口信息以及index的shard分布信息等,如果请求失败会顺序遍历host列表直至成功或完全失败。 执行查询时,会根据FE得到的...

test_test111的专栏 5841

Qt —— QWebEngineView加载谷歌离线地图(包含离线地图瓦片下载制作、附谷歌地图开发文档)

  关注 微信公众号搜索"Qt_io_"或"Qt开发者中心"了解更多关于Qt、C++开发知识.。 笔者 - jxd

1万+

组态王与DLT645-2007电能表通讯调试总结

组态王与电力协议DLT 645-2007调试总结 DLT 645-2007是多功能电能表通信协议,该标准由中国电力企业联合会2006年提出,该协议为主-从结构的半双工通信方式。手持单元或其它数据终端为主站,多功能电能表为从站。每个多功能电能表均有各自的地址编码。通信链路的建立与解除均由主站发出的信息帧来控制。帧是传送信息的基本单元,每帧由帧起始符、从站地址域、控制码、数据域长度、数据域、帧信息纵向校验码及帧结束符7个域组成,每部分由若干字节组成,帧格式如图1所示。 1.确定设备地址 地址域由 6 个字节构

逍遥子的博客 1万+

ES数据存储搜索引擎入门到整合Springboot一章直达

学习一门语言,我们从熟悉其语法开始,慢慢深入动手实践,并开始将其使用到对应的场景上,当我们遇到相应的问题,能够联想到使用该技术,并能够信手拈来的时候,才是我们真正掌握了一门技术或者语言的时候。学习的时候可以和其他学过的知识点相关联,如ES可以与MYSQL特性相关联,就像编程入门从C开始一样,是介于C的语法基础,触类旁通其他语言,下面介绍的是ES的使用场景,语法,和对应的操作过程。代码虐我千百遍,待它如初恋,卖油翁小故事,无他,唯手熟尔。

m0_47594094的博客 1808

基于VLFM的中文指令视觉语言导航系统设计与实现

文章摘要 本文介绍了一个基于VLFM(视觉语言边界地图)的中文指令视觉语言导航系统设计与实现。该系统采用模块化架构,包含三维场景渲染、URDF机器人仿真、VLFM导航引擎、中文指令解析和PyQt图形界面五大核心模块。系统支持自定义GLB场景模型和URDF机器人模型,通过transformers和langchain实现中文自然语言指令解析,利用VLFM算法进行语义导航决策。技术实现上详细介绍了GLB模型加载器开发、URDF机器人控制、VLFM导航算法集成以及PyQt界面设计。该系统在Ubuntu环境下运行,依

AI的内部世界的博客 205

【Elasticsearch】——日志搜索引擎ES介绍及使用

一、前言 最近在做elasticsearch的工作,把搭建过程记录一下。 测试环境:ubuntu 16.04 二、安装ES 安装详解:官方文档 1、本地单节点安装 #1、获取安装包并解压 $ curl -L -O https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.5.1-lin...

汤庆 3082

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

查日志只有ES好使?那是你没这样用Clickhouse……

石墨文档全部应用部署在Kubernetes上,每时每刻都会有大量的日志输出,我们之前主要使用SLS和ES作为日志存储。但是我们在使用这些组件的时候,发现了一些问题。

java_beautiful的博客 895

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

日志存储 elasticsearch vs clickhouse

elasticsearch优点: a. 查询速度快,es是基于lucene的倒排索引实现,数据分词后预先已经排好序了,所以查询速度很快,qps较高,并且cpu消耗不大 b.es的索引字段比较灵活,可以随意的增加新字段到es中 elasticsearch缺点: a.数据写入时要对所有的字段进行分词操作,然后在对这些分词构建倒排索引,事实上,并不是所有的分词都会在搜索中用到,这里类似于数据预聚合的概念,有些分词是没必要的 b.es的倒排索引文件,正排文件,docvalue文件等都很大,压缩效果很小,这就造成了数

lixia0417mul2的博客 3139

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

为什么 Apache Doris 是比 Elasticsearch 更好的实时分析替代方案?

Elasticsearch 是一款开源的分布式检索引擎,广泛应用于日志分析、全文搜索和数据监控等领域。凭借其强大的实时搜索能力和灵活的查询语言,在市场上获得了广泛认可。然而,在过去两年,我们注意到一个趋势,。尽管 Apache Doris 和 Elasticsearch 在表面上看似不同,但它们的应用场景却有很大的重叠。例如,Apache Doris 适用于在线高并发报表、用户画像、湖仓一体、日志与可观测性、安全分析等领域;

SelectDB 1889

「精华版」Doris VS Elasticsearch全方位对比和落地实践指导

Doris 3.0 引入 存算分离架构,计算节点与存储节点独立扩展,支持冷热数据分层(热数据存 SSD,冷数据存 HDD / 对象存储),资源利用率提升 40%。MPP 分布式架构:无共享设计,Frontend 负责元数据与查询调度,Backend 并行处理计算任务,支持向量化执行引擎,单节点写入吞吐量达 550MB/s,是 Elasticsearch 的 5 倍(后者约 124MB/s)。然而,随着数据规模的爆炸式增长和分析需求的复杂化,其在复杂聚合、存储成本、SQL 生态兼容性等方面的短板逐渐显现。

微信搜:import_bigdata,大数据领域硬核原创作者 2125

文本检索性能提升 40 倍,Apache Doris 倒排索引深度解读

总而言之,Apache Doris 中的倒排索引显著优化了针对谓词列的过滤操作,即 SQL 查询中的 Where 子句。通过精确匹配行号,减少了存储层需要扫描的数据量,从而提高了查询性能。即使在性能提升有限的情况下,倒排索引也不会对查询效率产生负面影响。此外,倒排索引还支持轻量级的索引管理操作,如对增加或删除索引(ADD/DROP INDEX)以及构建索引(BUILD INDEX)操作进行管理。

SelectDB 3453

从 Elasticsearch 到 Apache Doris,构建 10 倍性价比提升的新一代日志存储分析平台

从 Elasticsearch 到 Apache Doris,构建 10 倍性价比提升的新一代日志存储分析平台

crg18438610577的博客 998

10倍提速!Apache Doris二级索引与全文检索实战指南

你是否还在为海量数据查询延迟发愁?当用户行为日志、电商交易记录等数据量突破亿级,传统数据库的查询性能往往急剧下降。Apache Doris作为高性能MPP分析引擎,通过二级索引(Secondary Index)与全文检索(Full-Text Search)技术,可将复杂查询响应时间从秒级压缩至毫秒级。本文将从实际应用场景出发,详解这两类索引的实现原理、使用方法及性能优化技巧,帮助你快速掌握亿级数据...

gitblog_00526的博客 537
上一篇: 分析型数据库(Apache Doris)是如何实现高效的数据更新?
下一篇: 分析型数据库(Apache Doris)分析性能的速度到底有多快?
SelectDB技术团队
博客等级 码龄4年 2119粉丝 483原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

SelectDB技术团队

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值