云数据库认识

云数据库概述

说明

  • 本文参考自林子雨老师的《大数据技术原理与应用(第三版)》教材内容,仅供学习和交流

云数据库厂商概述

云数据库厂商主要分为三类。
① 传统的数据库厂商,如 Oracle、IBM DB2 和 Microsoft SQL Server
② 涉足数据库市场的云数据库厂商,如 Amazon、Google、阿里、百度、腾讯
③ 新兴厂商,如 Vertica、LongJump 和 EnterpriseDB
在这里插入图片描述

Amazon 云数据库产品

  • Amazon 是云数据库市场的先行者。Amazon 除提供著名的 S3(Simple Storage Service) 存储服务和 EC2(Elastic Compute Cloud) 计算服务以外,还提供基于云的数据库服务 SimpleDB 和 DynamoDB。

  1. S3 (Simple Storage Service):
    • S3:对象存储服务,旨在提供可扩展、安全、耐用的存储解决方案。它允许用户通过网络存储和检索任意数量的数据,每个对象可以达到 5TB,并且支持多种数据类型,包括文本、图像、视频和其他多媒体文件。
    • S3 提供高可用性和持久性通过在不同的数据中心和设备之间复制数据来保护数据的安全性,并提供多种安全功能,如访问控制列表 (ACL)、存储桶策略和加密选项。
  2. EC2 (Elastic Compute Cloud):
    • EC2 :基于云的虚拟服务器服务,允许用户租用虚拟计算资源以运行应用程序。它提供了可伸缩性和灵活性,用户可以根据需要快速启动、配置和管理虚拟机实例。
    • EC2 实例的规格和配置可以根据用户需求进行调整,包括计算能力、内存、存储和网络性能等方面。用户可以选择不同类型的实例,如通用型、计算优化型、存储优化型等,以满足不同类型的工作负载需求。

  • 云的数据库服务 SimpleDB 和 DynamoDB。
  1. SimpleDB
    • SimpleDB 是 Amazon 公司开发的一个可供查询的分布式数据存储系统,是 Amazon 网页服务(Amazon Web Service,AWS)上的第一个 NoSQL 数据库服务,集合了 Amazon 的大量 AWS 基础设施
    • SimpleDB 是一种非关系型的数据库服务旨在提供简单而灵活的数据存储解决方案。它适用于需要快速构建和迭代的应用程序,特别是那些需要动态模式和可扩展性的应用。
    • SimpleDB 使用简单的数据模型,其中包含项目(Item)、属性(Attribute)和值(Value)。这种结构使得它更容易处理半结构化数据,并且能够以高可用性和可扩展性存储大量数据。
  2. DynamoDB
    • DynamoDB 一种全管理的、多区域、高可扩展的 NoSQL 数据库服务,专为云规模应用程序而设计。它提供快速的性能、无限制的扩展性和灵活的数据模型,可满足各种应用程序的需求。
    • DynamoDB 采用键-值对数据模型,同时支持文档和列族数据模型。它提供了自动化的数据复制、备份和恢复,以及内置的安全性和可用性功能,使得开发人员可以专注于应用程序的逻辑而无需担心基础设施的管理。
    • DynamoDB 采用“键值”存储,其所存储的数据是非结构化数据,不识别任何结构化数据,需要用户自己完成对值的解析。
    • Dynamo 系统中的键(key)不是以字符串的方式进行存储的,而是采用 md5_key(通过 MD5 算法转换后得到)的方式进行存储的,因此它只能根据 key 去访问,不支持查询。DynamoDB 使用固态盘,实现恒定、低延迟的读写时间,旨在扩展大容量的同时维持数据库的一致性。

Google 的云数据库产品

  • Google Cloud SQL 是谷歌推出的基于 MySQL 的云数据库,所有的事务都在云中,并由谷歌管理,用户不需要配置或者排查错误,仅依靠它来开展工作即可。由于数据在谷歌多个数据中心中复制,因此它永远是可用的。谷歌还将提供导入或导出服务,方便用户将数据带进或带出云。

Microsoft 的云数据库产品

  • Microsoft(微软)公司通过 SDS(SQL Data Service)提供 SQL Server 的关系数据库功能。微软公司对SDS 功能进行了扩充,并且重新命名为 SQL Azure。微软公司的 Azure 平台提供Web 服务集合,可以允许用户通过网络在云中创建、查询和使用 SQL Server 数据库,云中的 SQL Server服务器的位置对于用户而言是透明的。
  • SQL Azure 具有以下特性:
    ① 属于关系数据库。支持使用 Transact-SQL 来管理、创建和操作云数据库。
    ② 支持存储过程。它的数据类型、存储过程和传统的 SQL Server 具有很大的相似性
    ③ 支持大量数据类型。包含了几乎所有典型的 SQL Server 的数据类型。
    ④ 支持云中的事务。支持局部事务,但是不支持分布式事务。
  • SQL Azure 的体系架构中包含了一个虚拟机簇,可以根据工作负载的变化,动态增加或减少虚拟机的数量。每台 SQL Server 虚拟机(Virtual Machine)安装了SQL Server数据库管理系统,并以关系模型存储数据。通常,一个数据库会被分散存储到 3~5 台 SQL Server VM 中。每台 SQL Server VM 同时安装 SQL Azure Fabric 和 SQL Azure 管理服务。不同 SQL Server VM 内的 SQL Azure Fabric 和管理服务之间会彼此交换监控信息,以保证整体服务的可监控性。SQL Azure负责数据库的数据复写工作,以保障 SQL Azure 的基本高可用性要求。
    在这里插入图片描述

云数据库系统架构

  • 以阿里巴巴核心系统数据库团队开发的 UMP(Unified MySQL Platform)系统为例进行介绍。

UMP 系统概述

  • UMP 系统是低成本和高性能的 MySQL 云数据库方案。开发者通过网络从平台上申请 MySQL 实例资源,利用平台提供的单一入口来访问数据。UMP 系统把各种服务器资源划分为资源池,并以资源池为单位把资源分配给 MySQL 实例。系统中包含了一系列组件,这些组件协同工作,以对用户透明的形式提供主从热备、数据备份、迁移、容灾等一系列服务。
  • 系统内部将用户划分为 3 种类型:数据量和流量比较小的用户、中等规模用户,以及需要分库分表的用户。多个小规模用户共享一个 MySQL 实例,中等规模用户独占一个 MySQL 实例,需要分库分表的用户的多个 MySQL 实例可以共享同一台物理机,UMP 系统通过这些方式实现了资源的虚拟化,降低了整体成本。
  • UMP 系统通过“用 Cgroup限制 MySQL 进程资源”和“在 Proxy 服务器端限制 QPS”两种方式,实现了资源隔离、按需分配,以及限制CPU、内存和 I/O 资源;同时,UMP 系统还支持在不影响提供数据服务的前提下根据用户业务的发展进行动态扩容和缩容。

  • UMP 系统架构设计遵循了以下原则。
    ① 保持单一的系统对外入口,并且为系统内部维护单一的资源池。
    ② 消除单点故障,保证服务的高可用性。
    ③ 保证系统具有良好的可伸缩性,能够动态地增加、删减计算与存储节点。
    ④ 保证分配给用户的资源也是弹性可伸缩的,资源之间相互隔离,确保应用和数据的安全。

UMP 系统架构

  • UMP 系统中的角色包括 Controller 服务器、Web 控制台、Proxy服务器、Agent 服务器、日志分析服务器、信息统计服务器、愚公系统;依赖的开源组件包括 Mnesia、RabbitMQ、ZooKeeper 和 LVS。
    在这里插入图片描述

Mnesia

Mnesia 是一个分布式数据库管理系统,适合需要持续运行和具备软实时特性的Erlang 应用,是构建电信应用的控制系统平台—开放式电信平台(Open Telecom Platform,OTP)的一部分。

  • Erlang 是一种结构化、动态类型的编程语言,内建并行计算支持,非常适合构建分布式、软实时并行计算系统。

img
img

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化资料的朋友,可以戳这里获取

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

需要这份系统化资料的朋友,可以戳这里获取](https://bbs.csdn.net/topics/618545628)**

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

  • 20
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值