大数据面试题之GreenPlum(1)

目录

介绍一下GreenPlum

GreenPlum属于哪家公司的产品,简单说下发展历史

GreenPlum如何处理大数据

GreenPlum有哪些优势

GreenPlum的缺点有哪些

如何优化GreenPlum的性能

如何监控和分析GreenPlum的性能指标

Greenplum整体架构信息

说下Master主机与Segment主机任务

哪些公司在用Greenplum,都用在哪些项目上

Greenplum的版本和PostgreSQL版本对应关系


介绍一下GreenPlum

Greenplum是一个面向数据仓库和大数据分析领域的关系型数据库管理系统,它是基于开源的PostgreSQL数据库开发的,并且与PostgreSQL有着非常好的兼容性。Greenplum设计的主要目标是为了处理大规模的数据仓库查询和复杂的分析任务,特别是在需要高并发和高性能的场景下。
关键特点包括:
1、MPP架构(Massively Parallel Processing):Greenplum采用无共享(Shared-Nothing)的MPP架构,这意味着数据被分布到多个节点上,并行处理。每个节点都有自己的CPU、内存和存储,从而实现了横向扩展,可以线性增加系统的处理能力和存储容量。
2、分布式查询处理:由于其MPP架构,Greenplum能够将复杂的SQL查询分解成多个部分,这些部分在不同的节点上并行执行,然后将结果汇总,显著提高了查询性能。
3、高度可扩展性:用户可以通过添加更多的服务器节点来扩展系统,几乎可以线性地提高数据处理能力和存储空间,非常适合处理PB级别的数据仓库。
4、与PostgreSQL的兼容性:大多数PostgreSQL的客户端工具和应用程序都可以直接在Greenplum上运行,使得开发和迁移工作更加简便。
5、ORCA优化器:Greenplum内置的ORCA(Optimized Query Planner)优化器能够生成高效的执行计划,进一步提升查询性能。
6、数据加载与ETL:提供高效的数据加载工具gpfdist和并行ETL处理能力,便于数据仓库的建设和日常数据处理。
7、高级分析功能:支持复杂的数据分析功能,包括窗口函数、用户自定义函数(UDF)和复杂的SQL查询,同时也支持MapReduce风格的编程,便于进行大数据分析。
8、云原生与容器化:随着版本的演进,Greenplum也逐渐支持云部署和容器化技术,适应现代IT基础设施的需求。
Greenplum适用于需要处理大量数据、进行复杂分析和报表生成的企业级应用,如银行、电信、零售、互联网等行业,特别适合大数据量下的商业智能(BI)、数据挖掘和大规模数据仓库解决方案。

GreenPlum属于哪家公司的产品,简单说下发展历史

GreenPlum数据库的发展历史及其所属公司的情况可以归纳如下:
所属公司

  • Greenplum公司:Greenplum数据库最初由Greenplum公司开发。然而,随着公司的发展和市场的变化,Greenplum数据库的所有权也经历了多次变更。
  • EMC公司:2010年,Greenplum公司被EMC公司收购,Greenplum数据库成为EMC公司的一部分。
  • Pivotal公司:2014年,Greenplum数据库从EMC公司独立出来,成为Pivotal公司的产品。Pivotal公司在Cloud Foundry、Spring、Cloud Native、DevOps、Microservices等领域有着深厚的技术积累,并对企业数字化转型有着深刻的洞察。
  • VMware公司:到了2020年,Pivotal公司经历了一场并购,成为VMware全新产品和服务组合VMware Tanzu的一部分。因此,Greenplum数据库目前属于VMware公司。

发展历史

  • 早期发展:Greenplum数据库最早可以追溯到大约2002年(也有说法认为是2008年发布),当时互联网行业正经历着数据量的爆发式增长,传统的计算模式在处理海量数据时遇到了瓶颈。分布式存储和分布式计算理论的提出,为Greenplum等新型数据库的发展提供了契机。
  • 基于PostgreSQL:Greenplum数据库在选型数据库内核时选定了PostgreSQL,并在此基础上进行了大量的改动和优化,以支持MPP(Massively Parallel Processing)分布式架构。这一架构使得Greenplum数据库能够高效地处理大规模数据。
  • 版本迭代:Greenplum数据库经历了多个版本的迭代和升级。例如,Greenplum 4的内核版本为PostgreSQL 8.2.3,Greenplum 5的内核版本为PostgreSQL 8.3.23,而Greenplum 6的内核版本则升级到了PostgreSQL 9.4。这些升级不仅带来了性能上的提升,还增加了许多新特性和功能。
  • 应用拓展:随着大数据和云计算技术的发展,Greenplum数据库的应用范围也不断拓展。它不再仅仅是一个数据仓库解决方案,而是逐渐发展成为了一个支持多种数据分析需求、能够连接多种外部数据源的大数据平台。

综上所述,GreenPlum数据库目前属于VMware公司的产品,其发展历程经历了从Greenplum公司到EMC公司再到Pivotal公司,并最终成为VMware的一部分。在这个过程中,GreenPlum数据库不断迭代升级,优化性能,拓展应用场景,成为了分布式数据库领域的佼佼者。

GreenPlum如何处理大数据

Greenplum处理大数据的能力主要得益于其专为大规模数据分析优化的设计特性,以下是几个关键方面:
1、分布式架构(MPP):Greenplum基于大规模并行处理(MPP)架构,它将数据分布在多个节点上,每个节点都是一个独立的数据库实例,能够独立处理数据。这种架构允许数据并行加载、存储和查询,从而加速数据处理过程。
2、并行计算:利用其MPP架构,Greenplum能够将复杂的查询分解成多个子任务,这些子任务在各个节点上并行执行。每个节点处理一部分数据,最后汇总所有节点的结果,实现高速数据处理。
3、数据分区:Greenplum支持数据水平分区和垂直分区,这有助于优化查询性能。水平分区是将表按行分割,分配到不同节点上,而垂直分区则是将表按列分割。合理的分区策略可以减少数据扫描范围,加快查询速度。
4、优化器(ORCA):Greenplum的优化器(Optimized Query Execution and Cost-based Optimization, ORCA)能够自动选择最佳的查询执行计划,包括选择最有效的并行化策略和数据访问路径,从而提高查询效率。
5、高效的数据加载:提供了如gpfdist这样的工具,用于高速数据加载,可以并行地从多个源加载数据到Greenplum集群,显著减少数据导入时间。
6、高可用性和容错性:Greenplum设计有主节点和数据节点的高可用机制。主节点通过Standby Master实现故障转移,数据节点则通过镜像技术保证数据的可靠性,即使某个节点故障也不会影响整体系统的运行。
7、资源管理:Greenplum支持资源队列,可以根据业务需求分配系统资源,确保关键任务优先执行,避免资源争抢导致的性能下降。
8、扩展性:用户可以根据需要添加更多节点来扩展系统,几乎可以线性地提升处理能力和存储空间,轻松应对数据量的增长。

GreenPlum有哪些优势

Greenplum作为一款开源大数据分析平台,具有以下显著优势:

  1. 高性能计算效率:Greenplum利用并行处理技术(MPP架构),能够将数据查询和分析任务分散到多个节点上并行执行,显著提升了处理速度和吞吐量,特别适合大数据量的复杂查询。
  2. 大规模数据存储与处理:支持PB级别的数据存储和处理,满足大数据时代的数据管理需求,适用于海量数据仓库和数据分析场景。
  3. 线性扩展性:通过增加新的Segment节点,Greenplum可以几乎线性地扩展其存储和计算能力,使系统随着数据量的增长而平滑扩容,保持高性能。
  4. 高可用性:提供数据库层的镜像机制,每个Segment节点的数据会在另一个节点上有镜像备份,确保单个节点故障不会影响整个系统的可用性,提高了系统的鲁棒性。
  5. 开源与PostgreSQL兼容性:受益于PostgreSQL的核心数据库引擎,Greenplum不仅继承了其丰富的SQL特性和稳定性,还融入了大数据处理能力,且由于开源,拥有活跃的社区支持和持续的技术创新。
  6. 灵活的数据加载与实时更新:支持准实时和实时的数据加载,可以实现动态数据仓库(ADW),为BI实时分析提供“即时”数据,加速企业决策过程。
  7. 优化的查询执行计划:内置的ORCA优化器能够生成高效的查询执行计划,尤其擅长处理复杂的分析查询,提高数据处理的效率和准确性。
  8. 资源管理和工作负载控制:通过资源队列和工作负载管理功能,Greenplum能够有效地分配系统资源,确保关键任务的优先执行,同时支持多租户环境。
  9. 易用性与生态系统集成:提供了图形界面管理工具和广泛的生态系统集成,便于管理和维护,同时易于与Hadoop、Kafka等大数据生态工具集成,支持数据湖和流处理场景。
  10. 成本效益:作为开源解决方案,Greenplum降低了许可成本,同时其能够在标准的x86服务器上运行,减少了硬件投入,总体拥有成本较低。

综上,Greenplum凭借其高性能、高扩展性、高可用性以及与开源生态的紧密集成,成为处理大规模数据分析任务的理想选择。

GreenPlum的缺点有哪些

Greenplum作为一款功能强大的数据仓库和大数据分析平台,尽管有许多优点,但也存在一些局限性和挑战,主要包括:

  1. 技术依赖与复杂性:Greenplum的部署和管理相对复杂,需要专业的IT团队来维护。它的配置、扩展和优化都需要深入的技术知识,对用户的技能要求较高。
  2. 数据安全性问题:有观点指出,在特定情况下,如gmt_modified这类字段的查询效率可能因未优化的索引策略而降低,虽然这可通过其他技术手段解决,但体现了数据安全性和访问效率的潜在挑战。
  3. 查询并发与性能瓶颈:虽然设计为高并发处理,但在实际应用中,Master节点可能成为瓶颈,尤其是在并发请求非常多的情况下,它可能无法支持超过一定数量的并发连接,导致性能下降。
  4. 扩展限制:虽然理论上Greenplum支持大规模扩展,但在实践中,集群规模受物理Master节点的限制,很难超过一定数量的物理节点,这可能限制了极端大规模部署的能力。
  5. 实时分析能力:相较于一些专为实时数据分析设计的系统,如Apache Doris,Greenplum在实时数据分析方面可能表现较弱,对实时数据进行增量聚合计算的能力有限,不适合对实时性要求极高的场景。
  6. 单点故障风险:虽然有高可用设计,但早期的Greenplum采用主从架构,存在单点故障的风险,尽管后期版本可能有所改进,但这仍然是考量其稳定性和可用性的一个因素。
  7. 硬件与资源管理:为了充分发挥Greenplum的性能,需要仔细规划硬件配置和资源管理,包括Segment数量、CPU核心分配、查询并发数等,不当的配置会影响整体性能。
  8. 技术支持与生态:尽管Greenplum背后有企业支持,但在某些地区或特定场景下,相比于某些本土化服务更好的数据库,如Doris在中国,Greenplum可能在技术支持的及时性与本地化方面不占优势。

综上所述,尽管Greenplum在大数据处理和分析方面表现出色,但在部署复杂性、实时处理能力、扩展性和技术支持等方面存在一定的局限性,用户在选择时应根据自身需求权衡其优缺点。

如何优化GreenPlum的性能

优化Greenplum的性能涉及多个层面,包括系统配置、查询优化、数据布局、资源管理等。以下是一些具体的优化措施:
1、启用全局死锁检测:
使用gpconfig命令开启全局死锁检测器,以支持并发更新/删除操作。命令如下:

gpconfig -c gp_enable_global_deadlock_detector -v on

2、禁用ORCA优化器:
如果GPORCA并不总是提供最佳的查询计划,可以考虑禁用它,使用传统的PostgreSQL查询优化器。命令如下:

gpconfig -c optimizer -v off

3、调整日志级别:
减少不必要的日志输出,以减轻I/O负担,提高性能。可以调整相关的GUC(Grand Unified Configuration)参数。
4、性能监控与管理:
利用Pivotal Greenplum Command Center (GPCC)进行性能监控,识别瓶颈并优化资源使用。
5、使用分区表:
根据业务需求合理设计分区表,可以有效提高查询效率,特别是对于大量数据的查询和维护。
6、优化数据加载:
利用gpfdist等工具进行高效数据加载,并考虑数据分布策略以减少数据移动。
7、调整资源队列:
合理设置资源队列,限制并发查询的数量,确保关键查询有足够的资源执行,防止资源争抢。
8、调整内存参数:
调整work_mem和maintenance_work_mem参数,以优化内存使用,减少磁盘I/O。
9、垃圾回收:
定期触发垃圾回收,释放被无效对象占用的内存,使用SELECT pg_catalog.pg_gc()命令。
10、维护统计信息:
定期运行ANALYZE命令,更新表的统计信息,帮助优化器做出更准确的决策。
11、优化查询:
分析执行计划,识别慢查询,优化SQL语句,确保正确使用索引,减少全表扫描,避免计算倾斜和不必要的数据移动。
12、硬件优化:
确保硬件配置符合最佳实践,如足够的内存、快速的磁盘存储(如SSD)和高效的网络连接。
13、系统调优:
根据操作系统和网络配置进行调优,例如调整TCP/IP缓冲区大小、优化磁盘I/O调度策略等。

如何监控和分析GreenPlum的性能指标

监控和分析Greenplum的性能指标是确保系统高效运行的关键环节。以下是一些主要的方法和工具:
1、使用Greenplum Command Center (GPCC):
GPCC是Greenplum提供的图形化运维管理工具,它可以帮助你监控系统状态、查询性能、资源使用情况等。通过GPCC,你可以直观地看到各种图表,如查询响应时间、活跃会话、磁盘使用情况、内存使用等。GPCC还允许你查看历史数据,以便分析趋势和诊断问题。
2、查看系统视图:
Greenplum提供了一系列系统视图,用于获取详细的性能指标。例如,你可以查询pg_stat_activity视图来监控当前活动的会话和查询,pg_statio_user_tables视图来查看表的I/O统计信息,gp_toolkit.gp_resqueue_status视图来检查资源队列的状态等。
3、启用gpperfmon扩展:
gpperfmon是Greenplum的性能监控扩展,可以收集关于系统性能的详细数据,包括查询执行时间、CPU使用率、内存使用情况等。你需要在Greenplum的配置中开启gpperfmon,并配置好相应的端口,然后可以通过SQL查询或外部工具(如Grafana)来分析这些数据。
4、慢日志分析:
Greenplum允许你配置慢查询日志,记录执行时间超过阈值的查询。通过分析慢日志,可以找出性能瓶颈和优化空间。调整statement_timeout和log_min_duration_statement参数来定义慢查询的标准,并定期审查日志。
5、使用第三方工具和脚本:
除了上述内建工具外,还可以利用第三方监控工具或编写自定义脚本来收集和分析性能数据。例如,使用Prometheus和Grafana进行监控可视化,或者编写Python脚本定期抓取并分析系统视图数据。
6、定期运行ANALYZE:
维护统计信息对于优化器生成高效查询计划至关重要。定期执行ANALYZE命令,确保优化器基于最新的数据分布和统计信息来制定执行计划。
7、资源和工作负载管理:
通过监控资源队列和调整资源分配策略,确保系统资源得到合理利用,避免资源争抢,比如合理设置max_connections、work_mem等参数。

Greenplum整体架构信息

Greenplum的整体架构基于分布式数据库的Shared-Nothing架构(Massively Parallel Processing, MPP),它专为大数据存储、处理和分析而设计。以下是Greenplum关键组件及其功能的概述:
1、Master节点:
负责接收客户端的SQL查询请求。
生成全局查询执行计划,这个计划会考虑到所有Segment节点上的数据分布。
将执行计划分解成多个子任务,分发给各个Segment节点执行。
汇总Segment节点返回的结果,最后将最终结果返回给客户端。
2、Segment节点:
是实际存储数据并执行查询的地方,每个Segment都是一个独立的PostgreSQL数据库实例。
Segment节点之间是无共享(Share-Nothing)的,每个节点都有自己的CPU、内存和存储资源,这使得Greenplum能够实现高度的并行处理。
Segment节点可以进一步细分为主Segment和镜像Segment(mirror),镜像用于数据冗余,以提高可用性,当主Segment发生故障时自动切换到镜像Segment。
3、Interconnect网络:
连接Master节点与Segment节点以及Segment节点之间的高速通信网络,是Greenplum并行处理架构中的重要组成部分。
在查询执行过程中,大量的数据交换和协调指令都依赖于这个网络。
4、Resource Queues and Workload Management:
Greenplum通过资源队列来管理系统的资源分配,确保不同优先级的查询或用户组能够公平或按需使用系统资源。
5、Catalog:
存储数据库的元数据,包括表结构、索引信息、权限设置等,Master节点维护全局目录,每个Segment节点也有本地目录来跟踪自己管理的数据。
6、ORCA优化器(Optimized Query Planner):
Greenplum包含一个高级的查询优化器,称为ORCA,它能够生成高效的并行执行计划,尤其是在处理复杂查询和大数据集时。
7、扩展性和容错性:
Greenplum通过添加更多的Segment节点可以水平扩展,实现数据存储和处理能力的线性增长。
利用Segment镜像机制提供数据冗余,保证单点故障不影响整个系统的正常运行。

说下Master主机与Segment主机任务

在Greenplum数据库体系结构中,Master主机与Segment主机承担着不同的角色和任务,共同协作以实现高效的数据处理和分析。以下是它们的主要职责:
Master主机任务:

  1. 客户端连接管理:Master主机负责接收来自客户端的连接请求,并管理这些会话。
  2. SQL解析与查询优化:接收到SQL查询后,Master负责解析查询语句,并生成最优的分布式执行计划。这个过程包括查询优化、选择合适的索引和数据分布策略等。
  3. 执行计划分发:一旦生成了执行计划,Master将其分解并分配给各个Segment主机执行。
  4. 结果集合并:Master主机收集各个Segment主机返回的执行结果,并最终合并这些结果,返回给客户端。
  5. 元数据管理:存储和管理数据库的元数据,如表定义、索引信息等,但不存储业务数据本身。
  6. 事务管理:负责事务的开始、提交和回滚等控制。

Segment主机任务:

  1. 数据存储与管理:Segment主机实际存储和管理用户业务数据。数据被水平切分(基于分布键),分布在不同的Segment上,形成分布式数据库。
  2. 并行执行查询:根据从Master接收到的执行计划,Segment并行执行相应的SQL操作,如筛选、聚合等。
  3. 数据计算:Segment是数据处理和计算的主要场所,执行所有涉及数据的实际计算工作。
  4. 数据恢复与容错:通过与镜像Segment配合,实现数据的高可用性。如果某个Segment失败,其对应的镜像Segment可以接管工作,确保数据不丢失且服务持续。
  5. 资源管理:每个Segment管理自身的计算和存储资源,确保查询执行的高效性。

这种主从架构设计让Greenplum能够高效地处理大规模数据仓库查询,通过并行处理大量数据,实现高性能的数据分析。

哪些公司在用Greenplum,都用在哪些项目上

Greenplum作为一款高性能的分布式数据库,被众多公司应用于各种项目中,以满足其数据存储、处理和分析的需求。以下是一些使用Greenplum的公司及其项目应用的概述:
使用Greenplum的公司
全球范围:

  • 纳斯达克:作为全球知名的证券交易所,纳斯达克可能使用Greenplum来处理和分析大量的交易数据,以支持其业务运营和决策制定。
  • 纽约证券交易所:同样作为重要的证券交易所,纽约证券交易所也可能利用Greenplum来处理其复杂的金融数据。
  • Skype:Skype作为一家全球性的通信公司,可能使用Greenplum来存储和分析用户通信数据,以优化其服务质量和用户体验。
  • FOX:FOX作为媒体和娱乐公司,可能利用Greenplum来处理和分析其媒体内容、用户行为等数据,以支持其内容创作和广告投放。

中国范围:

  • 中信实业银行:中信实业银行可能使用Greenplum来构建其数据仓库,以支持其金融业务的数据分析和决策支持。
  • 东方航空公司:东方航空公司可能利用Greenplum来处理和分析航班数据、乘客信息等,以优化其航班运营和客户服务。
  • 阿里巴巴:阿里巴巴是国内最早使用Greenplum作为数据仓库计算中心的公司之一。从2009年到2012年,Greenplum都是阿里巴巴B2B最重要的数据计算中心,它替换掉了之前的Oracle RAC,为阿里巴巴的数据分析和业务决策提供了强大的支持。
  • 华泰保险:华泰保险可能使用Greenplum来构建其保险业务的数据仓库,以支持其风险评估、产品设计、客户服务等方面的数据分析和决策支持。
  • 中国远洋(Cosco):中国远洋作为航运公司,可能利用Greenplum来处理和分析船舶运营数据、物流信息等,以优化其航运业务。
  • 李宁公司:李宁公司作为体育用品和零售公司,可能使用Greenplum来分析销售数据、顾客行为等,以支持其市场策略和产品创新。

项目应用
Greenplum的应用主要集中在以下几个方面:

  1. 数据仓库:Greenplum强大的并行处理能力和可扩展性使其成为构建企业级数据仓库的理想选择。许多公司使用Greenplum来整合和存储来自不同来源的数据,以支持其业务分析和决策制定。
  2. 商业智能(BI):Greenplum与商业智能工具相结合,可以为企业提供实时的数据分析和报表生成能力。这有助于企业快速响应市场变化,优化业务运营。
  3. 大数据处理:随着大数据时代的到来,Greenplum凭借其分布式架构和并行处理能力,在大数据处理领域展现出了强大的优势。许多公司使用Greenplum来处理和分析海量数据,以挖掘数据背后的价值。
  4. 特定行业应用:Greenplum还广泛应用于电信、医疗、金融等行业。例如,在电信领域,Greenplum可以用于流量分析和信令分析;在医疗领域,Greenplum可以用于处理和分析医疗大数据,支持医疗决策和健康管理。

需要注意的是,由于公司业务的多样性和复杂性,Greenplum的具体应用可能因公司而异。以上概述仅代表了一般情况,并不涵盖所有使用Greenplum的公司和项目。

Greenplum的版本和PostgreSQL版本对应关系

Greenplum和PostgreSQL之间的版本对应关系并不是一一对应的,因为Greenplum是基于PostgreSQL进行扩展和优化的,但它会根据自己的需求和计划来升级PostgreSQL的内核版本。以下是根据参考文章整理的Greenplum和PostgreSQL版本之间的大致对应关系及发展历程:
早期版本

  • Greenplum研发之初:2005年左右,Greenplum的内核版本是PostgreSQL 8。

逐步升级

  • Greenplum 5之前:在发布Greenplum 5之前,其内核版本一直是PostgreSQL 8.2。
  • 开源与内核升级项目:2015年,Greenplum完成了开源,并启动了内核升级的项目。
  • Greenplum 5:2017年发布的Greenplum 5.0中,其内核版本已经升级到了PostgreSQL 8.3。
  • 加速升级:Greenplum在随后的几年里加速了内核版本的升级,陆续完成了PostgreSQL 9.0、9.1、9.2、9.3、9.4、9.5和9.6版本的升级。

重大升级

  • Greenplum内核升级至PostgreSQL 12:2020年9月,Greenplum内核研发团队完成了从PostgreSQL 9.6到12的跨越式升级。这次升级包含了众多新特性,大大加强了Greenplum的总体能力,并继续弥合与上游PostgreSQL的差异。

当前状态

  • 需要注意的是,由于技术发展的迅速性,Greenplum可能会继续升级其内核的PostgreSQL版本。因此,最准确的版本对应关系应参考Greenplum的官方文档或最新发布信息。

总结
Greenplum和PostgreSQL之间的版本对应关系是一个动态发展的过程。Greenplum会根据自身的技术需求和市场变化来选择合适的PostgreSQL版本进行升级和优化。因此,对于具体的版本对应关系,建议查阅Greenplum的官方文档或关注其最新发布信息。

引用:通义千问、文心一言

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

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

相关文章

Web知识库应用程序LibreKB

什么是 LibreKB ? LibreKB 是一款知识库 Web 应用程序。免费、开源、自托管,基于 PHP/MySQL。 官方并没有 Docker 镜像,老苏这次图省事,并没有像往常一样构建一个镜像,而是基于 Docker 搭建了一个 LAMP 环境&#xff0…

判断一个字符串中出现次数最多的字符,统计这个次数?

1、核心算法:利用 charAt() 遍历这个字符串 2、把每个字符都存储给对象,如果对象没有该属性就为1,如果存了就1 3、遍历对象,得到最大值及出现次数和该字符 let str "aozisodsdkksdsd" let obj {} for (let i 0; i &l…

ConditionalOnJndi注解使用介绍、应用场景以及示例代码

概述 ConditionalOnJndi 是 Spring Framework 中的一个条件注解,用于在特定的 JNDI (Java Naming and Directory Interface) 环境条件下决定是否创建一个 bean 或配置一个 bean。JNDI 是 Java EE 规范中定义的一种用于访问命名和目录服务的 API,它允许 …

蹭一个围棋亚军!不要和低维的人说话——早读(逆天打工人爬取热门微信文章解读)

熬夜后需要补什么呢? 引言Python 代码第一篇 洞见 不要和低维的人说话(深度好文)第二篇 冲冲冲结尾 引言 昨晚真的是熬夜又想不出东西 真的头大 最近下围棋 这个棋感很好呀 我是K级选手 目前是8级 套几个buff 纯自学 为什么决定学围棋呢? 是…

谷粒商城配置中心错误记录

文章目录 一,com.alibaba.nacos.api.exception.NacosException: endpoint is blank1,分析定位2,关于配置文件application和bootstrap的区别与练习加载顺序使用说明 参考文献 一,com.alibaba.nacos.api.exception.NacosException: …

AI工具:软件开发者的革命性助手还是潜在威胁?

近年来,生成式人工智能(AIGC)在软件开发领域掀起了一场革命。从代码生成、错误检测到自动化测试,AI工具正在快速改变开发者的工作方式。这些工具不仅提高了开发效率,还引发了关于开发者职业前景和技能需求变化的广泛讨…

Navicat Premium 15 for Mac/Win 中文安装包下载

Navicat Premium 15 是一款数据库管理工具,它支持多种类型的数据库,包括 MySQL、MariaDB、MongoDB、SQL Server、Oracle、PostgreSQL 和 SQLite。该软件提供了一个用户友好的图形界面,使得数据库的管理变得更加简单和高效。Navicat Premium 1…

chrony与ntp两种时钟同步方式对比

chrony 是一个用于网络时间同步的守护进程,设计用来替代传统的 ntpd(Network Time Protocol Daemon)。虽然两者都基于 NTP(网络时间协议)来同步系统时钟,但 chrony 在某些方面提供了改进和增强的功能&#…

Python数据分析实战,铁路站点客流量预测,案例教程编程实例课程详解

引言 铁路站点客流量预测是铁路运输管理和优化中的关键任务。准确的客流量预测可以帮助铁路部门提前调配资源,合理安排运力,提高运输效率,减少运营成本,同时提升乘客的出行体验。本文将介绍如何使用Python进行铁路站点客流量的预测,包括数据收集、预处理、模型构建、评估与…

网页视频提取在线工具

在互联网的海洋中,我们时常会遇到一些令人心动的视频,想要将其下载到本地,以便随时观看。然而,网页视频下载对于很多人来说,似乎是个复杂的过程。别担心,今天我就为大家带来一份详尽的网页视频下载教程&…

24小时悬停系留照明无人机技术详解

24小时悬停系留照明无人机是一款专门设计用于提供长时间、高效能照明服务的无人机系统。该系统结合了无人机技术与先进的照明设备,通过系留技术实现无人机的稳定悬停,从而提供连续不断的照明服务。该无人机能够在各种环境条件下进行24小时不间断工作&…

Zkeys三方登录模块支持QQ、支付宝登录

1,覆盖到根目录,并导入update.sql数据库文件到Zkeys数据库里 2. 后台系统权限管理,配置管理员权限-系统类别-找到云外科技,全部打勾 3,后台系统设置找到云外快捷登录模块填写相应的插件授权配置和登录权限配置&#x…

docker 安装教程

机缘 最近在开发用用到了docker,主要是将开发的项目发版到平台上,运用到docker发版,所以才会写这篇文章。 教程 1、安装Hype-v。 在安装之前,首先要检查下电脑系统是否安装Hyper-v功能。 注意:一定要检查电脑系统,…

【React】如何自定义 Hooks

在React中,自定义Hooks允许你将组件逻辑提取到可重用的函数中。自定义Hooks本质上就是普通的JavaScript函数,但是它们必须遵循两个规则: 命名约定:自定义Hook的名称应该以use开头。这个约定有助于你和其他开发者更容易地识别出哪些函数是Hooks。在函数组件内部调用:只能在…

SRC实战:无中生有的接口和参数?

今天分享的这个漏洞怎么说呢,虽然也是个高危,但是其实挺简单的,一个很eazy的越权,但是我觉得多多少少还是有点意思吧。 0x00 这是一个移动端的应用程序,前面比较常规,模拟器 BP,跑了一下所有…

C++:cv::findContours()说明

cv::findContours 是 OpenCV 库中一个非常重要的函数,用于在二值图像中查找轮廓。该函数可以检测图像中对象的边界,并返回这些轮廓的坐标信息,这些轮廓信息通常用于对象检测、分割和形状分析等任务。以下是对 cv::findContours 函数的详细介绍…

多会话 Telnet 日志记录器

创建一个多会话 Telnet 日志记录器可以实现对多个 Telnet 会话进行连接、监控和记录日志。以下是一个基本的 Python 示例,使用 telnetlib 库来实现多会话 Telnet 日志记录器,并使用 threading 模块来处理多个会话。 1、问题背景 我们需要编写一个脚本&a…

Сетунь的24条单播指令

1、Setun模拟器概述 真的,想搞懂一台电脑是怎么运行的,那就搞懂它的指今集是怎么跑的,感觉很离了个大谱的,先看由铁氧体磁芯上的器件组成的RAM,容量为162个9-trit单元,即每个单元为9-trit,每页有…

【uni-app+Vue3】 API请求封装:让接口调用更便捷

前言:uni-app是一款基于Vue.js框架的跨平台开发工具,可以将代码编译成H5、小程序、App等不同平台的应用。在进行uni-app开发时,网络请求是必不可少的环节。为了方便开发,我们可以封装一些网络请求方法,以便在多个页面中…

About CAT7验证——CLASS F或者Fa测试FLUKE解决方案

七类CLASS F线缆认证测试标准在TIA的标准数据库中是直接跳过,取而代之的是八类的通道测试标准,真正认证七类测试的是在ISO标准数据库中,找到ISO11801 CHANNEL CLASS F或者FA,这就是标准的七类测试标准,测试频率需要达到…