Martin
by Martin Kysel

真的是什么意思?

世界正在迁移到云,各种后单片SQL数据库正在出现。 “Newsql”一词被2011年由451名研究分析师Matt Aslett创造,并于2016年Aslett和Carnegie Mellon大学Andrew Pavlo发布了一份标题的文件,“newsql真的很新,“将NewsQL描述为”希望从2000年代实现与NoSQL DBMSS的相同可扩展性“的新类数据库管理系统,但仍然将关系模型(具有SQL)和事务支持与1970 - 80年代的传统DBMS保持。 “ Nuodb成立于2010年,基于这个想法,并以来一直是分布式关系数据库空间中的重要参与者。有一段时间,这个概念被称为“可扩展的SQL”,我们还看到了“弹性SQL”的参考。最近,我们已经看到了一个新的术语出现:“分布式SQL。” 

让我解释为什么所有这些术语都引用基本相同的事情,尽管不同数据库在保持一致性的同时实现可扩展性的方式变化。随着越来越多的公司开始提供没有停机的SaaS产品,出现了一种痛苦的模式:

  • 单片数据库无法提供现代始终可用的应用程序所需的弹性和高可用性保证。 
  • 缩放不再可行。机器足够大以运行这些类型的工作量变得太贵,太快了。
  • NoSQL对需要强大交易和酸保证的应用不太适合。
  • 明确的分片太复杂,从最重要的事情转移了工程资源:业务。

我们已经看到了技术来并走了,但与云转移与云的转变相同的四个基本动机保持不变。 Nuodb自开始以来一直在这里,我们继续帮助我们的客户缓解这些痛苦。

管理一致性& Isolation

在确保我们的数据库将满足您的客户,我们的客户和客户所需的需求,我们已经考虑了如何管理一致性和隔离以及我们提供的隔离选项。我们的工程团队探讨实施可序列化的隔离级别,但决定对客户的性能影响是不可接受的。可序列化隔离对OLTP应用没有有用,并且在行业中没有广泛。

作为孤立级别的序列化是一个非常有用的学术概念,但我们支持的实际OLTP应用程序使用一致的读取(在某些文献中称为可重复读取)或主要读取提交。大多数知名企业数据库选择读取提交的默认值。甚至MySQL也是使用可重复读取为默认的最大数据库,需要配置更改以使用可序列化隔离级别。 

在另一个开源数据库之外的薄片层(例如PostgreSQL或MySQL)的解决方案通常使用所述数据库的底层隔离级别。这两个数据库都不是默认提供可序列化的隔离。由于序列化是一个利基特征,Nuodb决定专注于将性能推向极限,同时保持交易和酸保证。

专注于性能

这种关注性能已经回报了。 Nuodb和Temenos最近报告了核心银行金融交易的世界纪录突破性基准。这 基准 在AWS中展示了在诺福德上运行的一定例子中处理世界金融交易的一半的能力。在基准期间,Temenos和Nuodb都能够扩展以满足越来越大的负载,然后动态缩小,表明金融客户可以仅使用所需的资源来减少TCO。

处理容错宽度&高可用性要求

NuodB是一个强烈一致的数据库,使用用户定义的副本集之间的复制。我们建议复制因子为两到四个,具体取决于用例和部署拓扑。通常,没有某种形式的复制,系统不能是宽容和高度可用的。默认情况下,Nuodb允许在没有明确分级的情况下创建数据库,因为我们的客户在追求数字转型目标并进入云中的过程中已经经历了很多痛苦。如果需要,可以明确分析Nuodb以提高性能,但后来更多。 NuodB提供横向缩放和高可用的数据库,而无需采用NoSQL用于事务应用或需要分片的额外复杂性。这些分布式的SQL解决方案使公司能够专注于最重要的事情:他们的业务。 

适应性缩放选项

Nuodb拥有一个双层交易引擎(TES)和存储管理器(SMS),以允许您对您的特定需求进行微调。 TES作为数据缓存的形式,它动态地适应在该TE上执行的查询。不需要复杂,显式或手动分片。 TES可以动态扩展或以解决应用需求的变化。另一方面,SMS将其存储组的所有数据存储在磁盘上并保证耐用性。用户可以决定有多少SMS应该服务于哪些存储组,因此决定复制因子和可用性与持久性保证其系统所需的保证。存储组还允许用户在SMS上分区数据,提高IO吞吐量。

我们的第三层,负责数据库的行政职责,多年来已经简化了。这包括删除以前称为“经纪人”的内容基于筏 adminier. 。分布式系统的管理非常复杂,我们提供了一种隐藏管理API后面的复杂性的方法。该系统在裸机和kubernetes等编排平台中同样工作。

在多云,多群集环境中部署 

随着越来越多的公司进入云的旅程,Nuodb在这里指导他们并帮助他们拥抱始终可用的心态。在圣地亚哥的库邦顿2019年,我们展示了一个 多云,多集群部署 在rancher kubernetes发动机。这种独特的功能允许您跨多个公共或私有云部署单个逻辑数据库。香港金融电气领导人威尔布致力于彻底改变香港客户的银行经验。 (保持调整以了解有关它如何运作的更多信息以及为什么公司在其目标中避免云供应商锁定的重要一步。) 

为了促进在混合环境中和多个云中部署的灵活性,我们的数据库必须在您选择的云服务提供商(CSP)上完全运行。这是Nuodb是云无关的关键部分;为了实现选择和灵活性,我们的分布式SQL数据库在所有可用的公共云,私有云和混合云环境中运行。我们的持续集成管道测试并验证亚马逊,Azure和Google云平台的产品。我们还与AKS,EKS,GKE和牧场主合作。当然不是每个人都使用我们使用CSP或Kubernetes,因此我们还在裸露的金属和任何主要的VM基础架构上工作。不需要在公共云中进行部署,您可以轻松地在私人本质上部部署Nuodb,并在您的私人本土云中进行部署,这使您可以选择部署,在哪里以及所需的方式。

提供可扩展,弹性的SQL数据库

基于Jim Starkey的观点,Nuodb背后的概念已经存在于2008年,传统的SQL数据库不会超越单个系统。在术语新闻课程上创造之前,这很好。在2020年,我们有12年的经验,建立一个有弹性和符合酸的数据库。随着云计算采用加速,我们的重点不需要改变。我们已经构建了一个数据库,它自一天以来在分布式部署环境中蓬勃发展。当然,随着技术的发展,我们不断地工作,以确保Nuodb是云本机,适用于微服务,容器和容器编排平台。当他们仍然是一个竞争选择时,我们探索了Docker Swarm和Mesos,但决定一旦成为领先的球员,纯粹就纯于Kubernetes。我们支持 Kubernetes Helm图表 并且也积极努力 Kubernetes运营商,目前可用的 社区版本,免费提供您选择的Kubernetes市场。

许多其他NewsQL解决方案拍摄了快捷方式,只需使用其他开源产品的SQL层和存储引擎。这些是从根本上有限的,他们可以增长多远以及如何优化它们。 Nuodb一直在努力完成12年的SQL和存储解决方案,这对我们在云中运行的特定架构进行了高度优化。我们的SQL发动机不受第三方上游产品的限制,几乎具有无限的增长潜力,使我们能够适应我们所处的动态和不断变化的环境。

自从我们七年前的1.0发布以来,诺博德已经走了很长的路。我们在生产中遭到了战斗,我们为从那时起的成就感到自豪。我们相信我们的多层SM / TE架构,适用于客户所需的各种工作负载。我们相信我们的缓存机制,允许TES仅访问数据的子集,动态地调整其当前的工作负载,而无需手动将其数据和工作负载分析。我们相信我们的使命,使使用分布式SQL更轻松,并在从单片数据库进入云中的旅程中为您提供支持。我们认为任何现代数据库的一个重要特征是它必须始终升级并始终可用。在我们的建筑和日常发展中,对失败的恢复力是一个基本的设计原则。该声明还验证了我们已经观察的内容:NOODB的核心是正确的,非常适合转向云。这意味着我们有一个令人难以置信的头部,以验证的解决方案开头。