GCP学习笔记(三)——存储和安全

news2024/12/23 9:53:19

文章目录

  • 一、Cloud Storage
  • 二、Cloud Bigtable
  • 三、Cloud SQL
  • 四、Cloud Spanner
  • 五、Firestore
  • 六、Cloud Datastore
  • 七、安全
    • 1. Data Loss Prevention
    • 2. Stackdriver
    • 3. IAM
  • 八、网络概述

在GCP中,我们需要序列化数据使数据能够进行存储和转换。Avro时一种数据序列化方法,可以将数据转换为二进制。

非结构化数据通常存储在Cloud Storage中,结构化数据的存储方式可以由下图决定。

在这里插入图片描述

Transactional workload:需要快速插入或更新。80%写入,20%读
Analytics workload:偏向于读取整个数据集,用于决策或计划。20%写入,80%读

下面是一些存储方法的对比

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

数据仓库和数据湖的区别:

  • 数据湖是指原始未经组织的数据
  • 数据仓库是指结构化的、组织化的数据

一、Cloud Storage

Cloud Storage是用来存储非结构化数据的可管理服务。在创建项目后,可以创建buckets并向bucket上传数据或者从bucket下载数据。

Cloud Storage有四种存储类型,分别是

  • 标准存储(standard storage):用来存放经常存取的数据
  • Nearline Storage:存储不经常访问的数据,例如每个月存取一次、数据备份
  • Coldline Storage:存储不经常访问的数据,例如每三个月存取一次
  • Archive Storage:存储不经常访问的数据,例如每年存取一次、灾难恢复

Cloud Storage的特点:Persistance、Durable、Consistency、Avaliablity、High throughput。

Cloud Storage的核心是桶(bucket)和对象:

  • 桶是对象容器,桶具有全局命名空间,意味着不允许使用同名的桶。选择最接近的区域存放会减少延迟。Cloud Storage会存储桶的复制品防止数据丢失。
  • 对象存在于桶中。使用元数据来记录信息。

Cloud Storage的权限管理方法:

  • IAM :bucket level,对桶内所有对象提供相同的权限访问规则
  • ACL (access control list):bucket level或者object level
  • CMEK:使用KMS生成并管理密钥
  • CSEK:用户自己定义和管理密钥

二、Cloud Bigtable

Bigtable是一种高度可扩展的 NoSQL 数据库服务。Bigtable 是一种分布式数据库,适用于存储和处理大量结构化数据,例如时间序列数据、用户分析和财务数据。常见用例包括Gmail和Google maps.

Bigtable的整体架构如下图所示
在这里插入图片描述
客户端请求都是先经过前端服务器,然后再发送到 Bigtable 节点。集群中的每个节点会处理对该集群的一部分请求。通过向集群添加节点,不但可以增加集群能够同时处理的并发请求数量,而且还会提高集群的吞吐量上限。Bigtable 表被分成多个连续的片,这些片以 SSTable 格式存储在 Google 的文件系统 Colossus 上。

数据永远不会存储到 Bigtable 节点本身,存储到节点上的是数据的元数据,方便进行备份和故障恢复。

Bigtable的权限管理方法:

  • IAM :实例级别权限管理
  • 用户管理加密密钥(CMEK):在Cloud KMS中控制和管理的密钥来保护您的 Bigtable 实例。
  • 防火墙规则:限制对Bigtable实例的访问

Bigtable通过构建Row key(索引)来扫描、查找、排序数据。构建Row Key的方法可以是选择某一列,也可以是将多个列拼接起来。

Bigtable特点:

  • 可扩展性:Bigtable 可横向扩展以处理海量数据和高吞吐量工作负载。
  • 低延迟:为读写操作提供个位数毫秒延迟,适合实时应用。
  • 高可用性:Bigtable 自动跨多个数据中心复制数据,以实现容错和持久性。

Bigtable工具:

  • cbt:CBT是专门为Cloud Bigtable设计的命令行工具,为常见操作提供简化的界面
  • Hbase Shell:HBase shell 提供了更强大、更灵活的脚本环境,可以通过其兼容层与 Cloud Bigtable 一起使用。

Bigtable性能优化:

  • 通过CPU利用率优化节点数目
  • 将具有相似模式的数据集存储在同一个表中
  • 将相关的列放在同一个列族中。
  • 使用序列化结构存储列值
  • 使用HDD代替SSD
  • 设计合适的schema将读写操作均匀分布到个节点
  • 批处理和缓存请求以最小化往返并减少延迟。
  • 时序数据使用高/窄的表
  • Key Visualizer 会为表生成可视化报告,根据访问的行键详细说明使用情况并解决性能问题。

hotspotting问题:

  • field promotion(prefer):从列数据移到row key上
  • salting:row key额外添加一个元素

Bigtable的常见使用场景:

  • 大量(>1TB)结构化或半结构化数据
  • 高吞吐量或者变化迅速的例子,例如欺诈检测或推荐系统。
  • 时间序列数据分析,例如 IoT 传感器数据或日志数据。
  • 需要进行异步批处理或实时数据处理和分析的金融服务应用程序。
  • 以分布式方式处理大规模数据摄取和处理的应用程序。

三、Cloud SQL

Cloud SQL是一种关系型数据湖,支持MySQL, SQL Server和 PostgreSQL。 Cloud SQL实例对应一个虚拟机实例,该虚拟机包含数据库实例和软件容器来保证数据库运行。App Engine 创建使用 Cloud SQL 数据库的应用程序。

Cloud SQL权限管理:通过IAM来控制权限,通过VPC来访问私有IP

Cloud SQL性能优化:

  • 根据负载选择恰当的机器类型和存储大小
  • 启用自动存储增加
  • 通过只读副本处理查询、读取请求和分析流量,从而减少主实例的负载。

Cloud SQL的特点:

  • 高可用性:自动故障和转移
  • 高扩展性:垂直扩展您的实例以处理增加的工作负载,并通过添加只读副本来水平扩展以提高读取性能。
  • 安全性:它提供内置的安全功能,例如静态加密、传输中加密以及与 IAM 集成以实现访问控制。
  • 兼容性:Cloud SQL 支持 MySQL、 PostgreSQL 和 SQL Server 等流行的关系数据库引擎,可以轻松迁移现有应用程序。

Cloud SQL的常见使用场景:

  • 本地数据库例如MySQL 和PostgreSQL迁移到云端
  • 自动复制托管备份
  • 需要托管和可扩展的关系数据库后端的 Web 应用程序。

Cloud SQL监控指标:存储利用率、CPU利用率、读写操作等

四、Cloud Spanner

Cloud Spanner 是可水平扩展、全球分布且高度一致的关系数据库服务。 Cloud Spanner 旨在处理跨多个区域的大容量事务性工作负载。

Spanner 的结构
在这里插入图片描述
Cloud Spanner的权限控制:

  • IAM:项目、实例级别权限
  • 细粒度访问控制(fine-grained access control):结合了IAM的优势与传统的基于 SQL 角色的访问控制。 通过细粒度的访问控制,可以控制访问表、列和视图。
  • 用户加密密钥(CMEK):在云密钥管理服务 (KMS) 中控制和管理的密钥来保护 Spanner 数据库。

Cloud Spanner的性能优化

  • 利用 Cloud Spanner 的自动扩展功能来处理不同的工作负载。
  • 使用分布式事务和分区数据来实现高可扩展性和吞吐量。
  • 利用读写优化,例如使用索引选择和批处理写入。
  • 二级索引:添加二级索引可以更有效地查找该列中的数据,还可以帮助 Spanner 更高效地执行扫描,实现索引扫描而不是全表扫描。

Cloud Spanner的特点:

  • 全球可扩展性和一致性:Cloud Spanner 将数据分布在多个区域,在全球范围内提供低延迟访问和强一致性保证。
  • 关系模型:它支持 SQL 查询和模式,可以很容易地与现有的应用程序和工具集成。
  • 自动扩展:Cloud Spanner 可以根据工作负载需求动态调整其资源,无需人工干预即可实现无缝扩展。
  • 自动备份和复制:提供连续备份和复制,确保数据持久性和灾难恢复。
  • 强大的安全性:Cloud Spanner 与 IAM 集成以实现访问控制,并提供静态和传输中的加密。
  • interleaved tables:交错表是一种用于组织和关联数据的特殊表设计模式。在交错表模式下,父表和子表之间可以形成嵌套关系,子表的行可以"交错"存储在父表的行内。交错表可以减少查询开销,紧密关联数据,分布式事务支持。

Cloud Spanner的使用场景:

  • 具有低延迟要求和跨多个区域强一致性需求的全球应用程序。
  • 需要高可扩展性和性能的大规模事务性工作负载。
  • 数据隔离和安全性至关重要的应用程序。

五、Firestore

Firestore是灵活、可扩展且无服务器的 NoSQL 文档数据库。 它旨在实时跨多个客户端和平台存储和同步数据。 Firestore 提供灵活的数据模型、自动扩展和内置离线功能,使其非常适合构建响应迅速且可扩展的应用程序。

Firestore的权限控制:

  • IAM:实例级别权限控制
  • Firebase Authentication:对用户进行身份验证和授权。

Firestore的特点:

  • 实时数据同步:Firestore 提供跨客户端和平台的无缝实时更新,支持协作和响应式应用程序。
  • 可扩展性和自动扩展:它可以自动扩展以处理高读写负载,无需人工干预。
  • 离线支持:Firestore 提供内置的离线功能,即使在与网络断开连接的情况下,应用程序也能继续运行。
  • 与 Firebase 生态系统集成:Firestore 与身份验证、云功能和云存储等其他 Firebase 服务很好地集成,提供了一个全面的开发平台。

Firestore的性能优化:

  • 根据访问模式和查询设计数据结构和文档层次结构。
  • 对经常查询的属性使用索引属性以提高查询性能。
  • 利用子集合来组织相关数据并避免大型文档。
  • 使用批量写入在单个原子事务中执行多个操作。
  • 实施高效的数据获取策略,例如使用文档引用或分页。

Firestore的使用场景:

  • 离线优先的应用程序需要在连接恢复时离线运行并同步数据。
  • 需要跨多个设备进行实时数据同步的移动和 Web 应用程序。
  • 涉及多个用户同时更新共享数据的协作应用程序。
  • 具有复杂数据模型和层次关系的应用程序。

六、Cloud Datastore

Cloud Datastore是NoSQL文档数据库,它是一种高度可扩展且完全托管的数据库服务,允许以schema-less方式存储和查询结构化数据。 Datastore 提供 ACID 事务、自动可伸缩性和内置复制以实现高可用性。。每个project里只能有一个Datastore。

Datastore的一些使用场景:产品目录、移动APP用户信息、游戏保存状态、ACID。

Datastore和关系型数据库对比:
在这里插入图片描述
Cloud Datastore的权限控制:

  • IAM:实例级别权限控制
  • 细粒度控制:使用命名空间来隔离不同的组

Cloud Datastore的特点:

  • 可扩展性:Datastore 可自动扩展以处理大量数据和高吞吐量工作负载。
  • ACID 事务:它支持具有强一致性保证的多实体组事务。
  • 自动复制:Datastore 跨多个数据中心自动复制数据以实现高可用性和持久性。
  • 强大的查询功能:Datastore 提供强大的查询语言,支持筛选、排序和投影。

Cloud Datastore的性能优化:

  • 根据访问模式仔细设计实体层次结构和实体属性
  • 对经常查询的属性使用索引属性以提高查询性能。
  • 利用批处理操作减少往返次数并提高写入性能。
  • 利用查询游标有效地对大型结果集进行分页。
  • 考虑跨多个 Datastore 命名空间对数据进行分片以分配负载。

Cloud Datastore的使用场景:

  • 需要可扩展且灵活的数据存储解决方案的 Web 和移动应用程序。
  • 实时分析和事件跟踪,其中快速写入和低延迟查询很重要。
  • 需要高可用性和自动复制以确保数据持久性的应用程序。

Cloud Datastore的报错分析:

  • UNAVALIABLE, DEADLINE_EXCEEDED:指数级别重连
  • INTERNAL:尝试不超过一次
  • 其他:不要尝试重连

七、安全

1. Data Loss Prevention

2. Stackdriver

Stackdriver用来存储、监控、分析和告警日志数据。

Stackdriver的子产品和其用途包括:

  • Stackdriver Debugger:实时检测应用状态而无需停止应用
  • Stackdriver Error reporting:收集和分析应用的报错
  • Stackdriver Audit Logging:分析日志数据、查看数据权限
  • Stackdriver Monitoring:实时监控资源的性能和健康状态
  • Stackdriver Trace:分析应用的延迟和性能

3. IAM

IAM包含三种成员类型:

  • service account:非人类用户,例如应用
  • google account:对于单个用户
  • google group:对于多个用户

八、网络概述

Google Cloud Platform (GCP) 提供强大且可扩展的网络基础设施来支持各种云服务和应用程序。 GCP 网络旨在提供高性能、安全性和可靠性。 以下是 GCP 网络的关键组件和功能的概述:

  • 虚拟私有云 (VPC):VPC 是 GCP 内逻辑隔离的全球网络,允许您创建和管理虚拟机实例、容器和其他资源。 每个VPC都与一个IP地址范围相关联,并且可以进一步划分为子网。
  • 子网:子网是 VPC 的细分,使您能够隔离网络资源。 您可以指定子网的 IP 地址范围并使用防火墙规则控制子网之间的流量。
  • 防火墙规则:GCP 提供网络级防火墙规则,允许您控制进出资源的入站和出站流量。 防火墙规则可以在 VPC 级别或子网级别定义,并且可以基于 IP 地址、协议和端口。
  • 负载均衡:GCP 提供多种负载均衡选项来跨资源分配流量。 其中包括 HTTP(S) 负载平衡、SSL 代理负载平衡、TCP 代理负载平衡和网络负载平衡。 负载均衡器自动扩展和分配流量,以确保高可用性和性能。
  • Cloud Router:Cloud Router 是一项完全托管的服务,可在您的 VPC 网络内以及 VPC 网络与本地网络之间提供动态路由。 它同时支持 BGP(边界网关协议)和静态路由。
  • Cloud VPN:Cloud VPN 使您能够在 VPC 网络与本地或其他外部网络之间建立加密的 IPsec 隧道。 它为远程办公室、数据中心和其他网络资源提供安全连接,更适用于低速传输。
  • 云互连(Cloud Interconnect):云互连在本地网络和 GCP 之间提供专用且低延迟的连接。 与 VPN 相比,它提供更高的带宽和更可靠的连接。 云互连支持专用互连和合作伙伴互连等选项。
    • 合作伙伴互连(Partner Interconnect):合作伙伴互连允许您使用受支持的服务提供商连接到 GCP。 它使您能够通过合作伙伴的网络在本地网络和 GCP 网络边缘之间建立直接物理连接。 与 VPN 连接相比,此连接提供更高的带宽和更低的延迟。
    • 专用互连(Dedicated Interconnect):专用互连允许您在本地网络和 GCP 网络边缘之间建立直接物理连接。 通过专用互连,您可以拥有专用于您的组织的私人连接。 此选项适合大规模工作负载或当您需要对网络连接进行更多控制时。
  • Cloud DNS:Cloud DNS 是 GCP 提供的可扩展且可靠的域名系统 (DNS) 服务。 它允许您管理域名并将其解析为相应的 IP 地址。
  • 全局负载均衡:GCP 的全局负载均衡 (GLB) 跨多个区域分配传入流量,以确保高可用性并最大限度地减少延迟。 它会自动将用户定向到最近且资源状况良好的可用区域。
  • Cloud CDN:Cloud CDN(内容分发网络)是一种分布式边缘缓存服务,可以缓存内容并将内容分发到更接近最终用户的位置。 它通过减少延迟和卸载源服务器的流量来帮助提高性能。

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

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

相关文章

清华唐杰新作WebGLM,参数100亿可联网

WebGLM是一个基于大语言模型(LLM)的联网问答聊天机器人,它的作者是清华大学计算机系唐杰教授团队,它的论文入选了KDD2023会议。 WebGLM的特点是它可以利用Web搜索和检索功能来增强LLM的能力和泛化性,从而实现一个高效、…

智驾产品价值逻辑变了,新一代智驾芯片的核心要求

“根据创新扩散理论,智能汽车的早期用户主要是‘发烧友’,但是真正起量需要依靠‘大众群体’。要想抓住智能驾驶普及的黄金增长机遇,必须捕捉到两个群体的差异化需求,理解行业规则的变化。在当下,智驾产品必须重视功能…

MySQL架构介绍

MySQL架构介绍 和其它数据库相比,MySQL有点与众不同,它的架构可以在多种不同场景中应用并发挥良好作用。主要体现在存储引擎的架构上,插件式的存储引擎架构将查询处理和其它的系统任务以及数据的存储提取相分离。这种架构可以根据业务的需求和…

【软考网络管理员】2023年软考网管初级常见知识考点(15)-网络管理与存储

涉及知识点 网络管理功能,网络管理模型,SNMP协议原理与版本,数据备份,DAS/NAS/SAN技术 软考网络管理员常考知识点,软考网络管理员网络安全,网络管理员考点汇总。 文章目录 涉及知识点一、网络管理功能二、…

容器访问外部网络之Linux ip_forward 数据包转发

文章目录 1 问题解决1.1 问题:1.2 原因:1.3 解决:临时打开:永久打开: 2 net.ipv4.ip_forward内核参数通俗解释3 在Linux中验证并实践net.ipv4.ip_forward设置 IP 地址设置路由信息打开 IP Forward 功能关闭主机 R 的防…

【LeetCode】动态规划 刷题训练(四)

文章目录 面试题 17.16. 按摩师(打家劫舍|)题目解析状态转移方程完整代码 213. 打家劫舍 II题目解析状态转移方程完整代码 740. 删除并获得点数题目解析预处理状态转移方程完整代码 面试题 17.16. 按摩师(打家劫舍|) 点击查看:按摩师 一个有名的按摩师会收到源源不…

【vue小知识】给DOM元素动态的添加上一个类||v-bind的妙用

😉博主:初映CY的前说(前端领域) ,📒本文核心:vue文件怎么给DOM元素加上一个类 项目场景: 在前端页面逻辑操作中通常是存在click事件,添加点击效果是为了让页面操作起来更加的有操作性与互动性,那么有什么方式可以实现…

13个有趣的Python高级脚本!

关注“Python专栏”微信公众号,回复暗号【面试大全】,立即领取面试题简历模板。 每天我们都会面临许多需要高级编码的编程挑战。你不能用简单的 Python 基本语法来解决这些问题。在本文中,我将分享 13 个高级 Python 脚本,它们可以…

IP路由选择过程

1.1路由选择基础 路由选择是指将分组从一个设备通过互联网络发往位于不同网络上的另一个设备的操作。路由器不关注网络中的主机,而只关注互联起来的网络以及通往各个网络的最佳路径。 目标主机的逻辑网络地址用来获取通过可路由网络传送到指定网络中的分组&#xf…

(一)CSharp-Socket

一、套接字 Windows Sockets 只支持一个通信域:网际域(AF-INET),这个域被使用网际协议族通信的进程所使用。 TCP/IP 的 Socket 则提供3种类型的套接字 1、流式套接字(SOCK_STREAM) 提供面向连接、可靠的数…

STM32 Proteus仿真闹钟设定万年历系统DS1302北京时间LCD1602蜂鸣器报警-0045

STM32 Proteus仿真闹钟设定万年历系统DS1302北京时间LCD1602蜂鸣器报警-0045 Proteus仿真小实验: STM32 Proteus仿真闹钟设定万年历系统DS1302北京时间LCD1602蜂鸣器报警-0045 功能: Protues版本:8.9 硬件组成:STM32F103R6单…

gif格式怎么转换成mp4? 这两个方法实用方便!

GIF(Graphics Interchange Format)文件是一种常见的动态图像格式,而MP4(MPEG-4 Part 14)则是一种流行的视频文件格式。有时候,您可能想要将GIF文件转换为MP4格式,以便在不同的平台和设备上进行更…

6-js基础-5

JavaScript 基础 - 5 知道对象数据类型的特征,能够利用数组对象渲染页面 对象综合案例数据类型存储 对象 对象(Object):JavaScript里的一种数据类型(引用类型),也是用于存储数据的 好处&#x…

机器学习笔记 - 了解机器学习中的小样本(Few-Shot)学习

一、背景概述 深度学习模型在图像分类、语义分割、对象检测等计算机视觉任务中的成功归功于利用了用于训练网络的大量标记数据——一种称为监督学习的方法。尽管在这个信息技术时代有大量的非结构化数据可用,但注释数据很难获得。 由于这个原因,计算机视觉机器学习项目中数据…

python spider 爬虫 之 urllib系列 urlretrieve下载照片、视频 网页

python 中 集成了 urllib urllib import urllib.request # urlopen 方法 url"url" response urllib.request.urlopen(url)print(type(response )) print(response.read()) # 解码 字节--->字符串 decode 字符串--》字节 encode print(response.read()…

腾讯课堂Python课程哪家强?

腾讯课堂Python课程哪家强? 文章目录 腾讯课堂Python课程哪家强?一、前言二、数据读取和数据预处理1、数据读取2、数据处理 三、有多少人愿意花钱学Python?四、多少价位的课买的人最多?五、哪家机构的课最多?销量最好&…

来评选你心中的TOP1编程语言

🌷🍁 博主 libin9iOak带您 Go to New World.✨🍁 🦄 个人主页——libin9iOak的博客🎐 🐳 《面试题大全》 文章图文并茂🦕生动形象🦖简单易学!欢迎大家来踩踩~&#x1f33…

WEBGIS系统数据库设计

文章目录 系统设备模型设计1 .设备模型结构2. 设备逻辑关系模型系统属性数据库设计1 . 系统属性数据库2 . 实体继承关系1) 电气实体部分2 )土建实体部分3 )其他实体联系 系统采用PostgreS QL 作为属性数据库, PostGIS 作为空间数据库&#xf…

CENTOS上的网络安全工具(二十六)SPARK+NetSA Security Tools容器化部署(2)

〇、抓包与批量转换cap文件 1. Network Monitor 抓包 我们在CENTO OS上的网络安全工具(十七)搭建Cascade的Docker开发环境中捎带脚介绍了以下windows下的抓包软件。大意就是微软又一款不错的抓包分析软件,名曰nmcap,可在Download …

MySQL——备份与恢复

文章目录 MySQL 完全备份物理冷备份与恢复mysqldump 备份与恢复 MySQL 完全恢复MySQL 增量备份与恢复MySQL 增量备份MySQL 增量恢复 MySQL 完全备份 InnoDB存储引擎的数据库在磁盘上存储成三个文件:db.opt(表属性文件)、表名.frm(表结构文件)、表名.ibd(表数据文件…