YugabyteDB中最重要的9个新功能
YugabyteDB 2.13带来了物化视图、本地读取性能、区域本地备份等功能,扩展了数据库的地理分布能力。
YugabyteDB中丰富的部署和复制选项是任何开发人员或技术专家构建现代分布式云应用程序的必备条件。在地理分布环境中,性能、开发者友好性和合规性是企业必须在其数据层中设计的关键要求--避免仅仅因为应用程序被部署在云中就认为它们会神奇地存在的陷阱。
YugabyteDB 2.13是最新发布的版本,提供了对数据存储和访问位置的更好控制,这是现代应用程序在地理分布环境中的一个基本特征。原生功能使企业能够降低数据传输成本,提高性能,并确保符合监管要求。YugabyteDB的最新版本扩展了数据库的地理分布能力,增加了新的功能,提高了性能,增加了对备份的控制,并智能地利用本地数据进行读取。
今天,YugabyteDB分布式SQL数据库帮助数以千计的开发人员加速云原生的敏捷性,降低成本,并减少风险,而不会被厂商锁定。这使他们能够专注于业务增长,在复杂的数据基础设施管理上花费更少的时间。让我们来看看YugabyteDB最新版本中的九个关键功能。
区域本地数据和云中的备份
YugabyteDB在地理区域内分布和存储数据,以帮助企业遵守数据注册法规,如欧洲的GDPR。我们预计明年会有更多的法律管辖区通过类似的法律。这意味着现代数据库管理系统必须提供简单的本地功能,以协助组织满足新的和更新的合规要求。
YugabyteDB 2.13允许组织控制数据库备份的位置,明确地将其限制在特定的地理区域。基于创建表时定义的数据地域性,每个TServer只将文件写到与配置的区域相匹配的备份目的地。
除了满足这些数据本土化要求外,将数据保持在云区域内,通过避免跨区域的数据复制,降低了云数据传输成本。
为区域内的交易提供更好的性能
一个 "交易状态 "表跟踪交易的状态。从表面上看,这个表只是系统中的另一个分片表。然而,它不使用RocksDB,而是将其所有数据存储在内存中,由Raft WAL支持。
为了实现ACID事务中的A(原子性),在进行数据操作的同时,我们也使事务状态的变化成为原子性的。因为这个交易状态表是作为全局存储的,它可能成为地理分区数据的交易的瓶颈。
在YugabyteDB 2.13中,全局交易状态表被优化为来自不同地区的访问。由于交易状态表也是地理分区的,它消除了对远程区域的往返需求,并通过使相关元数据靠近用户来减少查询延迟。
YugabyteDB使用用户的表放置信息自动创建一个交易状态表。然而,你也可以手动创建一个交易状态表。要做到这一点,请使用创建交易状态命令,然后修改_table_placement_info,为新创建的交易状态表设置位置信息。
物化视图
物化视图是一个预先计算好的数据集,它来自于一个查询规范,并存储起来供以后使用。
因为数据是预先计算的,所以直接查询物化视图比针对视图的基表执行查询要快。物化视图还可以显著提高具有普通和重复查询特点的工作负载的性能。
在YugabyteDB 2.13中,当基表改变时,物化视图在后台重新计算。因此,基表的任何增量数据变化都会自动添加到物化视图中。物化视图返回新的数据,但是,如果基表的变化可能会使物化视图失效,那么数据会直接从基表读取。如果基表的变化不会使物化视图失效,那么其余的数据会从物化视图中读取,而只有变化会从基表中读取。
TPC-C性能更新
对于那些刚接触TPC-C的人来说,这是一个OLTP系统的基准测试工具,用于测量处理由真实世界的OLTP应用产生的交易时的性能。它的模型是一个企业,它有一个仓库,多个地区,以及这些仓库的库存,还有这些项目和订单。
当然,仓库的数量是关键的可配置参数,决定了运行基准的规模。增加仓库的数量会增加数据集的大小、并发客户端的数量和并发运行交易的数量。
使用YugabyteDB 2.13,数据库可以扩展到1.27M tpmC,有150,000个仓库,从而使效率得分达到99.29%。
变更数据捕获(CDC)
在YugabyteDB 2.13中引入的变更数据捕获(CDC),允许多个下游应用程序和服务消费Yugabyte数据库的连续和永不停止的变更流。流可以扩展到任何YugabyteDB集群,与它的规模无关。它们也尽可能地影响生产流量。
捕获的数据变化类型包括所有的行变化(即插入、更新、删除)。CDC还包括元数据变化,如使用DDL创建、修改或删除数据库对象、列和表。
每个 CDC 事件都是完全自我描述的。这意味着一个事件的键和值都包含一个带有实际信息的有效载荷,一个完全描述信息结构的模式,以及起源集群信息。
CDC是如何提供一致性语义的?下面是它在YugabyteDB 2.13中的实现方式:
- 每个平板电脑的有序交付保证:同一平板电脑中的行的所有变化都按其发生的顺序处理。
- 至少一次的交付:在导致消息丢失或需要太长时间才能恢复的故障情况下,消息重传以保证至少一次的交付。
- 变化流中没有空隙:在任何时候都可以保证,收到任何变化都意味着已经收到了某一行的所有旧变化。
简化的应用程序部署
通过YugabyteDB 2.13,开发人员可以获得完全自动化和集成的云原生开发工作流程。这些工作流程可以使用基于云的开发环境(如Gitpod和GitHub Codespaces)与YugabyteDB进行预配置。GitHub Codespaces和Gitpod工作空间都可以用预先配置的YugabyteDB集群提供一个即时的开发环境。
新的开发者工具
YugabyteDB 2.13提供对MyBatis和Dapper ORM(对象关系映射)工具的支持。这使得开发人员可以利用新的.NET和Java持久性框架,简化用YugabyteDB构建应用程序。
- MyBatis:MyBatis是一个一流的持久性框架,支持自定义SQL、存储过程和高级映射。MyBatis消除了几乎所有的JDBC代码和手动设置参数和检索结果。
- Dapper:Dapper是微软.NET平台的一个对象关系映射产品。它提供了一个框架,用于将面向对象的领域模型映射到传统的关系型数据库。它的目的是把开发人员从很大一部分与关系数据持久性有关的编程任务中解脱出来。
符合SOC 2类型1
Yugabyte已经成功地完成了系统和组织控制(SOC)2检查,符合美国注册会计师协会(AICPA)关于安全、可用性、处理完整性、保密性和隐私的信托服务标准。
具体来说,这一认证证实了Yugabyte致力于提供有关安全控制的详细信息和保证,因为它们与我们的SaaS系统有关。
安全伙伴关系
YugabyteDB 2.13包括通过Yugabyte的深度合作关系建立的增强的安全性和改进的可管理性能力。这些新的伙伴关系包括:
- HashiCorp Vault:在YugabyteDB中使用业界最受欢迎的Hashicorp Vault,享受一个集中的、与云无关的密钥管理系统(KMS),安全地访问秘密。
- Imperva云数据保护:利用开箱即用的支持,简化对YugabyteDB中数据的监控和跟踪,以便进行审计和漏洞检测。
YugabyteDB用于地理分布的工作负载
Yugabyte的使命是提供最适合开发者的分布式SQL数据库。YugabyteDB 2.13的发布现在可以通过在数据层卸载和自动化关键功能来简化编码。它通过提供简单的、互动的培训和更多的首选开发工具来改善开发者的体验。
世界上许多最大的财富500强公司,包括Kroger和通用汽车,都使用YugabyteDB进行数据库现代化、云原生应用和地理分布式工作负载。YugabyteDB 2.13中引入的改进使数据库能够更快地提供关键的业务成果,同时对外部和内部的变化作出更快速的反应。YugabyteDB通过消除传统数据库中的权衡,帮助企业成为真正的数据驱动。这意味着企业可以优先考虑创新和改善客户体验。