AiSQL特性在特定业务场景下的应用

这篇具有很好参考价值的文章主要介绍了AiSQL特性在特定业务场景下的应用。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

    AiSQL是贝格迈思根据当前大数据时代的需求开发的新一代高性能分布式数据库。与传统数据库不同,AiSQL采用异构计算平台,通过分布式的架构设计来实现高性能和高可用。AiSQL作为一个分布式数据库系统,采用分布式架构设计、动态扩缩容机制、负载均衡策略、存储引擎优化设计、缓存设计、高性能事务处理设计,具有很强的容量和性能,支持海量数据的高并发处理与访问,能够满足许多企业对于可靠和高效的数据存储与处理能力的需求。在本文中,我们结合具体的业务场景来阐述AiSQL以下特性:追随者读取、读副本、xDCR、变更数据捕获、数据行级别地理分区。

    一、追随者读取

    现在业务系统需要处理的数据量越来越庞大,对后端的数据库性能要求越来越高。在金融、保险、电商等行业来说,业务系统一方面要进行海量的OLTP交易处理,另一方面还要处理占比很高的日常查询业务,比如在处理完基金份额的购买交易后,需要提供客户的基金份额持仓情况查询;处理完成银行账户资金转账交易后,需要提供客户的账户余额查询等。这些交易后的查询占比很高,与交易处理一起集中交给后端的数据库服务器,会给数据库服务器带来很大的压力。

AiSQL是分布式数据库,数据会自动进行哈希或范围分片,每个分片称为Tile,所有的Tile都有相应的副本,这些副本有1个Leader和数个Follower(具体数量由复制因子设置)组成,所有的Follower根据RAFT协议自动从Leader同步数据。默认情况下,所有的前端发来的SQL语句都由Leader负责,提供读写服务;Follower不对外提供服务,主要是在Leader失效的情况下,根据RAFT协议,在Follower中选举新的Leader,以保证数据库的高可用。

AiSQL特性在特定业务场景下的应用,数据库,分布式

图1 默认只有Tile Leader对外提供SQL服务

    为了缓解Tile Leader所在数据库服务器的压力,AiSQL提供追随者读取的特性:客户端将交易环节的SQL交由Tile Leader处理,日常查询交由Tile Follower处理,这样平滑的平衡了各个节点的工作负载,提高整体处理性能。Tile Follower可能无法完全更新所有更新,因此此设计可能会使用陈旧的数据进行响应,可以指定应用程序可以容忍的陈旧程度。启用后,只读操作可以由Follower处理,而不必转到Leader。

AiSQL特性在特定业务场景下的应用,数据库,分布式

图2 启用追随者读取后工作负载

    二、读副本

    上文所述的特性是在节点级别实现的,当出现更大量级别的集中查询业务时可以使用AiSQL的读副本特性,这个特性是在集群级别实现的。比如说某集团公司业务当前集中在华南地区。为了响应国家一路一带业务,需要在西北地区开拓市场,根据市场营销策略预测,集团的客户管理系统、销售管理系统会在西北地区面临相当大的查询业务,目前的系统部署在华南地区,部署架构不足以支撑新开拓业务需求。AiSQL提供读副本特性:在集群级别提供只读副本,对外提供查询业务,缓解主集群的压力。因此,在不需要变动现有架构的基础上,仅需要在西北地区新增一套读副本集群就能满足需求。

在 AiSQL中,部署读副本集群将数据异步复制到不同区域。主集群节点之间的数据复制同步运行并保证强一致性。读副本集群从主集群异步复制数据并保证时间线一致性(具有有限的过时性)。同步复制的主集群可以接受对系统的写入,读副本集群为应用程序在远程区域就近提供低延迟读取服务,改善用户使用体验。读副本集群部署不会增加主集群写入延迟,因为写入不会同步将数据复制到读副本集群。相反,数据会异步复制到读副本集群。而且应用程序可以向读副本集群发送写入请求,但这些写入请求在内部重定向到主机群对应的Tile leader,应用程序不需要做变动,这极大的简化了代码开发、部署、运维工作。

AiSQL特性在特定业务场景下的应用,数据库,分布式

图3 部署读副本集群就近为客户提供查询服务

    三、xDCR

    上文读副本特性数据只能由主集群单向向读副本集群异步传输,指向读副本集群的写入操作会在AiSQL内部重定向到主集群。如果需要在2个集群之间双向传输数据,可以使用AiSQL的xDCR功能。

    跨集群(xDCR)部署提供跨两个数据中心或云区域的异步复制。使用xDCR部署,可以在两个集群(也就是数据中心)之间使用双向异步复制。它是在后台完成的,不会造成写入延迟。

    xDCR也可以为灾难恢复部署,来实现数据中心级别的高可用。

AiSQL特性在特定业务场景下的应用,数据库,分布式

图4 部署xDCR实现2个集群双向复制数据

    四、变更数据捕捉

    上文的追随者读取、读副本、xDCR都是在AiSQL数据库之间实现数据传输,属于同构数据库之间的数据传输。如果客户的现有系统并不是AiSQL,而新开发的业务系统使用AiSQL,而且需要在新旧数据库之间同步数据,也就是异构数据库之间的数据传输,这如何来实现呢?

    在这种业务场景下可以使用AiSQL的变更数据捕捉特性。在AiSQL数据库中,变更数据捕获是一组软件设计模式,用于确定和跟踪已更改的数据,以便可以使用更改的数据采取操作。AiSQL捕获对数据库中数据所做的更改,并将这些更改流式传输到外部进程、应用程序或其他数据库。变更数据捕获允许根据预写日志 (WAL) 跟踪AiSQL数据库中的更改并将其传播给下游使用者。可以捕获每个行级插入、更新和删除操作生成一个更改事件,并在单独的 Kafka 主题中发送每个表的更改事件记录。客户端应用程序读取与感兴趣的数据库表相对应的 Kafka 主题,并可以对从这些主题接收到的每个行级事件做出反应。

    这种异构数据库之间的数据是双向的,可以从其他数据库(包括Oracle、MySQL、PostgreSQL、Redis等)传输数据到AiSQL,如图5,也可以从AiSQL传输数据到其他数据库,如图6。

AiSQL特性在特定业务场景下的应用,数据库,分布式

图5

AiSQL特性在特定业务场景下的应用,数据库,分布式

图6

    五、数据行级别地理分区

    前文所述的特性针对数据传输的颗粒度较粗,基本上是节点、集群级别,有没有更细粒度的特性?

    下面介绍AiSQL的数据行级别地理分布特性,行级地理分区允许对用户表中的数据(每行级)固定到地理位置进行细粒度控制,从而允许在表行级管理数据驻留。实现业务数据就近低延迟部署、事务一致性、跨区域透明模式传输数据等特性。

    地理分区允许将数据移至更靠近用户的位置,具有以下特点:

    1.实现更低的延迟和更高的性能

    2.满足数据驻留要求,将数据固定到区域以实现合规性,比如各国政府都要求本国客户数据必须保存在所在国。

    具体是通过两个步骤完成的:

    1.将表划分为用户定义的表分区。

    2.通过为每个分区配置元数据,将这些分区固定到所需的地理位置。

    比如某跨国集团的业务分布在中国、英国、加拿大,因业务需求需要存储客户必要的信息,相关国家都不允许将本国客户信息存储在国外。在这种情况下,可以使用AiSQL的数据行级别地理分区,实现同一个业务表的数据自动存储在合规的地理位置:中国客户的信息存储在中国,英国客户的信息存储在英国,加拿大客户的信息存储在加拿大。

AiSQL特性在特定业务场景下的应用,数据库,分布式

图7

    综上所述,AiSQL具有追随者读取、读副本、xDCR、变更数据捕获、数据行级别地理分区特性,追随者读取提供节点级读取服务,读副本提供集群级读取服务,xDCR提供双向集群级读写服务,变更数据捕获提供异构数据库之间数据传输服务,数据行级别地理分区提供行级别的细粒度数据驻留服务,来满足各种业务场景。文章来源地址https://www.toymoban.com/news/detail-841835.html

到了这里,关于AiSQL特性在特定业务场景下的应用的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 设计模式之并发特定场景下的设计模式 Two-phase Termination(两阶段终止)模式

    在线程1中如何终止线程2? stop()?还是System.exit()?还是其他方式 1.使用stop()不可取 线程对象的stop()方法会直接杀死线程,假设此时使用了线程锁,当此时使用了stop()命令会导致线程锁无法释放,以至于程序出现严重的问题,其中最常见的是死锁。还可能导致资源泄露,因为

    2024年01月21日
    浏览(30)
  • iOS16新特性 | 灵动岛适配开发与到家业务场景结合的探索实践

    作者:京东零售 姜海 灵动岛是苹果在iPhone 14 Pro和iPhone 14 Pro Max上首次提出的全新UI交互形式,创新性的让虚拟软件和硬件的交互变得更为流畅。当有来电、短信等通知时,灵动岛会变化形态,以便让用户能够更直观地接收到这些信息。 而在用户使用一些应用App,比如音乐,

    2023年04月12日
    浏览(26)
  • Apache Doris 数据库有哪些应用场景?

    首先声明,本人无意叛变,依然是ClickHouse的忠实信徒。 对于Doris,一直听圈内的人在说,吹得神乎其神,但到底有多强,从来没有真正的去尝试一把。 直到这次,被人狠狠上了一课。 在一次全文检索的模糊查询的场景PK中,ClickHouse一败涂地,让本人很是没面子,咳咳,大哥

    2024年01月22日
    浏览(39)
  • 主流的 NoSQL 数据库 应用场景 优缺点

    主流的 NoSQL 数据库包括 MongoDB、Cassandra、Redis 和 Couchbase 等,它们在不同的应用场景下具有各自的优势和局限性。 应用场景 :适用于需要灵活的数据模型和丰富的查询能力的场景,如内容管理系统、实时分析等。 优点 :灵活的数据模型,支持复杂的数据结构和查询。水平扩

    2024年01月25日
    浏览(42)
  • B-树和B+树的特性,以及B+树在数据库中的应用

    前面我们已经学习了二叉查找树、2-3树以及它的实现红黑树。2-3树中,一个结点做多能有两个key,它的实现红黑树中使用对链接染色的方式去表达这两个key。接下来我们学习另外一种树型结构B树,这种数据结构中,一个结点允许多于两个key的存在。 B树是一种树状数据结构,

    2024年02月02日
    浏览(37)
  • OLAP型数据库 ClickHouse的简介 应用场景 优势 不足

    ClickHouse 是一个开源的分布式列式数据库管理系统 (DBMS),专门用于在线分析处理 (OLAP)。它最初由 Yandex 开发,并且在处理大规模数据分析和实时查询方面表现出色。以下是关于 ClickHouse 的简介、应用场景、优势和不足的概述: ClickHouse 是一个高性能的列式数据库管理系统,专

    2024年02月02日
    浏览(42)
  • 【图形数据库】Neo4j简介及应用场景

    Neo4j是一个高性能的NOSQL图形数据库,它将结构化数据存储在网络上而不是表中。它是一个嵌入式的、基于磁盘的、具备完全的事务特性的Java持久化引擎,但是它将结构化数据存储在网络(从数学角度叫做图)上而不是表中。Neo4j也可以被看作是一个高性能的图引擎,该引擎具

    2024年02月08日
    浏览(35)
  • Spring Boot应用中如何动态指定数据库,实现不同用户不同数据库的场景

    当在 Spring Boot 应用程序中使用Spring Data JPA 进行数据库操作时,配置Schema名称是一种常见的做法。然而,在某些情况下,模式名称需要是动态的,可能会在应用程序运行时发生变化。比如:需要做数据隔离的SaaS应用。 所以,这篇博文将帮助您解决了在 Spring Boot 应用程序中如

    2024年04月26日
    浏览(31)
  • 图数据库 之 Neo4j - 应用场景1 - 欺诈检测(6)

    Neo4j是一种图数据库,它专注于处理关系数据密集型的问题。由于其图结构的特性,Neo4j能够高效地存储、查询和分析连接数据。 以下是一些常见的Neo4j应用场景: 社交网络分析:通过建模和分析人际关系,可以揭示社交网络中的影响力、社区结构、信息传播等重要信息。 金

    2024年02月19日
    浏览(29)
  • 特定场景小众领域数据集之——焊缝质量检测数据集

    写这篇文章最大的初衷就是最近频繁的有很多人私信问我相关的数据集的问题,基本上都是从我前面的目标检测专栏里面的这篇文章过来的,感兴趣的话可以看下: 《轻量级模型YOLOv5-Lite基于自己的数据集【焊接质量检测】从零构建模型超详细教程》 保姆级的教程,小白即可

    2024年02月14日
    浏览(25)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包