ASP站长网云计算的基本原则是采用一次性和可更换的多台机器,这对采用云计算技术以及在云中实施的数据库系统的功能有直接影响。
 
传统数据库大致可以分为并行优先(例如MongoDB或Teradata)或单存储系统优先(例如PostgreSQL或MySQL)。这两个类别都有其核心设计固有的局限性。这些限制的程度部分是成熟度的函数。但是,对于某些核心架构决策来说,可能无法有效支持特定功能。
 
例如,Greenplum有序列,但Redshift没有,尽管这两者都是PostgreSQL的衍生物。而BigQuery没有序列,但Teradata有序列,尽管在传统意义上它们并不是真正的序列。
 
云数据库属于相同的类别,而新系统明显倾向于并行优先。云计算系统的基本属性是机器的可扩展性和可替换性的并行性。
 
 
在单系统优先类别中,云计算实例化往往侧重于传统单机产品的管理成本、升级和可靠性(RPO/RTO),例如Heroku PostgreSQL、Amazon Aurora(PostgreSQL/MySQL)、Google cloud SQL(PostgreSQL/MySQL)和Azure SQL(SQL Server)。
 
在并行优先类别中,实际上有两个子类别:SQL/关系类别(BigQuery、Snowflake、Redshift、Spark、AzureSynapse)和DHT/NoSQL(BigTable、Dynamo、Cassandra、Redis)类别。这种区别与是否存在类似SQL的语言关系不大,而与系统中数据的物理布局是否经过调整以便通过散列快速查找键进行单行访问,或者使用排序合并和筛选操作进行批量访问有关。
 
并行优先关系数据库通常依赖于一个或多个原生云存储系统。这些存储系统总是并行优先构建,并公开一个非常有限的get-object/put-object API,它通常允许对数据进行分区,但不允许高性能随机访问。这限制了数据库实现高级持久数据结构(例如索引),在许多情况下,还限制了可变数据的能力。
 
因此,使用原生存储的云计算实现往往依赖于微分区的顺序读写而不是索引。根据对象名称,存储级对象往往只有一条物理访问路径。索引必须在底层存储的外部实现,即使这样做了,底层云存储API也可能使在存储级别对象中实际使用地址或字节偏移量变得困难。
 
云计算的优点
(1) 云平台是为用户管理的基础设施。
 
在云中,部署、可靠性和管理是用户关注的问题。从电源、软件安装和硬件到操作系统管理和安全(从加固到入侵检测)的堆栈的所有层都由云计算供应商管理。
 
云计算供应商免费试用产品的便利性可以帮助用户启动并运行初始实验,然后在需要时扩展到大规模,这在传统的内部部署系统中是困难的。
 
另一个好处是云计算供应商提供了许多标准化流程来与第三方SaaS产品集成。其结果是云计算供应商让基础设施成为别人的问题,因此用户可以专注于其核心业务。
 
(2) 效率。
 
云计算可以最大化资源利用率。与非云系统相比,云计算系统向数据库应用程序公开资源利用控制要常见得多。云计算技术可以平滑负载,将其移动到低需求的时间段,并且可以优先考虑交互式和关键业务作业。
 
当然,云计算供应商可以利用大规模采购的效率、负载共享和极高的利用率。仅这些规模参数就可以成为迁移到云平台的理由。更不用说使用供应商的专业知识进行强化和入侵检测的好处了。
 
与规模密切相关的是云计算供应商能够以低廉的价格提供被动存储,这使得无论是出于实验或分析原因,还是出于备份或审计,更容易保留更长的历史数据窗口,并且更加经济高效地实施时间旅行等功能,可以从历史角度检查数据。
 
当然,繁重的数据处理负载可以通过使用云计算供应商的规模临时向外扩展来解决,当然用户会为此付出代价。
 
(3) 经济性。
 
除了规模和效率的经济性之外,云计算供应商的会计机制倾向于将存储和处理的成本数据暴露到单个查询级别。这允许用户对任何给定分析的成本收益做出合理的商业决策,并相应地做出优化决策。事实上,有时用户可能会决定通过扩展云计算规模来扩大和简化分析的结构,而不是花费时间和精力来塑造一个“稳健的分析”,这可能更便宜、更准确。

dawei

【声明】:九江站长网内容转载自互联网,其相关言论仅代表作者个人观点绝非权威,不代表本站立场。如您发现内容存在版权问题,请提交相关链接至邮箱:bqsm@foxmail.com,我们将及时予以处理。