云数据库知识学习——概述

news2024/11/25 10:43:42

一、云计算是云数据库兴起的基础

        云计算是分布式计算、并行计算、效用计算、网络存储、虚拟化、负载均衡等计算机和网络技术发展融合的产物。云计算是由一系列可以动态升级和被虚拟化的资源组成的,用户无需掌握云计算的技术,只要通过网络就可以访问这些资源。

        云计算主要包括 3 种类型,即 IaaS(Infrastructure as a Service)、PaaS(Platform as a Service)和 SaaS(Software as a Service)。以 SaaS 为例,它极大地改变了用户使用软件的方式,用户不再需要购买软件安装到本地计算机上,只要通过网络就可以使用各种软件。SaaS 厂商将应用软件统一部署在自己的服务器上,用户可以在线购买、在线使用、按需付费。成立于 1999 年的 Salesforce公司,是 SaaS 厂商的先驱,提供 SaaS 云服务,并提出了“终结软件”的口号。在该公司的带动下,其他 SaaS 厂商如雨后春笋般的大量涌现。

        与传统的软件使用方式相比,云计算这种模式具有明显的优势,见表 6-1。

二、云数据库的概念

        云数据库是部署和虚拟化在云计算环境中的数据库。云数据库是在云计算的大背景下发展起来的一种新兴的共享基础架构的方法,它极大地增强了数据库的存储能力,消除了人员、硬件、软件的重复配置,让软、硬件升级变得更加容易,同时也虚拟化了许多后端功能。云数据库具有高可扩展性、高可用性、采用多租形式和支持资源有效分发等特点。

        在云数据库中,所有数据库功能都是在云端提供的,客户端可以通过网络远程使用云数据库提供的服务,如图 6-1 所示。客户端不需要了解云数据库的底层细节,所有的底层硬件都已经被虚拟化,对客户端而言是透明的,就像在使用一个运行在单一服务器上的数据库一样,非常方便容易,同时又可以获得理论上近乎无限的存储和处理能力。

        需要指出的是,有人认为数据库属于应用基础设施(即中间件),因此把云数据库列入 PaaS的范畴,也有人认为数据库本身也是一种应用软件,因此把云数据库划入 SaaS。对于这个问题,本文把云数据库划入 SaaS,但同时也认为,云数据库到底应该被划入 PaaS 还是 SaaS,这并不是最重要的。实际上,云计算 IaaS、PaaS 和 SaaS 这 3 个层次之间的界限有些时候也不是非常明晰。对于云数据库而言,最重要的方面就是它允许用户以服务的方式通过网络获得云端的数据库功能。

三、云数据库的特性

3.1.动态可扩展

        理论上,云数据库具有无限可扩展性,可以满足不断增加的数据存储需求。在面对不断变化的条件时,云数据库可以表现出很好的弹性。例如,对于一个从事产品零售的电子商务公司,会存在季节性或突发性的产品需求变化,或者对于类似 Animoto 的网络社区站点,可能会经历一个指数级的用户增长阶段,这时,就可以分配额外的数据库存储资源来处理增加的需求,这个过程只需要几分钟。一旦需求过去以后,就可以立即释放这些资源。

3.2.高可用性

        不存在单点失效问题。如果一个节点失效了,剩余的节点就会接管未完成的事务。而且,在云数据库中,数据通常是冗余存储的,在地理上也是分布的。诸如 Google、Amazon 和 IBM 等大型云计算供应商,具有分布在世界范围内的数据中心,通过在不同地理区间内进行数据复制,可以提供高水平的容错能力。例如,Amazon SimpleDB 会在不同的区域内进行数据复制,因此,即使某个区域内的云设施发生失效,也可以保证数据继续可用。

3.3.较低的使用代价

        通常采用多租户(Multi-tenancy)的形式,同时为多个用户提供服务,这种共享资源的形式对于用户而言可以节省开销,而且用户采用“按需付费”的方式使用云计算环境中的各种软、硬件资源,不会产生不必要的资源浪费。另外,云数据库底层存储通常采用大量廉价的商业服务器,这也大大降低了用户开销。腾讯云数据库官方公布的资料显示,当实现类似的数据库性能时,如果采用自己投资自建 MySQL 的方式,则单价为每台每天 50.6 元,实现双机容灾需要 2 台,即 101.2元/天,平均存储成本是 0.25 元每 GB 每天,平均 1 元可获得的 QPS(Query Per Second)为 24 次/秒;而如果采用腾讯云数据库产品,企业不需要投入任何初期建设成本,成本仅为 72 元/天,平均存储成本为 0.18 元每 GB 每天,平均 1 元可获得的 QPS 为 83 次/秒,相对于自建,云数据库平均 1 元获得的 QPS 提高为原来的 346%,具有极高的性价比。

3.4.易用性

        使用云数据库的用户不用控制运行原始数据库的机器,也不必了解它身在何处。用户只需要一个有效的连接字符串(URL)就可以开始使用云数据库,而且就像使用本地数据库一样。许多基于MySQL 的云数据库产品(如腾讯云数据库、阿里云 RDS 等),完全兼容 MySQL 协议,用户可通过基于 MySQL 协议的客户端或者 API 访问实例。用户可无缝地将原有 MySQL 应用迁移到云存储平台,无需进行任何代码改造。

3.5.高性能

        采用大型分布式存储服务集群,支撑海量数据访问,多机房自动冗余备份,自动读写分离。

3.6.免维护

        用户不需要关注后端机器及数据库的稳定性、网络问题、机房灾难、单库压力等各种风险,云数据库服务商提供 7×24h 的专业服务,扩容和迁移对用户透明且不影响服务,并且可以提供全方位、全天候立体式监控,用户无需半夜去处理数据库故障。

3.7.安全

        提供数据隔离,不同应用的数据会存在于不同的数据库中而不会相互影响;提供安全性检查,可以及时发现并拒绝恶意攻击性访问;数据提供多点备份,确保不会发生数据丢失。

        以腾讯云数据库为例,开发者可快速在腾讯云中申请云服务器实例资源,通过 IP/PORT 直接访问 MySQL 实例,完全无需再安装 MySQL 实例,可以一键迁移原有 SQL 应用到腾讯云平台,大大节省了人力成本;同时,该云数据库完全兼容 MySQL 协议,可通过基于 MySQL 协议的客户端或 API 便捷地访问实例。此外,还采用了大型分布式存储服务集群,支撑海量数据访问,7×24h的专业存储服务,可以提供高达 99.99%服务可用性的 MySQL 集群服务,并且数据可靠性超过99.999%。腾讯云数据库和自建数据库的比较见表 6-2。

四、云数据库是个性化数据存储需求的理想选择

        在大数据时代,每个企业几乎每天都在不断产生大量的数据。企业类型不同,对于存储的需求也千差万别,而云数据库可以很好地满足不同企业的个性化存储需求。

        首先,云数据库可以满足大企业的海量数据存储需求。云数据库在当前数据爆炸的大数据时代具有广阔的应用前景。根据 IDC 的研究报告,企业对结构化数据的存储需求每年会增加 20%左右,而对非结构化数据的存储需求将会每年增加 60%左右。传统的关系数据库难以水平扩展,根本无法存储如此海量的数据。因此,具有高可扩展性的云数据库就成为企业海量数据存储管理的很好选择。

        其次,云数据库可以满足中小企业的低成本数据存储需求。中小企业在 IT 基础设施方面的投入比较有限,非常渴望从第三方方便、快捷、廉价地获得数据库服务。云数据库采用多租户方式同时为多个用户提供服务,降低了单个用户的使用成本,而且用户使用云数据库服务通常按需付费,不会浪费资源造成额外支出。因此,云数据库使用成本很低,对于中小企业而言可以大大降低企业的信息化门槛,让企业在付出较低成本的同时,获得优质的专业级数据库服务,从而有效提升企业信息化水平。

        另外,云数据库可以满足企业动态变化的数据存储需求。企业在不同时期需要存储的数据量是不断变化的,有时增加,有时减少。在小规模应用的情况下,系统负载的变化可以由系统空闲的多余资源来处理,但是在大规模应用的情况下,传统的关系数据库由于其伸缩性较差,不仅无法满足应用需求,而且会给企业带来高昂的存储成本和管理开销。而云数据库的良好伸缩性,可以让企业在需求增加时立即获得数据库能力的提升,在需求减少时立即释放多余的数据库能力,较好地满足企业的动态数据存储需求。

        当然,并不是说云数据库可以满足不同类型的个性化存储需求,就意味着企业一定要把数据存放到云数据库中。到底选择自建数据库还是选择云数据库,取决于企业自身的具体需求。对于一些大型企业,目前通常采用自建数据库,一方面是由于企业财力比较雄厚,有内部的 IT 团队负责数据库维护,另一方面数据是现代企业的核心资产,涉及很多高级商业机密,企业出于数据安全考虑,不愿意把内部数据保存在公有云的云数据库中,尽管云数据库供应商也会一直强调数据的安全性,但是这依然不能打消企业的顾虑。对于一些财力有限的中小企业而言,IT 预算比较有限,不可能投入大量资金建设和维护数据库,企业数据并非特别敏感,因此云数据库这种前期零投入、后期免维护的数据库服务,可以很好地满足他们的需求。

五、云数据库与其他数据库的关系

        关系数据库采用关系数据模型,NoSQL 数据库采用非关系数据模型,二者都属于不同的数据库技术。从数据模型的角度来说,云数据库并非一种全新的数据库技术,而只是以服务的方式提供数据库功能。云数据库并没有专属于自己的数据模型,云数据库所采用的数据模型可以是关系数据库所使用的关系模型(如微软的 SQL Azure 云数据库、阿里云 RDS 都采用了关系模型),也可以是 NoSQL 数据库所使用的非关系模型(如 Amazon Dynamo 云数据库采用的是“键/值”存储)。同一个公司也可能提供采用不同数据模型的多种云数据库服务,例如百度云数据库提供了 3 种数据库服务,即分布式关系型数据库服务(基于关系数据库 MySQL)、分布式非关系型数据库服务(基于文档数据库 MongoDB)、键/值型非关系型数据库服务(基于键/值数据库 Redis)。实际上,许多公司在开发云数据库时,后端数据库都是直接使用现有的各种关系数据库或 NoSQL 数据库产品。比如,腾讯云数据库采用 MySQL 作为后端数据库,微软的 SQL Azure 云数据库采用 SQLServer 作为后端数据库。从市场的整体应用情况来看,由于 NoSQL 应用对开发者要求较高,而MySQL 拥有成熟的中间件、运维工具,已经形成一个良性的生态圈等,因此从现阶段来看,云数据库的后端数据库主要是以 MySQL 为主、NoSQL 为辅。

        在云数据库这种 IT 服务模式出现之前,企业要使用数据库,就需要自建关系数据库或 NoSQL数据库,它们被称为“自建数据库”。云数据库与这些“自建数据库”最本质的区别在于,云数据库是部署在云端的数据库,采用 SaaS 服务模式,用户可以通过网络租赁使用数据库服务,只要有网络的地方都可以使用,不需要前期投入和后期维护,使用价格也比较低廉,云数据库对用户而言是完全透明的,用户根本不知道自己的数据被保存在哪里。云数据库通常采用多租户模式,即多个租户共用一个实例,租户的数据既有隔离又有共享,从而解决了数据存储的问题,同时也降低了用户使用数据库的成本。而自建的关系数据库和 NoSQL 数据库本身都没有采用 SaaS 服务模式,需要用户自己搭建 IT 基础设施和配置数据库,成本相对而言比较昂贵,而且需要自己进行机房维护和数据库故障处理。

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

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

相关文章

关于近期小程序测试的常见漏洞演示

本章节将为大家介绍一下小程序常见的漏洞的展示案例,包括支付业务逻辑漏洞、任意用户登录漏洞、水平越权漏洞等高危漏洞。 以上小程序测试均获取授权,并且客户均已得到修复(仅供学习,请勿恶意攻击)​ 关于微信小程序如何拦截数据包&#xff…

Nat. Communications Biology2022 | PepNN+: 用于识别多肽结合位点的深度关注模型

论文标题:PepNN: a deep attention model for the identification of peptide binding sites 论文链接:PepNN: a deep attention model for the identification of peptide binding sites | Communications Biology 代码地址:oabdin / PepN…

csp非零段划分

202109-2 非零段划分 计算机软件能力认证考试系统 code&#xff1a; #include<bits/stdc.h> using namespace std; const int N5e59;int a[N];vector<int> v[N];//v[i]存放所有元素值为i的元素的下标 int main() {ios::sync_with_stdio(false);cin.tie(0),cout.…

20230908_python练习_服务端与客户端数据交互

用户可以通过简单操作进行服务端数据交互&#xff0c;通过简单的sql语句直接获取EXCEL表&#xff0c;可以用来作为交互的基础。主要涉及三部分&#xff1a; 1:数据库存储表结构 --日志记录表结构 create table shzc.yytowz_service_title (leixing varchar2(18),ziduan1 v…

C#__多线程之任务和连续任务

/// <summary> /// /// 任务&#xff1a;System.Threading.Tasks&#xff08;异步编程的一种实现方式&#xff09; /// 表应完成某个单元工作。这个工作可以在单独的线程中运行&#xff0c;也可以以同步方式启动一个任务。 /// /// 连续任务&#…

【笔试强训选择题】Day36.习题(错题)解析

作者简介&#xff1a;大家好&#xff0c;我是未央&#xff1b; 博客首页&#xff1a;未央.303 系列专栏&#xff1a;笔试强训选择题 每日一句&#xff1a;人的一生&#xff0c;可以有所作为的时机只有一次&#xff0c;那就是现在&#xff01;&#xff01; 文章目录 前言一、Day…

蚂蚁发布金融大模型:两大应用产品支小宝2.0、支小助将在完成备案后上线

9月8日&#xff0c;在上海举办的外滩大会上&#xff0c;蚂蚁集团正式发布金融大模型。据了解&#xff0c;蚂蚁金融大模型基于蚂蚁自研基础大模型&#xff0c;针对金融产业深度定制&#xff0c;底层算力集群达到万卡规模。该大模型聚焦真实的金融场景需求&#xff0c;在“认知、…

六大排序算法(Java版):从插入排序到快速排序(含图解)

目录 插入排序 (Insertion Sort) 直接插入排序的特性总结&#xff1a; 选择排序 (Selection Sort) 直接选择排序的特性总结 冒泡排序 (Bubble Sort) 冒泡排序的特性总结 堆排序&#xff08;Heap Sort&#xff09; 堆排序的特性总结 希尔排序 (Shell Sort) 希尔排序的…

【Redis】3、Redis主从复制、哨兵、集群

Redis主从复制 主从复制&#xff0c;是指将一台Redis服务器的数据&#xff0c;复制到其他的Redis服务器。前者称为主节点(Master)&#xff0c;后者称为从节点(Slave)&#xff1b;数据的复制是单向的&#xff0c;只能由主节点到从节点。 默认情况下&#xff0c;每台Redis服务器…

SpringMvc 之crud增删改查应用

目录 1.创建项目 2.配置文件 2.1pom.xml文件 2.2 web.xml文件 2.3 spring-context.xml 2.4 spring-mvc.xml 2.5 spring-MyBatis.xml 2.6 jdbc.properties 数据库 2.7 generatorConfig.xml 2.8 日志文件log4j2 3.后台代码 3.1 pageBean.java 3.2切面类 3.3 biz层…

米尔电子|第十六届STM32全国研讨会即将走进11个城市

2023年9月12日至10月27日&#xff0c;以“STM32&#xff0c;不止于芯”为主题的第十六届STM32全国巡回研讨会将走进11个城市。本届研讨会为全天会议&#xff0c;我们将围绕STM32最新产品开展技术演讲和方案演示。 本次STM32全国研讨会&#xff0c;米尔电子将现场展出STM32相关…

Unity——导航系统补充说明

一、导航系统补充说明 1、导航与动画 我们可以通过设置动画状态机的变量&#xff0c;让动画匹配由玩家直接控制的角色的移动。那么自动导航的角色如何与动画系统结合呢&#xff1f; 有两个常用的属性可以获得导航代理当前的状态&#xff1a; 一是agent.velocity&#xff0c;…

GO语言网络编程(并发编程)并发介绍,Goroutine

GO语言网络编程&#xff08;并发编程&#xff09;并发介绍&#xff0c;Goroutine 1、并发介绍 进程和线程 A. 进程是程序在操作系统中的一次执行过程&#xff0c;系统进行资源分配和调度的一个独立单位。 B. 线程是进程的一个执行实体,是CPU调度和分派的基本单位,它是比进程更…

Java“牵手”天猫商品详情数据,天猫商品详情API接口,天猫API接口申请指南

天猫平台商品详情接口是开放平台提供的一种API接口&#xff0c;通过调用API接口&#xff0c;开发者可以获取天猫商品的标题、价格、库存、月销量、总销量、库存、详情描述、图片等详细信息 。 获取商品详情接口API是一种用于获取电商平台上商品详情数据的接口&#xff0c;通过…

重排链表(算法时间复杂度O(NlogN))

给定一个单链表 L1​→L2​→⋯→Ln−1​→Ln​&#xff0c;请编写程序将链表重新排列为 Ln​→L1​→Ln−1​→L2​→⋯。例如&#xff1a;给定L为1→2→3→4→5→6&#xff0c;则输出应该为6→1→5→2→4→3。 输入格式&#xff1a; 每个输入包含1个测试用例。每个测试用例…

2023-9-8 扩展欧几里得算法

题目链接&#xff1a;扩展欧几里得算法 #include <iostream> #include <algorithm>using namespace std;int exgcd(int a, int b, int &x, int &y) {if(!b){x 1, y 0;return a;}int d exgcd(b, a % b, y, x);y - a / b * x;return d; }int main() {int…

数据结构之栈的实现(附源码)

目录 一、栈的概念及结构 ​二、栈的实现 三、初学栈的练习题 一、栈的概念及结构 栈&#xff1a;一种特殊的线性表&#xff0c;其只允许在固定的一端进行插入和删除元素操作。进行数据插入和删除操作的一端称为栈顶&#xff0c;另一端称为栈底。栈中的数据元素遵守后进先出…

Android SDK 上手指南||第十一章 虚拟与物理设备

第十一章 虚拟与物理设备 在之前的文章里&#xff0c;大家已经了解了Android项目当中的基本元素、接触了用户界面的设计以及数据存储方案。接下来&#xff0c;我们将一同探索如何在物理及虚拟设备上运行自己的应用程序并与之互动。在系列文章的下一篇中&#xff0c;我们将分步…

【漏洞复现】一米OA存在任意文件读取漏洞

漏洞描述 一米OA协同办公系统,集成了OA办公自动化系统、手机客户端、专业报表工具,为全国千万企业用户提供全功能、性价比高的OA软件。 该OA系统的getfile.jsp文件存在任意文件上传漏洞,攻击者通过漏洞可以获取服务器的敏感信息。 免责声明 技术文章仅供参考,任何个人和…