导读:文本介绍了矩阵起源技术副总裁秦姝琦对MatrixOne设计和研发过程中的思考与总结。矩阵起源是一家数据智能领域的创新企业,MatrixOne是矩阵起源研发的超融合异构云原生数据库。
从HTAP到HSTAP
从 2005 年被 Gartner 首次提出以来,HTAP 已经历经数十年的发展期。
HTAP 数据库能够同时支撑业务系统和在离线数据分析系统运行,避免在传统架构中,在线与离线数据库之间大量的数据交互,对简化企业的数据系统的复杂度将起到至关重要的作用;但是,用户在 AP 场景和 TP 场景负载模型差异很大,对数据库的诉求也完全不同。
如何通过技术手段来平衡他们之间的矛盾成为了 HTAP 数据库的核心问题。在超融合趋势的推动之下,HSTAP 的概念呼之欲出,多出来的“S”格外让人好奇。对此,矩阵起源技术副总裁秦姝琦分享了她对HSTAP 的思考。
秦姝琦先拿一个典型的融合型场景为例,一款股票 APP 本身是交易系统,所以它需要一个 OLTP 数据库做支撑,但是用户又希望其提供股市的预测和分析,这里自然就出现了对 OLAP 系统的需求,即在做大规模交易的同时,还需要基于交易数据和用户行为数据进行分析建模。
要想解决上述问题,常规的技术方案是怎样的呢?如下图所示,企业需要用到非常多的中间件来搭建一个复杂的数据系统,其中包括 OLTP 数据库、OLAP 数据库,消息队列、流引擎、ETL 工具等等,这样一来,会导致系统变得非常复杂,难以保证稳定性;其次,数据流转的链路也变得很长,实时性无法保证,数据血缘管理难度很大,这种基于“缝合”方式搭建的系统,在稳定性、实时性以及运维管理成本和开发成本上存在很多痛点。为了让企业只用一款数据库,就能把最基础的业务中台和数据中台以最低的成本建设好,矩阵起源对 HTAP 进行了重新定义,融入了串联 AP 和 TP 的 Streaming 能力。因此,在秦姝琦看来,HSTAP 的出现便是为了简化数据系统的复杂性,提供极简的用户体验,降低数据使用的难度,让企业可以将精力从繁杂的技术细节中释放出来,专注于数据价值的挖掘,最终达到降本增效的目标。
MatrixOne 的架构设计
秦姝琦提到,用户对于 TP 和 AP 数据库系统的需求基本可以归纳为以下五点:ACID,并发性能,吞吐,成本和数据新鲜度。HSTAP 数据库若想兼容以上能力,实现起来却没那么容易,由于高并发、短时延的 OLTP 负载与带宽密集型、高时延的 OLAP 负载的访问模式不同且它们互相干扰,把他们融合到一个系统里存在很多的冲突点。
谈及如何平衡上述矛盾,秦姝琦以通信领域中两个耳熟能详的概念为例:频分复用和时分复用,即当突破资源粒度划分得足够小,资源隔离做得足够好,调度能力足够强时,就可以把一些看似矛盾的功能平衡起来。“因此,在设计 HSTAP 数据库时,我们不会追求以上提到的五点在同一时间都做到 100 分,而是基于统一存储引擎,对象存储,自适应计算优化,计算存储独立扩缩容,全局的资源调度和资源隔离策略动态平衡这五个看似矛盾的特性,来适应不同的负载场景需求。”
基于这样的设计理念,MatrixOne 引擎的顶层设计架构,可以大致分为三层:计算层、分布式事务层和共享存储层。
其中,计算层是由多组计算资源组成的,其中计算单元我们称之为 CN,每个 CN 可以承担不同的任务,但无论 CN 用于何种用途它本身是不保存任何状态的,以保证计算层是可以任意扩缩容的;再往下面一层是 Transaction Layer,这一层承担了分布式事务处理的相关工作。分布式事务层选择了 share-nothing 的模式,由于每个 DN 之间需要处理的数据范围各不相关,这样做的好处在于,每个 DN 只需要负责自己这部分数据的冲突检测,从设计上简化了 DN 的实现复杂度和扩缩容的难度;再往下是两个服务,一个是 Log service,为 DN 提供高性能的分布式高可用的日志读写服务,它直接决定事务写性能的关键;另外一个是共享存储,这里不仅支持 S3 这类对象存储,还支持 NFS 以及 HDFS。
此外,为了让 MatrixOne 在云上和私有化场景能够保持统一的架构和接口,还在底层架构中抽象了一层 fileservice 接口,它会将底层不同的共享存储实现细节屏蔽掉。比如,在云上选择S3作为底层共享存储,那么在私有化场景不一定有 S3,客户如果能提供 HDFS 集群,就可以通过 fileservice 在保持引擎接口一致的前提下,支持多种的共享存储。
除此之外,MatrixOneGA版本将会有一个重要的特性——实现了Streaming的方案,即HSTAP中的“S”。秦姝琦坦言,目前的 Streaming 还处于早期阶段,团队关注的核心问题还是 framework 的设计、有界数据和无界数据的处理以及增量计算的优化等等。
MO Cloud 的打造
秦姝琦表示,为了给用户带来简单、易用的最终体验,MatrixOne 也计划上线全托管 MatrixOne 服务 MO Cloud,目前已经处于开发阶段,目标支持多个国内外公有云如 AWS、GCP、华为云、阿里云等,其具备的主要特点是 SaaS 化的使用体验,免部署、自动化运维、按量计费、成本低。
秦姝琦主要为我们介绍了 MOCloud 在资源隔离方面的实现进展。在数据的可见性上,MOCloud 可以保证逻辑上的隔离,一个 Session 只能看到这个租户权限范围内的数据,在资源隔离上,还计划用 Proxy+rule engine+CN 来完成一个全局的流控和资源调度,CN 支持独占 Set 来满足更多元化的要求。此外,针对大家关注的安全问题,MOCloud 也会保证持久化的数据是加密的,未来将支持“ bring your own key”的模式,支持租户维度的数据加密。
未来发展方向
秦姝琦透露,在生态对接方面,MatirxOne 将在明年陆续在开源项目上开展对接,计划针对制造业、能源、新兴互联网等行业,制定相应的解决方案。与此同时,她还介绍了 MatirxOne 在未来的产品规划。预计在明年,MatirxOne 将会推出第一个 GA 版本,接下来还将继续融入流的能力,力争通过一个 HSTAP 数据库满足通用场景的需求。虽然实现起来还需要一定的开发周期,但我们也很乐于看到,未来有更多的数据库厂商能够通过创新的架构实践、极简的设计理念,来不断降低企业使用数据系统的复杂度和门槛。
免责声明:市场有风险,选择需谨慎!此文仅供参考,不作买卖依据。
责任编辑:kj005
文章投诉热线:156 0057 2229 投诉邮箱:29132 36@qq.com