当前位置: 首页 > news >正文

Google Cloud Database Option(数据库选项说明)

关系数据库 

在关系数据库中,信息存储在表、行和列中,这通常最适合结构化数据。因此,它们用于数据结构不经常更改的应用程序。与大多数关系数据库交互时使用 SQL(结构化查询语言)。它们为数据提供 ACID 一致性模式,这意味着:

  • 原子性:事务中的所有操作都成功,否则操作被回滚。
  • 一致:事务完成时,数据库结构是合理的。
  • 隔离:事务不会相互竞争。数据库会调节对数据的竞争访问,以便事务看起来是按顺序运行的。
  • 持久:即使出现故障,应用事务的结果是永久的。

由于这些特性,关系数据库可用于需要高精度的应用程序以及金融和零售交易等交易查询。例如:在银行业务中,当客户提出资金转账请求时,您希望确保交易可行并且确实发生在最新的账户余额上,在这种情况下,错误或重新提交请求可能是可以的。

Google Cloud 中有三种关系数据库选项:Cloud SQL、Cloud Spanner 和 Bare Metal Solution。

  • Cloud SQL:在 Google Cloud 上提供托管的 MySQL、PostgreSQL 和 SQL Server 数据库。它降低了维护成本,并实现了数据库配置、存储容量管理、备份以及开箱即用的高可用性和灾难恢复/故障转移的自动化。因此,它最适合通用 Web 框架、CRM、ERP、SaaS 和电子商务应用程序。
  • AlloyDB:它是一种完全托管的 PostgreSQL 兼容数据库服务,可满足您最苛刻的企业数据库工作负载需求。它将 Google 的最佳功能与最受欢迎的开源数据库引擎之一 PostgreSQL 相结合,以实现卓越的性能、规模和可用性。AlloyDB 在事务工作负载方面比标准 PostgreSQL 快 4 倍,在分析查询方面快 100 倍。它通过支持机器学习的自动驾驶系统简化了数据库管理。AlloyDB 提供透明且可预测的定价,无需昂贵的许可,也无需支付不透明的 I/O 费用。
  • Cloud Spanner:Cloud Spanner 是一种企业级、全球分布且高度一致的数据库,可提供高达 99.999% 的可用性,专为将关系数据库结构的优势与非关系水平扩展相结合而构建。它是一种独特的数据库,将 ACID 事务、SQL 查询和关系结构与通常与非关系或 NoSQL 数据库相关联的可扩展性相结合。因此,Spanner 最适合用于游戏、支付解决方案、全球金融分类账、零售银行和库存管理等需要无限扩展能力以及强一致性和高可用性的应用程序。 
  • 裸机解决方案:提供硬件以在 Google Cloud 上以低延迟运行专门的工作负载。如果您想要将 Oracle 数据库提升并转移到 Google Cloud,这将特别有用。这可以实现数据中心退役并为旧版应用程序的现代化铺平道路。 

非关系数据库

非关系数据库(或 NoSQL 数据库)以非表格形式(如文档)存储复杂的非结构化数据。当需要组织大量复杂多样的数据,或数据结构定期变化以满足新的业务需求时,通常会使用非关系数据库。与关系数据库不同,它们的执行速度更快,因为查询不必访问多个表即可提供答案,这使它们成为存储可能频繁更改的数据或处理多种不同类型数据的应用程序的理想选择。例如,一家服装店可能有一个数据库,其中衬衫有自己的文档,其中包含其所有信息,包括尺寸、品牌和颜色,并留有空间供以后添加更多参数,如袖子尺寸、衣领等。

使 NoSQL 数据库快速运行的特性:

  • 通常,它们针对特定的工作负载模式(即键值、图形、宽列)进行了优化
  • 水平扩展,通常使用范围或散列分布
  • 最终一致性:许多 NoSQL 存储通常会在稍后的某个时间点表现出一致性(例如,在读取时延迟)。然而,Firestore 独一无二地提供了强大的全局一致性。
  • 事务:大多数 NoSQL 存储不支持跨分片事务或灵活的隔离模式。然而,Firestore 独一无二地提供了跨分片的 ACID 事务和可序列化的隔离。

由于这些特性,非关系型数据库用于需要大规模、可靠性、可用性和频繁数据更改的应用程序。它们可以通过添加更多服务器轻松地进行水平扩展,而不像某些关系型数据库那样通过随着数据增长而增加机器大小来进行垂直扩展。不过,某些关系型数据库(如 Cloud Spanner)支持横向扩展和严格一致性。

非关系型数据库可以存储各种非结构化数据,例如文档、键值、图表、宽列等。以下是 Google Cloud 中的非关系型数据库选项: 

  • 文档数据库:将信息存储为文档(JSON 和 XML 等格式)。例如:Firestore
  • 键值存储:将相关数据分组到集合中,并使用唯一键标识记录,以便于检索。键值存储具有足够的结构来反映关系数据库的值,同时仍保留 NoSQL 的优势。例如:Bigtable、Memorystore
  • 内存数据库:专门构建的数据库,主要依靠内存来存储数据。这些数据库旨在通过消除访问磁盘的需要来实现最短的响应时间。它们非常适合需要微秒响应时间且流量可能大幅增加的应用程序。例如:Memorystore
  • 宽列数据库:使用表格格式,但允许在每行中对数据进行命名和格式化,即使在同一张表中也是如此。它们具有一些基本结构,同时保留了很大的灵活性。例如:Bigtable
  • 图形数据库:使用图形结构来定义存储数据点之间的关系;有助于识别非结构化和半结构化信息中的模式。例如:JanusGraph

Google Cloud 中有三种非关系数据库:

  • Firestore:是一种无服务器文档数据库,可按需扩展、高度一致、提供高达 99.999% 的可用性并充当后端即服务。它是针对构建应用程序而优化的 DBaaS。它非常适合所有通用用例,例如电子商务、游戏、物联网和实时仪表板。借助 Firestore,用户可以与实时和离线数据进行交互和协作,这使其非常适合实时应用程序和移动应用程序。  

  • Cloud Bigtable:Cloud Bigtable 是一种稀疏填充表,可扩展到数十亿行和数千列,使您能够存储 TB 甚至 PB 级数据。它是存储大量单键数据的理想选择,延迟极低。它支持亚毫秒级延迟的高读写吞吐量,是 MapReduce 操作的理想数据源。它还支持开源 HBase API 标准,可轻松与 Apache 生态系统(包括 HBase、Beam、Hadoop 和 Spark)以及 Google Cloud 生态系统集成。

  • Memorystore:Memorystore 是 Google Cloud 上针对 Redis 和 Memcached 的完全托管内存数据存储服务。它最适合内存和临时数据存储,可自动执行配置、复制、故障转移和修补等复杂任务,让您可以花更多时间进行编码。由于 Memorystore 具有极低的延迟和高性能,因此非常适合 Web 和移动、游戏、排行榜、社交、聊天和新闻提要应用程序。

结论

选择关系数据库或非关系数据库很大程度上取决于用例。广义上,如果您的数据结构不会发生太大变化,请选择关系数据库。在 Google Cloud 中,对于任何通用 SQL 数据库,可使用 Cloud SQL,对于大规模全局可扩展、强一致的用例,可使用 Cloud Spanner。一般来说,如果您的数据结构以后可能会发生变化,并且对规模和可用性的要求更高,那么非关系数据库是更好的选择。

 https://zhengkai.blog.csdn.net/

The following table provides a high-level comparison of the major features of each database service:

FeatureCloud SQLBigQueryCloud SpannerBigtableCloud DatastoreFirestore
Database TypeRelationalData WarehouseRelational & NoSQLNoSQLNoSQLNoSQL
Use CaseTraditional DB AppsAnalytics, OLAPGlobally-distributed, mission-critical appsTime-series DataWeb & Mobile AppsReal-time Apps
ScalingVertical, ManualHorizontal, AutoHorizontal, AutoHorizontal, AutoHorizontal, AutoHorizontal, Auto
Data Size LimitUp to 30TBPetabytesPetabytesPetabytesNot SpecifiedNot Specified
PerformanceLow-latencyHigh-performanceHigh-performanceLow-latencyMediumMedium
Data ModelStructuredColumnar, Semi-structuredStructured & Semi-structuredWide-columnSemi-structuredSemi-structured
Consistency ModelACIDEventually ConsistentStrongly ConsistentEventual ConsistencyEventual ConsistencyStrongly Consistent
Query LanguageSQLSQLSQLNoSQL APIGQL (Datastore Query Language)GQL (Firestore Query Language)
Indexing SupportYesYesAutomatic & ManualYesAutomaticAutomatic
Cost ModelProvisionedOn-DemandOn-DemandOn-DemandOn-DemandOn-Demand
Real-time AnalyticsLimitedYesLimitedNoLimitedYes
Geospatial SupportLimitedLimitedYesNoYesYes
Native IntegrationsSome GCP ServicesMany GCP ServicesMany GCP ServicesLimitedMany GCP ServicesMany GCP Services
Use of PartitioningYesYesYesYesYesYes
Secondary IndexesYesNoYesYesYesYes

相关文章:

Google Cloud Database Option(数据库选项说明)

关系数据库 在关系数据库中,信息存储在表、行和列中,这通常最适合结构化数据。因此,它们用于数据结构不经常更改的应用程序。与大多数关系数据库交互时使用 SQL(结构化查询语言)。它们为数据提供 ACID 一致性模式&am…...

java抽奖系统登录下(四)

6.4 关于登录 最简单的登录: 1、web登录页填写登录信息,前端发送登录信息到后端; 2、后端接受登录信息,并校验。校验成功,返回成功结果。 这种登录会出现一个问题,用户1成功登录之后,获取到后台…...

Linux入门攻坚——41、Linux集群系统入门-lvs(2)

lvs-dr:GATEWAY Director只负责请求报文,响应报文不经过Director,直接由RS返回给Client。 lvs-dr的报文路线如上图,基本思路就是报文不会回送Director,第①种情况是VIP、DIP、RIP位于同一个网段,这样&…...

Android Freezer

Freezer原理 Android按照优先级将一般的APP从高到低分为: 前台进程 --> 可感知进程–> 服务进程 --> Cached进程。 Freezer通过冻住cached进程,来迫使这些进程让出CPU,以达到优化系统资源使用的目的。 Cached进程是怎么判定的呢? 由于andro…...

GeeCache-单体并发缓存

实现LRU中value接口的缓存类 使用互斥锁封装LRU缓存类,实现并发访问 实现Group组,用名称对缓存分类 Getter为缓存击穿时调用的回调函数 若缓存击穿则调用回调函数,并把读取到的值加载到缓存中...

ctfshow-web 151-170-文件上传

151. 我们首先想到就是上传一句话木马。但是看源代码限制了png。 (1)改前端代码。 这里是前端限制了上传文件类型,那我们就改一下就好了嘛,改成php。 这里直接修改不行,给大家推荐一篇简短文章,大家就会了&#xff08…...

汽车车牌标记支持YOLO,COCO,VOC三种格式标记,4000张图片的数据集

本数据集支持YOLO,COCO,VOC三种格式标记汽车车牌,无论是新能源汽车还是油车都能识别标记,该数据集一共包含4000张图片 数据集分割 4000总图像数 训练组 70% 2800图片 有效集 20% 800图片 测…...

解决VSCode无法识别相对路径的问题

前言: 近日在学习python文件操作时,发现使用VSCode作为编辑器时,文件的相对路径会出问题,报错“指定路径下找不到文件”,无法找到想要的文件。 知识点①:不同操作系统所使用的路径斜杠不同:Lin…...

OCR 技术在验证码识别中的应用

OCR 技术在验证码识别中的应用 一、验证码识别的背景与挑战二、OCR 技术简介三、验证码识别的环境搭建四、使用 OCR 进行验证码识别的方法五、DdddOcr 子项在验证码识别中的应用六、验证码识别的应用场景与注意事项七、总结 在当今数字化时代,验证码作为一种安全验证…...

恶补英语初级第21天,《讨论天气变化》

对话 What’s the weather like in spring? It’s often windy in March. It’s always warm in April and May, but it rains sometimes. What’s it like in summer? It’s always hot in June, July and August. The sun shines every day. Is it cold or warm in autumn?…...

牛客网刷题SQL--高级查询

目录 SQL16--查找GPA最高值 描述 示例1 答案 其他方法: SQL17--计算男生人数以及平均GPA 描述 示例1 答案 SQL18--分组计算练习题 描述 示例1 答案 SQL19--分组过滤练习题 描述 示例1 答案 SQL20--分组排序练习题 描述 示例1 答案 SQL16--查找GP…...

用ffmpeg将MP4视频转换为m3u8格式

原文网址:用ffmpeg将MP4视频转换为m3u8格式_IT利刃出鞘的博客-CSDN博客 简介 说明 本文介绍如何使用ffmpeg将MP4视频转换为m3u8格式。 什么是m3u8 M3U8视频格式是一种M3U,只是它的编码格式是UTF-8格式。M3U用Latin-1字符集编码。M3U8格式特点是带有…...

【Qt】qt基础

目录 一、使用Qt Creator创建qt项目 二、项目文件解析 三、Qt中创建图形化界面的程序的两种方法 四、对象树 一、使用Qt Creator创建qt项目 1.选择项目模板 选中第一类模板Application(Qt应用程序,包含普通窗体程序和QtQuick程序), 然后选中右侧的第…...

VLC还是SmartPlayer?Windows平台RTSP播放器低延迟探讨

技术背景 好多开发者在用过大牛直播SDK的RTSP播放器后,都希望我们也分享下,如何在Windows平台实现低延迟的RTSP播放?低延迟的RTSP播放器,说起来容易做起来难,下面,我们从以下维度做个探讨: 播…...

极验决策引擎如何凭借独特优势,弯道超车传统风控?

前言 市场上的规则决策引擎产品众多,但大多局限于IP、设备、账号等层面,提供的是现成的风控标签和规则。然而,真正的风控,需要的不仅仅是标签和规则。 极验的业务规则决策引擎与众不同,这款决策引擎以界面流程编排为…...

Spring Boot集成Knife4j文档工具

Knife4j 搭建 Knife4j环境的的搭建和Swagger一样都比较简单,只需要极简的配置即可。 maven依赖 我使用的是较高版本的基于openapi规范的依赖包,OpenAPI2(Swagger)规范是Knife4j之前一直提供支持的版本,底层依赖框架为Springfox。 此次在4…...

html|本地实现浏览器m3u8播放器,告别网络视频卡顿

前言 网络上经常是以m3u8文件传输视频流的 ,但是有时网络慢往往导致视频播放卡顿。于是我在想能不能先下载然后再播放呢?于是尝试下载然后实现本地播放m3u8视频。 正文 1.找到网络视频流的m3u8连接 一般在浏览器按F12就可以看到有请求视频流的连接。 …...

vue3监听横向滚动条的位置;鼠标滚轮滑动控制滚动条滚动;监听滚动条到顶端

1.横向取值scrollLeft 竖向取值scrollTop 2.可以监听到最左最右侧 3.鼠标滚轮滑动控制滚动条滚动 效果 <template><div><div class"scrollable" ref"scrollableRef"><!-- 内容 --><div style"width: 2000px; height: 100…...

JSON

文章目录 一、概念1.json官网2.json的概念3.序列化方案&#xff1a;xml、json 二、json的数据类型1.json的键&#xff1a;必须是带双引号的字符串2.json的值&#xff1a;6种数据类型(1)对象 { }(2)数组 [ ] 三、Python中的json1.序列化&#xff1a;Python对象 转 json2.反序列化…...

前端常用的方法

时间处理 moment时间处理函数 // 时间日期相关常用的方法变量 import moment from moment;// 获取当前时间 moment export const nowDateMoment moment(new Date()); export const nowDateY moment(new Date()).format(YYYY); export const nowDateM moment(new Date()).f…...

JavaScript 对话框的魔法与艺术

在Web开发的世界里&#xff0c;JavaScript 对话框是用户与网页互动的重要桥梁。它们不仅能够提供即时反馈&#xff0c;还能收集用户的输入信息&#xff0c;从而增强用户体验。本文将深入探讨JavaScript对话框的各种类型、用法及其背后的原理&#xff0c;并通过丰富的实例展示如…...

java+springboot+mysql私人会所管理系统

项目介绍&#xff1a; 使用javaspringbootmysql开发的私人会所管理系统&#xff0c;系统包含管理员、技师、用户角色&#xff0c;功能如下&#xff1a; 管理员&#xff1a;用户管理&#xff1b;服务项目&#xff1b;技师管理&#xff1b;房间管理&#xff1b;预约管理&#x…...

Scrapy 爬虫框架全解析

一、Scrapy 框架概述 基本定义 Scrapy 是一个用 Python 编写的开源网络爬虫框架。它旨在快速、高效地抓取网页数据&#xff0c;可处理大规模的数据抓取任务。基于 Twisted 异步网络库构建&#xff0c;能够并发地处理多个请求&#xff0c;大大提高了数据抓取的速度。遵循 “请求…...

Hive3.X——异常处理Could not create ServerSocket on address 0.0.0.0/0.0.0.0:10000

Hive3.X——异常处理Could not create ServerSocket on address 0.0.0.0/0.0.0.0:10000 01 前言 大数据系列&#xff0c;学到了Hive&#xff0c;搭建环境的时候&#xff0c;因为使用的是本机WSL2&#xff08;别问为啥不用VMware&#xff0c;问就是条件有限&#xff0c;而且WS…...

【跨库查询、多库查询】.NET开源 ORM 框架 SqlSugar 系列

文章目录 一、跨库方式1&#xff1a;跨库导航二、手动跨库查询三、同服务器&#xff1a;自动查询跨库查询3.1 Mysql和SqlServer自动3.2 自动: PgSql跨Scheme查询3.3 其他库同服务器 四、跨服务器&#xff1a;自动跨库查询4.1 配置SqlServer dblink4.2 配置 Oracle dblink4.3 配…...

【JAVA】Java项目实战—Java 数据库应用项目:学生信息管理系统

本项目将实现一个简单的学生信息管理系统&#xff0c;功能包括学生信息的录入、查询、修改和删除。通过本项目&#xff0c;读者将深入理解Java与数据库交互的基本原理&#xff0c;掌握JDBC&#xff08;Java Database Connectivity&#xff09;技术&#xff0c;以及如何构建一个…...

中电金信携手中远海科,共启贸易金融数智新篇章

在数智化转型成为驱动经济社会高质量发展的新引擎背景下&#xff0c;“数智方案”栏目聚焦金融等国计民生重点行业场景&#xff0c;依托中电金信“源启筑基咨询引领应用重构”的产品及服务体系&#xff0c;输出市场洞察和行业解决方案、应用案例&#xff0c;旨在全面推动行业IT…...

有没有办法让爬虫更加高效,比如多线程处理?

要让Python爬虫更加高效&#xff0c;确实可以采用多线程处理。多线程可以显著提高爬虫的效率&#xff0c;因为它允许程序同时执行多个任务&#xff0c;从而减少等待时间。以下是一些提高爬虫效率的方法&#xff0c;特别是通过多线程技术&#xff1a; 1. 多线程爬虫 多线程爬虫…...

Android历史版本主要更新说明

Android 15 Android 15 继续致力于构建注重隐私和安全保护的平台&#xff0c;助您提高效率&#xff0c;同时还引入了多项新功能&#xff0c;帮您打造精美应用、卓越的媒体和相机体验&#xff0c;并提供直观的用户体验。在平板电脑和可折叠设备上更能凸显出这些优势。 Android…...

测试岗位应该学什么

以下是测试岗位需要学习的一些关键内容&#xff1a; 1. 测试理论和方法 - 了解不同类型的测试&#xff0c;如功能测试、性能测试、压力测试、安全测试、兼容性测试等。 - 掌握测试策略和测试计划的制定。 2. 编程语言 - 至少熟悉一种编程语言&#xff0c;如 Python、Java…...

华为HarmonyOS NEXT 原生应用开发: 数据持久化存储(用户首选项)的使用 token令牌存储鉴权!

Preferences 数据持久化存储 用户首选项&#xff08;Preferences&#xff09; 1. 封装 仓库工具类 ● 这里可以选择将 数据字段 key 抽取为一个静态方法&#xff0c;这里选择让用户传参&#xff0c;看起来较容易理解&#xff01; /*** 首选项 preferences - 实现数据持久化…...

【AIStarter】告别复杂转换 - MinerU整合包实现PDF到Markdown的无缝转变

在数字化时代&#xff0c;信息的传递与共享变得愈发重要。文档格式之间的转换成为了日常工作中不可或缺的一部分。为了满足用户对高效工作流程的需求&#xff0c;新版MinerU整合包应运而生&#xff0c;它不仅简化了从PDF到Markdown的转换过程&#xff0c;还为用户带来了前所未有…...

Jenkins参数化构建详解(This project is parameterized)

本文详细介绍了Jenkins中不同类型的参数化构建方法&#xff0c;包括字符串、选项、多行文本、布尔值和git分支参数的配置&#xff0c;以及如何使用ActiveChoiceParameter实现动态获取参数选项。通过示例展示了传统方法和声明式pipeline的语法 文章目录 1. Jenkins的参数化构建1…...

服务器批量清理redis keys,无法适用客户端必须直连的情况

在 Redis 中&#xff0c;批量清理指定模式的键&#xff08;例如 memberCardData:*&#xff09;可以通过多种方法来实现。需要注意的是&#xff0c;Redis 的命令执行是单线程的&#xff0c;因此对大量键进行操作时可能会阻塞服务器。以下是几种常见的方法&#xff1a; shell K…...

单元测试SpringBoot

添加测试专用属性 加载测试专用bean Web环境模拟测试 数据层测试回滚 测试用例数据设定...

牛客网刷题 | BC126 小乐乐查找数字

&#x1f601;博客主页&#x1f601;&#xff1a;&#x1f680;从0至1-CSDN博客&#x1f680; &#x1f911;博客内容&#x1f911;&#xff1a;&#x1f36d;C语言、C、数据结构、嵌入式、Linux&#x1f36d; &#x1f60e;本文内容&#x1f923;&#xff1a;&#x1f36d;BC1…...

Node一、fs 模块、path 模块、端口号、 http 模块、

一、Node.js了解 Node.js是一个跨平台JavaScript运行环境&#xff0c;使开发者可以搭建服务器端的JavaScript应用程序。 概念&#xff1a;使用 Node.js 编写后端程序 / 支持前端工程化 ✓ 后端程序&#xff1a;提供接口和数据&#xff0c;网页资源等 ✓ 前端工程化 &#x…...

k8s service 配置AWS nlb load_balancing.cross_zone.enabled

在Kubernetes中配置NLB&#xff08;Network Load Balancer&#xff09;的跨区域负载均衡&#xff08;cross-zone load balancing&#xff09;&#xff0c;需要使用服务注解&#xff08;service annotations&#xff09;来实现。根据AWS官方文档&#xff0c;以下是配置NLB跨区域…...

[分布式即时通讯系统] 注册类完善

我们在qss里添加err_tip样式&#xff0c;根据不同的状态做字体显示 #err_tip[statenormal]{color: green; } #err_tip[stateerr]{color: red; } 接下来项目中添加global.h和global.cpp文件&#xff0c;global.h声明repolish函数&#xff0c;global.cpp用来定义这个函数。 .h…...

C#使用HttpWebRequest下载文件

public static bool HttpDownloadFile(string downloadUrl, string localPath, log4net.ILog log) { bool bFlagDownloadFile false; //log.Debug(“HttpDownloadFile–准备以HTTP的方式下载文件&#xff0c;url:[” downloadUrl “]本地文件&#xff1a;【” localPath “…...

CentOS7环境安装php

直接安装 yum -y install php CentOS7默认安装是php5&#xff0c;现在php已有8.3版本 先查看php -v 版本 如果是低版本&#xff0c;可以删除 yum remove php yum remove php-fpm yum remove php-common 一、添加REMI存储库 yum install epel-release yum install -y …...

【Excel学习记录】04-排序和筛选

1.排序 &#xff08;1&#xff09;简单排序 不建议选中某列后进行排序 可以选中一个单元格或者整个表格→开始→编辑→排序和筛选→升序/降序 &#xff08;2&#xff09;多条件排序 可以选中一个单元格或者整个表格→开始→编辑→排序和筛选→自定义排序→指定关键字、比较内…...

Python轻松获取抖音视频播放量

现在在gpt的加持下写一些简单的代码还是很容易的&#xff0c;效率高&#xff0c;但是要有一点基础&#xff0c;不然有时候发现不了问题&#xff0c;这些都需要经验积累和实战&#xff0c;最好能和工作结合起来&#xff0c;不然很快一段时间就忘的干干净净了&#xff0c;下面就是…...

恢复删除的文件:6个免费Windows电脑数据恢复软件

数据恢复软件可帮助您从众多存储设备中恢复损坏或删除的数据。您可以使用这些文件恢复软件来检索文件、文档、视频、图片等。这些应用程序支持多种标准文件格式&#xff0c;如 PNG、RTF、PDF、HTML、JPG、MP3 等。 经过超过 75 小时的研究&#xff0c;我分析了 25 最佳免费数据…...

Go的Gin比java的Springboot更加的开箱即用?

前言 隔壁组的云计算零零后女同事&#xff0c;后文简称 云女士 &#xff0c;非说 Go 的 Gin 框架比 Springboot 更加的开箱即用&#xff0c;我心想在 Java 里面 Springboot 已经打遍天下无敌手&#xff0c;这份底蕴岂是 Gin 能比。 但是云女士突出一个执拗&#xff0c;非我要…...

Java 中枚举的 toString 方法及其字段信息展示

在 Java 编程中&#xff0c;枚举&#xff08;enum&#xff09;是一种特殊的数据类型&#xff0c;用于定义一组固定的常量。枚举类型不仅限于简单的常量定义&#xff0c;还可以包含字段、方法以及构造函数&#xff0c;从而使其具备更强的表达能力。toString 方法是 Java 中所有对…...

Python数据分析(OpenCV视频处理)

处理视频我们引入的还是numpy 和 OpenCV 的包 引入方式如下&#xff1a; import numpy as np import cv2 我们使用OpenCV来加载本地视频&#xff0c;参数就是你视频的路径就可以 #加载视频 cap cv2.VideoCapture(./1.mp4) 下面我们进行读取视频 #读取视频 flag,frame cap.re…...

DocFlow票据AI自动化处理工具:出色的文档解析+抽取能力,提升企业文档数字化管理效能

目录 财务应付 金融信贷业务 近期&#xff0c;DocFlow票据自动化产品正式上线。DocFlow是一款票据AI自动化处理工具&#xff0c;支持不同版式单据智能分类扩展&#xff0c;可选功能插件配置流程&#xff0c;满足多样业务场景。 随着全球化与信息化进程&#xff0c;企业的文件…...

python编程Day15-UnitTest框架的介绍

框架 framework为了解决一类事情的功能集合 Unittest 框架 是 Python 自带的单元测试框架 自带的, 可以直接使用, 不需要单外安装 测试人员 用来做自动化测试, 作为自动化测试的执行框架, 即 管理和执行用例的 使用原因 能够组织多个用例去执行提供丰富的断言方法能够生成测试报…...

Linux——进程控制模拟shell

1.进程创建 我们在之前的文章中介绍过进程创建的方法&#xff0c;可以通过系统调用接口fork来创建新的进程。 fork在创建完新的子进程之后&#xff0c;返回值是一个pid&#xff0c;对于父进程返回子进程的pid&#xff0c;对于子进程返回0。fork函数后父子进程共享代码&#xff…...