加入收藏 | 设为首页 | 会员中心 | 我要投稿 青岛站长网 (https://www.0532zz.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长资讯 > 外闻 > 正文

SQL数据库的6种技术挑战

发布时间:2021-05-02 14:54:30 所属栏目:外闻 来源:互联网
导读:定是找到一个我们可以用作YugaByte DB架构灵感的数据库。我们密切关注两个系统,Amazon Aurora和Google Spanner。 Amazon Aurora是一个提供高可用性的SQL数据库。它具有与流行的RDBMS数据库(如MySQL和PostgreSQL)的兼容性,使其易于入门并可运行各种应用程

定是找到一个我们可以用作YugaByte DB架构灵感的数据库。我们密切关注两个系统,Amazon Aurora和Google Spanner。

Amazon Aurora是一个提供高可用性的SQL数据库。它具有与流行的RDBMS数据库(如MySQL和PostgreSQL)的兼容性,使其易于入门并可运行各种应用程序。Amazon Aurora也是AWS历史上发展最快的服务之一。

Amazon Aurora服务与MySQL和PostgreSQL兼容,是AWS历史上发展最快的服务。

Amazon Aurora具有可扩展的数据存储层,但查询层不是这样。以下是我们发现的Amazon Aurora的一些关键可扩展性限制:

  • 写入不是水平可伸缩的。扩展写入吞吐量的唯一方法是垂直扩展处理所有写入的节点(称为主节点)。这种扩展方案只是到目前为止,因此数据库能处理多少写入IOPS存在固有的限制。
  • 写入不是全局一致的。许多现代的云原生应用程序本质上是全局性的,需要跨多个区域部署底层数据库。但是,Aurora仅支持多主机部署,在发生冲突时***一个写入程序(具有***时间戳)获胜。这可能导致不一致。
  • 通过使用牺牲一致性的从属副本以获得读取的伸缩扩展。为了扩展读取,应用程序需要连接到从属节点才能实现读取。当使用这些从属节点实现读取时,应用程序需要面对降级的一致性语义,以及一个单独的连接端点。这使得应用程序架构非常复杂。

另外,Google Spanner是一个可水平扩展的SQL数据库,专为大规模可扩展和地理分布式应用程序而构建。

Cloud Spanner是唯一为云构建的企业级、全局分布且高度一致的数据库服务,专门用于将关系数据库结构的优势与非关系水平扩展相结合。

这意味着Spanner可以无缝扩展读写,支持需要全局一致性的地理分布式应用程序,并在不牺牲正确性的情况下从多个节点执行读取。

但是,它放弃了RDBMS数据库提供给开发人员期望的许多熟悉功能集。例如,Google Spanner文档中突出显示了不支持外键约束或触发器的事实。

我们决定采用混合方法。

  • YugaByte DB的核心存储架构受到Google Spanner的启发,该架构专为水平可扩展性和地理分布式应用程序而构建。
  • YugaByte DB保留了与Amazon Aurora类似的PostgreSQL兼容查询层,它可以支持丰富的功能集,并支持最广泛的用例。

2. SQL协议:PostgreSQL还是MySQL?

我们想要对广泛采用的SQL方言进行标准化。我们还希望它是开源的,并且在数据库周围拥有成熟的生态系统。权衡的自然选择是PostgreSQL和MySQL?

我们之所以选择PostgreSQL(而不是MySQL),原因如下:

  • PostgreSQL有一个更宽松的许可证,更符合YugaByte DB的开源精神。
  • 与任何其他SQL数据库相比,PostgreSQL在过去几年中的流行度一直在飙升,这绝对没有受到影响!

在目前排在DB-Engines排名网站前10位的五个SQL数据库中,自2014年以来,只有PostgreSQL的受欢迎程度越来越高,而其他数据库则趋于平稳或正在失去理智。

此外,对于许多应用程序,PostgreSQL是Oracle的***替代品。组织正在被PostgreSQL所吸引,因为它是开源的,供应商中立(MySQL由Oracle拥有),拥有一个参与的开发者社区,一个繁荣的供应商生态系统,一个强大的功能集,以及一个成熟的代码库,一直在战斗 - 经过20多年的严格使用而坚固。

(编辑:青岛站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读