大数据领域中ClickHouse的数据倾斜问题解决

大数据领域中ClickHouse的数据倾斜问题解决

关键词:大数据、ClickHouse、数据倾斜、解决策略、性能优化

摘要:本文聚焦于大数据领域中ClickHouse数据库的数据倾斜问题。数据倾斜会严重影响ClickHouse的查询性能和系统稳定性。文章首先介绍了数据倾斜问题的背景,包括其在大数据处理中的普遍性和重要性。接着详细阐述了ClickHouse数据倾斜的核心概念,分析了导致数据倾斜的原因。然后探讨了核心算法原理和解决数据倾斜的具体操作步骤,给出了相关的Python代码示例。同时,介绍了涉及的数学模型和公式,并结合实际案例进行说明。在项目实战部分,提供了开发环境搭建、源代码实现及代码解读。此外,还列举了数据倾斜问题在实际中的应用场景,推荐了相关的学习资源、开发工具框架和论文著作。最后对未来ClickHouse数据倾斜问题的发展趋势与挑战进行了总结,并给出了常见问题的解答和扩展阅读的参考资料。

1. 背景介绍

1.1 目的和范围

在大数据时代,数据量呈现爆炸式增长,数据库系统需要高效地处理海量数据。ClickHouse作为一款高性能的列式数据库管理系统,在大数据分析领域得到了广泛应用。然而,数据倾斜问题却常常困扰着使用ClickHouse的开发者和运维人员。数据倾斜会导致查询性能下降、资源利用率不均衡,甚至可能引发系统崩溃。本文的目的就是深入探讨ClickHouse数据倾斜问题的成因、影响,并提供有效的解决策略。范围涵盖了从理论分析到实际应用,从算法原理到代码实现,旨在为读者提供全面、深入的解决方案。

1.2 预期读者

本文主要面向大数据领域的开发者、数据分析师、数据库管理员以及对ClickHouse感兴趣的技术人员。无论你是刚刚接触ClickHouse,还是已经有一定的使用经验,都能从本文中获取到有价值的信息。对于初学者,可以通过本文了解数据倾斜问题的基本概念和解决思路;对于有经验的专业人士,可以深入探讨解决数据倾斜的高级技巧和最佳实践。

1.3 文档结构概述

本文将按照以下结构进行组织:

  • 核心概念与联系:介绍ClickHouse数据倾斜的基本概念、表现形式和产生原因。
  • 核心算法原理 & 具体操作步骤:分析解决数据倾斜问题的核心算法,并给出具体的操作步骤和Python代码示例。
  • 数学模型和公式 & 详细讲解 & 举例说明:使用数学模型和公式来描述数据倾斜问题,并通过具体例子进行详细讲解。
  • 项目实战:代码实际案例和详细解释说明,包括开发环境搭建、源代码实现和代码解读。
  • 实际应用场景:列举数据倾斜问题在实际中的应用场景,并分析解决策略。
  • 工具和资源推荐:推荐相关的学习资源、开发工具框架和论文著作。
  • 总结:未来发展趋势与挑战:对ClickHouse数据倾斜问题的未来发展趋势进行总结,并分析面临的挑战。
  • 附录:常见问题与解答:解答读者在实际应用中可能遇到的常见问题。
  • 扩展阅读 & 参考资料:提供相关的扩展阅读材料和参考资料。

1.4 术语表

1.4.1 核心术语定义
  • ClickHouse:一款开源的高性能列式数据库管理系统,专为在线分析处理(OLAP)场景设计。
  • 数据倾斜:指在数据处理过程中,数据在各个节点或分区上分布不均匀的现象。
  • 查询性能:指数据库系统执行查询操作的效率,通常用查询响应时间来衡量。
  • 资源利用率:指系统资源(如CPU、内存、磁盘等)的使用效率。
1.4.2 相关概念解释
  • 列式存储:一种数据存储方式,将数据按列存储,而不是按行存储。列式存储在数据分析场景下具有更高的查询性能。
  • 分布式系统:由多个节点组成的计算机系统,通过网络连接进行数据共享和协同工作。
  • 分区:将数据按照一定的规则划分成多个子集,每个子集称为一个分区。分区可以提高数据的管理和查询效率。
1.4.3 缩略词列表
  • OLAP:Online Analytical Processing,在线分析处理。
  • CPU:Central Processing Unit,中央处理器。
  • RAM:Random Access Memory,随机存取存储器。

2. 核心概念与联系

2.1 ClickHouse数据倾斜的概念

数据倾斜是指在ClickHouse数据库中,数据在各个节点或分区上分布不均匀的现象。这种不均匀分布会导致某些节点或分区处理的数据量远远超过其他节点或分区,从而造成这些节点或分区成为性能瓶颈,影响整个系统的查询性能和稳定性。

2.2 数据倾斜的表现形式

  • 查询响应时间过长:当存在数据倾斜时,某些节点或分区需要处理大量的数据,导致查询响应时间显著增加。
  • 资源利用率不均衡:部分节点或分区的CPU、内存、磁盘等资源被大量占用,而其他节点或分区的资源利用率较低。
  • 系统崩溃:在极端情况下,数据倾斜可能导致某些节点或分区的资源耗尽,从而引发系统崩溃。

2.3 数据倾斜的产生原因

  • 数据分布不均匀:原始数据本身在各个维度上的分布就不均匀,例如某些热门商品的销售数据远远超过其他商品。
  • 分区策略不合理:ClickHouse的分区策略可能导致数据在各个分区上分布不均匀,例如按照日期分区时,某些日期的数据量可能远远超过其他日期。
  • 查询语句设计不当:某些查询语句可能会导致数据倾斜,例如使用GROUP BY语句时,某些分组的记录数远远超过其他分组。

2.4 核心概念的联系

数据倾斜与查询性能、资源利用率密切相关。数据倾斜会导致查询性能下降,因为某些节点或分区需要处理大量的数据,从而增加了查询响应时间。同时,数据倾斜也会导致资源利用率不均衡,部分节点或分区的资源被大量占用,而其他节点或分区的资源利用率较低。因此,解决数据倾斜问题对于提高ClickHouse的查询性能和资源利用率至关重要。

2.5 文本示意图

数据倾斜 | |-- 表现形式 | |-- 查询响应时间过长 | |-- 资源利用率不均衡 | |-- 系统崩溃 | |-- 产生原因 | |-- 数据分布不均匀 | |-- 分区策略不合理 | |-- 查询语句设计不当 | |-- 影响 | |-- 查询性能下降 | |-- 资源利用率不均衡

2.6 Mermaid流程图

数据倾斜

表现形式

产生原因

影响

查询响应时间过长

资源利用率不均衡

系统崩溃

数据分布不均匀

分区策略不合理

查询语句设计不当

查询性能下降

资源利用率不均衡

3. 核心算法原理 & 具体操作步骤

3.1 核心算法原理

解决ClickHouse数据倾斜问题的核心思想是通过数据重分布、分区策略调整和查询优化等手段,使数据在各个节点或分区上分布更加均匀。具体算法原理如下:

  • 数据重分布:将数据从数据量较大的节点或分区迁移到数据量较小的节点或分区,以实现数据的均匀分布。
  • 分区策略调整:根据数据的实际分布情况,调整ClickHouse的分区策略,使数据在各个分区上分布更加均匀。
  • 查询优化:通过优化查询语句,避免某些分组或操作导致数据倾斜。

3.2 具体操作步骤

3.2.1 数据重分布
  • 使用分布式表:ClickHouse的分布式表可以将数据分布到多个节点上,通过合理配置分布式表的分片规则,可以实现数据的均匀分布。
  • 数据迁移:使用ClickHouse的INSERT INTO … SELECT语句将数据从数据量较大的节点或分区迁移到数据量较小的节点或分区。
3.2.2 分区策略调整
  • 选择合适的分区键:根据数据的实际分布情况,选择合适的分区键,例如按照日期、地区、用户ID等进行分区。
  • 动态分区:使用ClickHouse的动态分区功能,根据数据的实时情况动态调整分区策略。
3.2.3 查询优化
  • 避免使用GROUP BY操作:GROUP BY操作可能会导致数据倾斜,尽量使用其他操作替代GROUP BY操作。
  • 使用随机化策略:在GROUP BY操作中,可以使用随机化策略,将数据均匀地分布到各个分组中。

3.3 Python代码示例

importclickhouse_driver# 连接ClickHouse数据库client=clickhouse_driver.Client(host='localhost',port=9000)# 数据重分布示例:将数据从表table1迁移到表table2query="INSERT INTO table2 SELECT * FROM table1"client.execute(query)# 分区策略调整示例:创建一个按日期分区的表query=""" CREATE TABLE table3 ( id Int32, date Date, value Float32 ) ENGINE = MergeTree() PARTITION BY toYYYYMM(date) ORDER BY (id, date) """client.execute(query)# 查询优化示例:使用随机化策略进行GROUP BY操作query=""" SELECT floor(rand() * 10) AS random_group, COUNT(*) FROM table4 GROUP BY random_group """result=client.execute(query)forrowinresult:print(row)

4. 数学模型和公式 & 详细讲解 & 举例说明

4.1 数学模型和公式

为了描述数据倾斜问题,我们可以使用以下数学模型和公式:

  • 数据分布不均衡度:设数据在n nn个节点或分区上的分布为x 1 , x 2 , ⋯ , x n x_1, x_2, \cdots, x_nx1,x2,,xn,则数据分布不均衡度D DD可以定义为:
    D = max ⁡ ( x 1 , x 2 , ⋯ , x n ) min ⁡ ( x 1 , x 2 , ⋯ , x n ) D = \frac{\max(x_1, x_2, \cdots, x_n)}{\min(x_1, x_2, \cdots, x_n)}D=min(x1,x2,,xn)max(x1,x2,,xn)
    D DD值越大,说明数据分布越不均衡。

  • 查询响应时间:设查询在n nn个节点或分区上的处理时间为t 1 , t 2 , ⋯ , t n t_1, t_2, \cdots, t_nt1,t2,,tn,则查询响应时间T TT可以定义为:
    T = max ⁡ ( t 1 , t 2 , ⋯ , t n ) T = \max(t_1, t_2, \cdots, t_n)T=max(t1,t2,,tn)

4.2 详细讲解

数据分布不均衡度D DD反映了数据在各个节点或分区上的分布不均匀程度。当D DD值接近 1 时,说明数据分布比较均匀;当D DD值远大于 1 时,说明数据分布存在严重的倾斜。查询响应时间T TT取决于处理时间最长的节点或分区,因此数据倾斜会导致查询响应时间显著增加。

4.3 举例说明

假设我们有一个包含 10 个节点的分布式系统,每个节点上的数据量分别为[ 100 , 200 , 300 , 400 , 500 , 600 , 700 , 800 , 900 , 1000 ] [100, 200, 300, 400, 500, 600, 700, 800, 900, 1000][100,200,300,400,500,600,700,800,900,1000]。则数据分布不均衡度为:
D = 1000 100 = 10 D = \frac{1000}{100} = 10D=1001000=10
这说明数据分布存在严重的倾斜。假设每个节点的处理时间与数据量成正比,处理 1 个单位的数据需要 1 秒,则查询响应时间为:
T = 1000 × 1 = 1000 秒 T = 1000 \times 1 = 1000 \text{ 秒}T=1000×1=1000
如果我们通过数据重分布等手段将数据均匀分布到各个节点上,每个节点的数据量变为 550,则数据分布不均衡度为:
D = 550 550 = 1 D = \frac{550}{550} = 1D=550550=1
查询响应时间为:
T = 550 × 1 = 550 秒 T = 550 \times 1 = 550 \text{ 秒}T=550×1=550
可以看出,通过解决数据倾斜问题,查询响应时间显著缩短。

5. 项目实战:代码实际案例和详细解释说明

5.1 开发环境搭建

5.1.1 安装ClickHouse

可以通过以下步骤在Ubuntu系统上安装ClickHouse:

# 添加ClickHouse官方仓库sudoapt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv E0C56BD4echo"deb http://repo.yandex.ru/clickhouse/deb/stable/ main/"|sudotee/etc/apt/sources.list.d/clickhouse.listsudoapt-getupdate# 安装ClickHousesudoapt-getinstallclickhouse-server clickhouse-client# 启动ClickHouse服务sudoserviceclickhouse-server start
5.1.2 安装Python和ClickHouse驱动
# 安装Pythonsudoapt-getinstallpython3 python3-pip# 安装ClickHouse驱动pip3installclickhouse-driver

5.2 源代码详细实现和代码解读

importclickhouse_driver# 连接ClickHouse数据库client=clickhouse_driver.Client(host='localhost',port=9000)# 创建测试表create_table_query=""" CREATE TABLE test_table ( id Int32, category String, value Float32 ) ENGINE = MergeTree() ORDER BY (id) """client.execute(create_table_query)# 插入测试数据insert_data_query=""" INSERT INTO test_table (id, category, value) VALUES (1, 'A', 10.0), (2, 'A', 20.0), (3, 'B', 30.0), (4, 'B', 40.0), (5, 'A', 50.0), (6, 'B', 60.0) """client.execute(insert_data_query)# 模拟数据倾斜:统计每个类别的记录数skewed_query=""" SELECT category, COUNT(*) FROM test_table GROUP BY category """result=client.execute(skewed_query)forrowinresult:print(row)# 解决数据倾斜:使用随机化策略optimized_query=""" SELECT category, COUNT(*) FROM ( SELECT category, floor(rand() * 2) AS random_group FROM test_table ) GROUP BY category, random_group WITH ROLLUP HAVING category IS NOT NULL """result=client.execute(optimized_query)forrowinresult:print(row)

5.3 代码解读与分析

  • 连接ClickHouse数据库:使用clickhouse_driver.Client类连接到本地的ClickHouse数据库。
  • 创建测试表:使用CREATE TABLE语句创建一个名为test_table的表,包含idcategoryvalue三个字段。
  • 插入测试数据:使用INSERT INTO语句向test_table表中插入测试数据。
  • 模拟数据倾斜:使用GROUP BY语句统计每个类别的记录数,由于数据分布不均匀,可能会导致数据倾斜。
  • 解决数据倾斜:使用随机化策略,将数据均匀地分布到各个分组中,然后使用WITH ROLLUP语句汇总结果。

6. 实际应用场景

6.1 电商数据分析

在电商数据分析中,数据倾斜问题经常出现。例如,某些热门商品的销售数据远远超过其他商品,在进行销售统计时,会导致数据倾斜。可以通过以下方法解决:

  • 数据重分布:将热门商品的数据分散到多个节点或分区上。
  • 分区策略调整:按照商品类别、销售地区等进行分区,使数据在各个分区上分布更加均匀。
  • 查询优化:使用随机化策略进行分组统计,避免某些分组的记录数过多。

6.2 日志分析

在日志分析中,不同时间段的日志数据量可能会有很大差异,导致数据倾斜。可以通过以下方法解决:

  • 数据重分布:将日志数据按照时间范围进行划分,将数据量较大的时间段的数据迁移到其他节点或分区上。
  • 分区策略调整:按照时间进行分区,例如按天、按小时进行分区,使数据在各个分区上分布更加均匀。
  • 查询优化:在查询时,根据时间范围进行筛选,避免查询大量不必要的数据。

6.3 社交网络分析

在社交网络分析中,某些用户的活跃度远远高于其他用户,导致数据倾斜。可以通过以下方法解决:

  • 数据重分布:将活跃用户的数据分散到多个节点或分区上。
  • 分区策略调整:按照用户ID、用户活跃度等进行分区,使数据在各个分区上分布更加均匀。
  • 查询优化:使用随机化策略进行分组统计,避免某些分组的记录数过多。

7. 工具和资源推荐

7.1 学习资源推荐

7.1.1 书籍推荐
  • 《ClickHouse实战》:全面介绍了ClickHouse的原理、架构和应用,是学习ClickHouse的经典书籍。
  • 《大数据技术原理与应用》:系统介绍了大数据领域的相关技术,包括数据存储、处理和分析等方面的知识。
7.1.2 在线课程
  • Coursera上的“大数据分析与处理”课程:由知名高校教授授课,内容涵盖了大数据领域的多个方面。
  • 网易云课堂上的“ClickHouse从入门到精通”课程:详细介绍了ClickHouse的使用方法和实战技巧。
7.1.3 技术博客和网站
  • ClickHouse官方博客:提供了ClickHouse的最新技术动态和使用经验分享。
  • 开源中国社区:有很多关于大数据和ClickHouse的技术文章和讨论。

7.2 开发工具框架推荐

7.2.1 IDE和编辑器
  • PyCharm:一款功能强大的Python集成开发环境,支持ClickHouse驱动的开发。
  • Visual Studio Code:一款轻量级的代码编辑器,支持多种编程语言,可用于ClickHouse相关代码的开发。
7.2.2 调试和性能分析工具
  • ClickHouse自带的性能分析工具:可以查看查询的执行计划和性能指标。
  • Grafana:一款开源的可视化工具,可用于监控ClickHouse的性能指标。
7.2.3 相关框架和库
  • ClickHouse-driver:Python的ClickHouse驱动,提供了方便的API接口。
  • Pandas:Python的数据处理库,可用于对ClickHouse查询结果进行处理和分析。

7.3 相关论文著作推荐

7.3.1 经典论文
  • 《ClickHouse: A Fast Open-Source Analytical DBMS》:介绍了ClickHouse的设计原理和性能特点。
  • 《Data Skew in Parallel Database Systems》:研究了并行数据库系统中的数据倾斜问题及解决方法。
7.3.2 最新研究成果
  • 可以通过IEEE、ACM等学术数据库搜索关于ClickHouse数据倾斜问题的最新研究成果。
7.3.3 应用案例分析
  • 可以在相关的技术论坛和博客上搜索ClickHouse数据倾斜问题的应用案例分析,学习他人的经验和教训。

8. 总结:未来发展趋势与挑战

8.1 未来发展趋势

  • 智能化解决策略:随着人工智能技术的发展,未来可能会出现智能化的数据倾斜解决策略,通过机器学习算法自动识别数据倾斜问题,并提供最优的解决方案。
  • 与其他大数据技术的融合:ClickHouse可能会与其他大数据技术(如Spark、Hadoop等)进行更深入的融合,以提供更强大的数据分析能力。
  • 云原生支持:随着云计算的普及,ClickHouse可能会提供更好的云原生支持,方便用户在云环境中使用。

8.2 挑战

  • 数据量的持续增长:随着数据量的持续增长,数据倾斜问题可能会更加严重,需要不断优化解决策略。
  • 复杂业务场景的挑战:在复杂的业务场景下,数据倾斜问题可能会更加复杂,需要更加灵活和高效的解决方法。
  • 技术更新换代快:大数据领域的技术更新换代非常快,需要不断学习和掌握新的技术,以应对数据倾斜问题。

9. 附录:常见问题与解答

9.1 如何判断ClickHouse是否存在数据倾斜问题?

可以通过以下方法判断ClickHouse是否存在数据倾斜问题:

  • 观察查询响应时间:如果某些查询的响应时间过长,可能存在数据倾斜问题。
  • 查看资源利用率:使用ClickHouse自带的性能分析工具查看各个节点或分区的资源利用率,如果某些节点或分区的资源利用率过高,可能存在数据倾斜问题。

9.2 数据重分布会影响业务的正常运行吗?

在进行数据重分布时,需要注意数据的一致性和业务的正常运行。可以选择在业务低谷期进行数据重分布,或者采用增量迁移的方式,以减少对业务的影响。

9.3 如何选择合适的分区键?

选择合适的分区键需要考虑数据的实际分布情况和查询需求。一般来说,可以选择具有较高区分度的字段作为分区键,例如日期、地区、用户ID等。同时,需要根据查询的频率和范围来确定分区的粒度。

10. 扩展阅读 & 参考资料

10.1 扩展阅读

  • 《ClickHouse官方文档》:详细介绍了ClickHouse的各种功能和使用方法。
  • 《大数据技术前沿研究》:关注大数据领域的最新技术和研究成果。

10.2 参考资料

  • ClickHouse官方网站:https://clickhouse.com/
  • IEEE Xplore:https://ieeexplore.ieee.org/
  • ACM Digital Library:https://dl.acm.org/

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/1196239.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

救命神器!专科生毕业论文TOP9 AI论文网站测评

救命神器!专科生毕业论文TOP9 AI论文网站测评 2026年专科生论文写作工具测评:为什么你需要这份榜单? 随着人工智能技术的不断进步,越来越多的专科生开始借助AI工具辅助毕业论文的撰写。然而,面对市场上五花八门的论文…

【计算机毕业设计案例】基于python-CNN模型深度学习对核桃的品质识别基于python-pytorch训练CNN模型对核桃的品质识别

博主介绍:✌️码农一枚 ,专注于大学生项目实战开发、讲解和毕业🚢文撰写修改等。全栈领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围:&am…

【异常】FreeMarker 模板文件找不到问题排查与解决 TemplateNotFoundException: Template not found for name “mail/captcha.f

一、报错内容 cn.hutool.core.io.IORuntimeException: TemplateNotFoundException: Template not found for name "mail/captcha.ftl". The name was interpreted by this TemplateLoader: ClassTemplateLoader(classLoader="jdk.internal.loader.ClassLoaders…

【计算机毕业设计案例】基于django的服装品类趋势及消费者洞察数据分析可视化系统(程序+文档+讲解+定制)

java毕业设计-基于springboot的(源码LW部署文档全bao远程调试代码讲解等) 博主介绍:✌️码农一枚 ,专注于大学生项目实战开发、讲解和毕业🚢文撰写修改等。全栈领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、…

第七天 |344.反转字符串 541. 反转字符串II 替换数字

第七天| 题目1 344.反转字符串 344.反转字符串 | 代码随想录 字符串基础操作! | LeetCode:344.反转字符串_哔哩哔哩_bilibili 笔记 为什么是O(1)的额外空间? 我的代码中使用了4个int变量,即额外空间是固定的,是常…

7款AI工具高效撰写学术论文的技巧与实例解析

工具核心特点速览 工具名称 核心优势 适用场景 数据支撑 aibiye 全流程覆盖降重优化 从开题到答辩的一站式需求 支持20万字长文逻辑连贯 aicheck 院校规范适配模板化输出 国内本硕博论文框架搭建 覆盖90%高校格式要求 秒篇 3分钟文献综述生成 紧急补文献章节 知…

Agentic AI社会责任:提示工程架构师的资源整合

知识金字塔构建者:Agentic AI社会责任与提示工程的资源整合艺术 1. 引入与连接:当AI学会“自主决策”,我们该如何教它“做个好人”? 1.1 一个真实的Agentic AI场景 早上7点,李奶奶的智能助手小安准时“醒来”——它先通过床头传感器读取了李奶奶的睡眠数据(昨晚醒了3次…

344. 反转字符串-day07

题目:344. 反转字符串 题目链接:https://leetcode.cn/problems/reverse-string/description/ 思路:就是将字符数组中的元素交换位置(从中间分开),例子:第1个后最后一个交换,第2个和倒数第二个交换 代码:点击查…

学术论文写作:7款AI工具实用技巧及案例演示

工具核心特点速览 工具名称 核心优势 适用场景 数据支撑 aibiye 全流程覆盖降重优化 从开题到答辩的一站式需求 支持20万字长文逻辑连贯 aicheck 院校规范适配模板化输出 国内本硕博论文框架搭建 覆盖90%高校格式要求 秒篇 3分钟文献综述生成 紧急补文献章节 知…

2026成都最新二手房装修企业top5评测!服务深度覆盖金牛区、新都区、青羊区、成华区等地优质品牌权威榜单发布,缔造理想居家环境.

随着二手房市场的持续火热,二手房装修需求日益增长,选择一家靠谱的装修公司至关重要。本榜单基于企业资质、设计实力、施工工艺、材料品质、服务保障五大维度,结合市场口碑与客户反馈,权威解析2026年五大二手房装修…

《实时渲染》第2章-图形渲染管线-2.3几何处理

几何处理阶段在GPU上完成顶点着色、投影、裁剪和屏幕映射,将模型从局部空间逐步转换至窗口坐标,为后续光栅化做准备。实时渲染 2. 图形渲染管线 2.3 几何处理 GPU上的几何处理阶段负责大多数每个三角形和每个顶点的操…

华为eNSP中USG6000防火墙web界面登录设置

防火墙USG6000V导入包 1. 导入包的获取下载链接:https://blog.csdn.net/IU131313/article/details/132792422(感谢大佬) 2.下载好导入包之后在ensp中在拓扑图上拉出USG6000V防火墙,点击FW,按照界面指示将导入包放入进…

咖啡果实成熟度数据集2359张VOC+YOLO格式

咖啡果实成熟度数据集2359张VOCYOLO格式数据集格式:VOC格式YOLO格式压缩包内含:3个文件夹,分别存储图片、xml、txt文件JPEGImages文件夹中jpg图片总计:2359Annotations文件夹中xml文件总计:2359labels文件夹中txt文件总…

【开题答辩全过程】以 基于JAVA的宠物医院管理系统的设计为例,包含答辩的问题和答案

个人简介一名14年经验的资深毕设内行人,语言擅长Java、php、微信小程序、Python、Golang、安卓Android等开发项目包括大数据、深度学习、网站、小程序、安卓、算法。平常会做一些项目定制化开发、代码讲解、答辩教学、文档编写、也懂一些降重方面的技巧。感谢大家的…

行列式求值

行列式求值 给定一个行列式,求它的值,对任意模数取模。 分析 一个小技巧可以避免精度问题(或者说任意模数下逆元存在性问题),考虑使用类似求最大公约数地碾转相除法,在消除某行的主元时消到取余后的值,再交换两…

2026年1月21日人工智能早间新闻

各位读者,早上好。今天是2026年1月21日,星期三。欢迎收看人工智能早间新闻。世界经济论坛2026年年会进入第三天,昨日,大会聚焦“绩效”与“能源”两大核心,对人工智能的全球竞争格局进行了一次现实的把脉。与此同时&am…

Spring AI Alibaba实战训练营-26 基于Spring AI+MCP SDK开发SQLite 聊天机器人应用的完整指南

文章目录 本期目标 一、开发环境准备 1.1 基础环境要求 1.2 获取项目代码 1.3 配置 API 密钥 二、项目核心组件解析 2.1 依赖管理(pom.xml) 2.2 数据库初始化 三、核心代码实现详解 3.1 MCP 客户端配置(Application.java) 3.2 工具回调注册机制 3.3 预定义问题 3.4 交互式聊…

AI生成B端管理后台实战经验分享:3个技巧总结

引言 做了几年B端产品,越来越觉得,管理后台才是产品的灵魂。当然,也是最容易让人头秃的那一块。不管是给内部用的OA、ERP系统,还是给客户用的SaaS后台,逻辑一复杂,页面数量就容易上涨。当项目赶进度的时候,产品…

[20260121]关于display_raw函数.txt

[20260121]关于display_raw函数.txt--//在查看表统计信息的字段最大以及最小值,经常会使用定义的函数display_raw,在tpt的desc11.sql脚本前面有一段该函数的定义以--//及说明。--//在生产系统我使用的脚本许多情况并…