当前位置: 首页 > 科技观察

支持serverless计算,传统存储方案行不通

时间:2023-03-22 00:09:10 科技观察

什么是serverless存储/serverless数据库?它与其他存储/数据库服务有何不同?本文将通过无服务器计算中的一些用例介绍基本属性,并说明不同无服务器存储和无服务器数据库之间的差异。***,我们将继续讨论尚未出现的Serverless存储服务,展望该领域的未来。Serverless就是没有服务器?来源-http://www.commitstrip.com/en/2017/04/26/servers-there-are-no-servers-here/“无服务器”这个词实际上并不合适。Serverless并不是说??不再需要服务器,而是采用了将技术从用户身上抽象出来的理念,让用户不再需要为服务器操心,其他人(云提供商)会帮助用户完成相关工作。无服务器计算无服务器是当今非常流行的词。尽管“无服务器”一词已经存在了一段时间,但它成为流行词的主要原因是2014年AWSLambda的推出。无服务器随着2015年7月亚马逊API网关的推出而进一步流行。一般来说,无服务器(或无服务器计算)是指服务器端逻辑由开发人员编写并在无状态计算容器中运行的应用程序——这些容器是事件触发的、短暂的(可能只持续一次)调用)并且完全由第三方管理。这也称为功能即服务(FaaS)。无服务器计算的无状态和对存储的需求无服务器计算或FaaS的一个特点是它是无状态的。因此,在一般设计中不可能在同一函数的两次执行之间保持状态。这就是无服务器存储的用武之地,如果需要在两次FaaS功能执行之间维护状态,则应将其存储在外部存储服务中。传统存储的问题传统存储解决方案旨在在单一地理位置的一组固定服务器上连续运行,要正确使用它们,开发人员需要了解有关其配置的许多细节。在最坏的情况下,高可用性和性能仅与开发人员对数据库内部知识的了解有关。开发人员需要弄清楚并配置诸如区域、空间、卷、内存、计算能力和软件版本之类的东西。开发团队必须花费数小时思考容量规划、配置、分片、备份、性能调整和监控。当您需要花费80%的时间来设置和操作数据库来支持无服务器功能时,这有点不合适。虽然无服务器计算为计算层增加了弹性,但当存储层不提供类似的弹性时,您可能无法充分利用它。真正的无服务器存储理想情况下,真正的无服务器存储应该具有以下属性:无需配置·真正有弹性(无需运维人员干预即可向上扩展)按需付费的无服务器存储,开发人员不必担心任何基础设施细节,例如节点大小、内存或存储大小等。与AWSLambda对单个函数调用收费的方式相同,应根据不同工作负载使用的计算和存储量来衡量无服务器存储中的资源消耗。这就是无服务器数据库的本质,用户永远不会为空闲容量付费,存储使用情况反映了函数调用和工作负载。对于传统存储产品,过度配置是为流量高峰??做准备的唯一策略,而无服务器存储的弹性可防止潜在的浪费性过度配置。由于无服务器存储可以在无需用户干预的情况下进行弹性扩展,因此开发人员可以在没有容量规划的情况下启动,并且应用程序始终具有足够的容量。此外,按需付费的定价模式将确保没有闲置资源会增加用户的成本,无服务器存储的成本只会随着使用量的增加而增加,您永远不会为未使用的容量付费。无服务器存储选项如今,无服务器存储有多种类别,通常有多个云提供商提供或多或少相同的服务。在本节中,我们将介绍这些不同的无服务器存储类,以及每个类的示例和它们的一些用例。无服务器对象存储对象存储是一种无层次结构的数据存储方法,通常用于云中。与其他数据存储方法不同,基于对象的存储不使用目录树。离散的数据单元(对象)存在于存储池中的同一层级。每个对象都有一个唯一的标识名称,应用程序使用该名称来检索它。此外,每个对象都可能具有用于检索的元数据。无服务器对象存储的一些常见示例包括AmazonS3、GoogleCloudStorage、AzureStorage和IBMCloudStorage。在无服务器计算环境中使用无服务器对象存储的一个常见示例是缩略图生成。1.手机APP上传图片到对象库。2.Serverless对象存储在上传图片后触发change事件执行serverless功能。3.无服务器功能,可根据上传的图片创建缩略图。4.将缩略图上传到无服务器存储后,无服务器功能向移动应用程序发送推送通知。5.移动应用程序下载缩略图并相应地更新UI。Serverless关系型数据库的一个例子是2017年最后一个季度推出的AmazonAuroraServerless,它有两个不同的版本兼容MySQL和PostgreSQL,同时也兼容MariaDB、Oracle等系统。AmazonAuroraServerless是一种按需自动扩容的数据库服务,数据库会根据应用的需要自动启动、关闭和扩容。它使用户能够在云中运行他们的数据库,而无需实际管理任何数据库实例。对于不频繁、间歇性或不可预测的工作负载,这是一种简单、经济高效的选择,使其成为无服务器计算的理想选择。ServerlessNoSQL数据库Serverlesskey-value和documentstorage目前有几种不同类型的serverlessNoSQL数据库,最常见的是key-value存储和文档存储。键值数据库是一种用于存储、检索和管理关联数组的数据存储范例,关联数组是一种现在通常称为词库或哈希表的数据结构。同义词库由一组对象或记录组成,这些对象或记录又包含许多不同的字段,每个字段都包含数据。这些对象使用唯一标识记录的键进行存储和检索,并用于快速查找数据库中的数据。面向文档的数据库或文档存储是用于存储、检索和管理面向文档的信息(也称为半结构化数据)的存储。仅举几例:AmazonDynamoDB、GoogleCloudDatastore和IBMCloudantNoSQLDB。此前,亚马逊宣布推出DynamoDBon-demand,以按需付费的模式为DynamoDB提供按需读写容量选项。这种无服务器键值和文档存储有多种用途,一个简单的用例是使用无服务器函数处理联系我们表单。无服务器时间序列数据库时间序列数据库(TSDB)是一种针对处理时间序列数据而优化的软件系统,时间序列数据是按时间(日期时间或日期时间范围)索引的数字数组。时间序列数据具有特定的特征,例如通常按时间顺序到达,数据是仅追加的,查询总是在一个时间间隔内。虽然关系数据库可以存储这些数据,但它们处理这些数据的效率很低,因为它们缺乏优化,例如按时间间隔存储和检索数据。无服务器时间序列数据库的一个例子是最近发布的AmazonTimestream,这是一个专用的时间序列数据库,可以按时间间隔高效地存储和处理记录。来源-https://aws.amazon.com/timestream/无服务器图形数据库非常简单。图数据库(GraphDatabase)的设计将数据之间的关系视为与数据本身同等重要。它不保存数据会将其限制为预定义模型。取而代之的是,数据像绘制一样存储-显示每个实体如何与其他实体连接或相关。FaunaDB是一个无服务器图形数据库,它是一个通用的、事务性的、时态的、地理分布的、强一致的关系数据库。FaunaDB还支持文档存储和时序数据库功能。展望未来,还缺少什么?无服务器内存数据存储/缓存无服务器存储中尚不可用的存储类型之一是内存数据存储。我们目前的缓存选项之一是在API网关上缓存。AmazonDynamoDB具有个位数毫秒的延迟,如果您需要稍微减少延迟,即使您尚未完全无服务器,也可以使用DynamoDB加速器(DAX)。此外,AWSElastiCache提供Redis和Memcached,但它们尚未作为完全托管的服务提供。此外,GoogleAppEngine提供了Memcache作为内存缓存服务,但只能在AppEngine自身中访问。结论随着IT行业无服务器计算的增长和高度采用,无服务器存储正在迅速增长。我们希望这些服务能够不断优化和完善,帮助开发者实现真正的Serverless应用开发。原文出处:Medium作者:RajindRuparathna原文链接:https://medium.com/@rajindruparathna/what-makes-a-storage-service-truly-serverless-93987826039e