主要先容AWS内里的数据库服务,此中包括了AWS的关系数据库RDS(Relational Database Service)、非关系数据库DynamoDB、数据仓库和数据缓存的概念。
在我们深入相识AWS的数据库服务之前,起首让我们先来相识一下一些关于数据库的基本概念吧!
关系型数据库(SQL)
关系数据库,是建立在关系模子底子上的数据库,借助于集合代数等数学概念和方法处理数据库中的数据。
用地球的语言来讲,关系是一个由行和列构成的表格,一个关系数据库可以包含多个这样的表格。
也可以简朴明白为关系数据库就是一个由多个工作表构成的Excel表格。
我们可以用列来定义一些预设参数,好比姓名,性别,地址,年岁等信息;并且每一行来代表差别的实体,好比张三的信息,李四的信息。行和列就构成了数据的集合。
Amazon Relational Database Service (RDS) 可以为我们提供在AWS云上轻松设置、操作和扩展我们的关系数据库。AWS会为RDS提供高性能、高可用、安全和兼容性,我们只需要专注于管理数据库本身就可以了。
管理和使用AWS RDS,我们不需要管理任何操作系统层面的东西,不需要为OS打补丁和更新,而是直接受理RDS程序和版本。
Amazon RDS支持的关系数据库有:
- SQL Server
- Oracle
- MySQL Server
- PostgreSQL
- Aurora
- MariaDB
非关系数据库(NoSQL)
非关系数据库又叫做NoSQL,全称是Not Only SQL。
NoSQL主要用于超大规模数据的存储(好比Facebook或Google每天所收集的万亿比特的数据),这些数据没有固定的模式,不需要预设置好数据库的所有参数。
举个例子,如果交际平台去收集用户的人物画像信息,这些信息大概会包括一些天然属性:例如性别,年岁,姓名;财产:收入程度,是否有固定资产,有哪些固定资产;家庭环境:是否结婚,有几个小孩和家庭成员;购物风俗:喜欢网购还是实体店购物,喜欢到哪个电商平台购物,购物的金额和频率是什么;位置信息:在哪个都会生活,常去的地理位置……
这些千奇百怪的数据,如果生存在关系数据库(RDBMS)中,我们会没有办法很好地预定义所有的属性(列),然后添加我们的记录;也没有办法在后期添加额外的属性。
许多环境下,每一个目标的属性都不一样,有一些属性A有,但B没有;又一些属性B有,但C没有。
在这种环境下,NoSQL更适合存储这些海量的、无规则的信息。NoSQL也适用于现在物联网(IoT)产生的数据。
目前,AWS所提供的NoSQL服务叫做DynamoDB。这个概念在助理级解决方案架构师的考试中只需要稍作相识即可,但是在助理级开发者考试中会需要有更加深入的掌握。
NoSQL的基本概念:
- 数据库(Database)
- 集合(Collection)- 相当于关系数据库中的表
- 文档(Document)- 相当于关系数据库中的行
- 键值(Key Value Pairs) = 相当于关系数据库中的列
NoSQL的键值会存放在类似JSON的对象中。
OLTP/OLAP
数据处理大致可以分为两类,分别是OLTP和OLAP。
联机事务处理OLTP(Online Transaction Processing)
OLTP是传统的关系数据库的主要应用,是基本的一样平常事务处理,例如银行交易等。
OLTP包括了以上所说的关系数据库SQL Server,Oracle,MySQL Server,PostgreSQL,Aurora,MariaDB等。
联机分析处理OLAP(Online Analytics Processing)
OLAP是数据仓库(Data Warehousing)系统的主要应用,支持复杂的分析操作,侧重决议支持,并且能提供直观易懂的查询结果。OLAP是用来做商业智能(Business Intelligence)方面的分析的。
OLAP常用的流行工具是AWS Redshift, Greenplum, Hive等
说了这么多大概大家的明白都还是比力含糊,下面来举一个平凡一点的例子。
如果一个电商在网上卖产品,那么关于产品的信息,用户的信息,交易的信息都可以存放在OLTP类型的关系数据库上。如果用户需要查询产品有关的信息,大概运营者需要查询产品的销量,产品的库存等都可以直接通过读取数据库获取到信息。
但是当电商发展到一定的规模,运营者/管理层需要做更加精细的用户群体分析,好比“20-30岁的男性在已往一年内的购买行为与电商促销活动之间的关系”,那么就要用到数据仓库了。
数据仓库有更好地读取速度和更加便利的分析和查询方式。
Elasticache
Elasticache是AWS提供的分布式对象缓存系统,可以有效地提升现有应用程序的性能。使用Elasticache,用户可以从高吞吐和低延迟的内存数据存储中检索数据,
Elasticache通过在内存中缓存数据来镌汰对象读取数据库的次数,减轻了数据库的负载,以及提高了网站的访问速度(内存的访问速度比磁盘的访问速度高许多)。一样寻常来说我们会把相对来说更新频繁的“热数据”放在Elasticache中,把“冷数据”还是放在数据库中,以支持及时的更新。
目前Elasticache支持两种业界流行的引擎,分别是:
同样的,Elasticache这部分内容在助理级解决方案架构师的考试中只需要稍作相识即可,但是在助理级开发者考试中会需要有更加深入的掌握。
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。 |