面向初学者的 Google Cloud - 如何选择数据库服务?
每日分享最新,最流行的软件开发知识与最新行业趋势,希望大家能够一键三连,多多支持,跪求关注,点赞,留言。管理数据库是一件痛苦的事。确保数据库的高可用性、高持久性和许多其他需求是一个巨大的挑战。云平台为您提供各种数据库服务。您如何在 Google Cloud 中选择数据库服务?让我们来了解一下!语境1:选择数据库容易吗?2:数据库有哪些不同的类别?关系数据库 - OLAP - 在线分析处理2.2:什么是 NoSQL 数据库?2.3:什么是内存数据库?3:让我们快速总结一下 为您的用例选择数据库并不容易。您需要考虑的几个因素: 1:你想要一个固定的模式吗?您想要灵活地定义和更改架构吗?你想去无模式吗?2:你需要什么级别的交易属性?(原子性和一致性)3:你想要什么样的延迟?(秒、毫秒或微秒)4:您预计有多少交易?(每秒数百或数千或数百万个事务)5:将存储多少数据?(MB 或 GB 或 TB 或 PB) 在我们进入细节之前,让我们探索不同类别的数据库: 数据库有哪些不同类别? 有几种类型的数据库:关系(OLTP 和 OLAP)、文档、键值、图形和内存等 什么是关系数据库? 最流行(或不流行)的数据库类型。它们具有带有表和关系的预定义模式。关系数据库提供了非常强大的事务能力。 关系数据库 - OLTP - 在线事务处理 让我们从大量用户进行大量小事务(小读取和更新)的应用程序开始。典型用例包括 CRM、电子商务和银行应用程序。最流行的数据库是 MySQL、Oracle、SQL Server 等。 推荐的 GCP 服务包括: Cloud SQL:支持 PostgreSQL、MySQL 和 SQL Server 用于区域关系数据库(最多几 TB)Cloud Spanner:无限扩展(多个 PB)和 99.999% 的可用性,适用于具有水平扩展的全球应用程序云 SQL Cloud SQL 是一种完全托管的关系数据库服务。 以下是一些重要功能: 支持 MySQL、PostgreSQL 和 SQL Server提供高可用性的区域服务 (99.95%)使用 SSD 或 HDD 的选项(为了获得最佳性能:使用 SSD)自动加密(表/备份)、维护和更新高可用性和故障转移:使用自动故障转移创建备用用于读取工作负载的只读副本 - 选项:跨区域、跨区域和外部(非云 SQL DB)无需停机即可自动增加存储空间(适用于较新版本)时间点恢复:启用二进制日志记录备份(自动和按需备份)云扳手 Cloud Spanner 是一个完全托管的、任务关键型、关系型 (SQL)、全球分布式数据库,具有非常高的可用性。它在全球范围内提供强大的事务一致性。它可以通过自动分片扩展到 PB 级的数据。 以下是一些重要功能: 横向扩展读取和写入:相比之下,Cloud SQL 提供只读副本,但您无法使用 Cloud SQL 横向扩展写入操作!区域和多区域配置昂贵(与 Cloud SQL 相比):您为节点和存储付费Cloud SQL 与 Cloud Spanner 在以下情况下,对关系事务应用程序使用 Cloud Spanner(Expensive \(\)) 而不是 Cloud SQL: 您拥有大量的关系数据 (TB) 或您需要无限扩展以适应不断增长的应用程序(至 TB)或您是否需要一个全球(分布在多个地区)数据库或您需要更高的可用性 (99.999%)关系数据库 - OLAP - 在线分析处理 OLAP 应用程序允许用户分析 PB 级的数据。示例包括报告应用程序、数据仓库、商业智能应用程序和分析系统。 推荐的 GCP 托管服务是BigQuery。 BigQuery - 现代数据仓库 BigQuery 是最受欢迎的云数据仓库之一。它可以轻松处理 EB 级数据。它结合了传统数据仓库元素(海量存储 + 计算)和现代元素(实时 + 无服务器)。 什么是 NoSQL 数据库? NoSQL 代表了一种构建数据库的新方法(实际上并不是那么新!)。 NoSQL代表“不仅仅是 SQL”。当您需要灵活的模式时MySQL 选择数据库,您将使用 NoSQL 数据库 - 按照应用程序需要的方式构建数据,并且您希望让模式随时间发展。 大多数 NoSQL 数据库可以以数百万 TPS 水平扩展至 PB 级数据。 Google 托管服务是Cloud Firestore (Datastore)和Cloud BigTable。 Cloud Datastore 和 Firestore Datastore是一个高度可扩展的 NoSQL 文档数据库。它会随着数据的增长自动扩展和分区数据。推荐用于需要灵活模式和事务的用例。示例:用户资料和产品目录。数据存储最多可以处理几 TB 的数据。 以下是一些重要功能: 支持事务、索引和类似 SQL 的查询 (GQL)不支持连接或聚合(求和或计数)操作 Firestore是 Datastore 的新版本。我称之为数据存储++。它针对多设备访问进行了优化。它提供跨多个设备的离线模式和数据同步 - 移动设备、物联网等。 云大表 Cloud BigTable 是一个兼容 HBase API 的PB 级宽列NoSQL DB。它旨在处理大量分析和运营数据。例如物联网流、分析、时间序列数据等。 一些基本功能包括: 以极低的延迟处理数百万读/写 TPS单行事务(不支持多行事务)使用多个节点水平扩展(集群调整大小无需停机)非无服务器:您需要创建一个服务器实例在 Cloud Firestore、Datastore 和 Cloud BigTable 之间进行选择 Cloud Datastore 是托管的无服务器 NoSQL 文档数据库。它提供 ACID 事务、类似 SQL 的查询和索引。它专为事务性移动和 Web 应用程序而设计。 Firestore 是 Datastore 的下一个版本,具有强一致性以及移动和 Web 客户端库等附加功能。 建议将 Firestore 和 Datastore 用于中小型数据库(0 到几 TB)。 另一方面,Cloud BigTable 是一个托管的、可扩展的 NoSQL 范围的列数据库。它不是无服务器的(您需要创建实例)。 对于大于 10 TB 的数据,建议使用 BigTable。它通常用于大型分析和操作工作负载。 不建议将 BigTable 用于事务性工作负载。它不支持多行事务 - 它仅支持单行事务。 什么是内存数据库? 从内存中检索数据比从磁盘中检索数据快得多。像 Redis 这样的内存数据库通过在内存中存储持久数据来提供微秒级的延迟。 推荐的 GCP 托管服务是 Memorystore。 让我们快速总结一下 (编辑:92站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |