概述:
现实生活中包含很多复杂的多模态场景,例如在社交商务场景中,用户基本信息等一些基本信息适合存储在关系模型中; 需要频繁更新且结构简单的数据,如用户行为记录,适合存储在key-value模型中;如用户发表的博文这样一些文本数据,适合存储为文档模型;像社交网络这样极其复杂的关系将存储在图模型中。这些多样化的数据模型对多模态数据管理提出了新的需求。为了提高大数据下多模态数据管理的效率,我们提出了Multi-SQL系统,一个基于机器学习的智能多模态数据管理系统。
在Multi-SQL中,我们涉及四种常用的数据模型,即关系模型、键值模型、文档模型和图模型。Multi-SQL的架构图1所示,Multi-SQL利用智能中间件进行多种数据的高效管理。系统包括用户交互组件、对象管理组件、控制器组件和智能工具组件。其中用户交互组件负责和用户进行图形化交互。对象管理组件管理多模态数据对象、负载对象、存储对象、索引对象等。控制器负责各个组件之间的信息传递和负载均衡。智能工具组件内嵌有多种AI技术来进行自动化的数据管理。
图 1Multi-SQL系统架构
Multi-SQL系统的核心技术包括:
1. 基于机器学习的自动存储选择(ASH): ASH使用系统运行时得到的特定数据访问算子和特定数据访问预测时间作为输入向量。然后通过比较基于机器学习的估计模型的成本来获得存储设计(见Error: Reference source not found)。
2. 基于强化学习的存储方案调优(DUALSTORE):DUALSTORE 设计了一个基于强化学习的 Tuner DOTIL 来自动支持一个存储计划。DOTIL 精心设计了状态空间、动作空间、奖励等。 将图存储确定转换为动态马尔可夫决策过程。 随着存储状态的不断变化,DUALSTORE 开发了一种强化学习策略,用于重写工作负载中的查询。 当当前奖励大于某个阈值时,模型自动寻找最优存储结构(见Error: Reference source not found)。
3. 基于深度学习的自动化索引推荐(CNNIS):CNNIS 将索引推荐问题转化为细粒度的多类别问题。由于原始数据集的规模通常很大,CNNIS设计了分层抽样的方法来减小数据集的规模。然后对采样的输入数据进行one-hot编码,得到神经网络可以直接识别的向量。最后将向量送入多核卷积神经网络,得到索引推荐结果(见[3])。
4. 基于强化学习的索引自调优算法(DRLISA():DRLISA 是一种基于强化学习的自动索引推荐技术。它以数据库为学习环境,利用对决网络技术建立深度强化学习模型。DRLISA以数据库的实时吞吐量为奖励,以当前索引配置和工作负载类型为状态,以索引类型的变化为动作。在动作的不断调整中,模型会找到使当前奖励足够大的状态作为最佳指标(见[4])。
论文:
Yu Yan, Shun Yao, Hongzhi Wang, Meng Gao: Index selection for NoSQL database with deep reinforcement learning. Inf. Sci. 561: 20-30 (2021)
杨东华,邹开发,王宏志,王金宝.基于 Seq2Seq模型的 SparQL查询预测.软件学报,2021,32(3):805−817.
Yu Yan, Hongzhi Wang, Jian Zou, Yixuan Wang: Automatic Document Data Storage System Based on Machine Learning. APWeb/WAIM (2) 2020: 551-555
Yu Yan, Hongzhi Wang: General Model for Index Recommendation Based on Convolutional Neural Network. ICPCSEE (1) 2020: 3-15
Hongzhi Wang, Zhixin Qi, Lei Zheng, Yun Feng, Junfei Ouyang, Haoqi Zhang, Xiangxi Zhang, Ziming Shen, Shirong Liu: April: An Automatic Graph Data Management System Based on Reinforcement Learning. CIKM 2020: 3465-3468
Xuebin Su, Hongzhi Wang, Yan Zhang: Concurrency Control Based on Transaction Clustering. ICDE 2021: 2195-2200