## 综述类
综述类的文章,主要目的是对数据库目前的一些问题有了一个总结,了解一些名词,综述类的文章总结直接让ai来做了
### Database meets deep learning: Challenges and opportunities
这篇文章说实话有点太老了,然后其中db4ai的部分我也没仔细看,目前不是特别感兴趣
AI4DB的主要应用与机遇:
- 自然语言查询接口:
- 深度学习在NLP领域已取得显著进步,特别是RNN模型已被证明能够学习结构化输出。
- 可将RNN模型应用于解析自然语言查询生成SQL查询,并使用现有数据库方法进行细化。
- 一个主要挑战是需要大量标记训练样本,可能的解决方案是从小数据集训练基线模型,然后通过用户反馈逐步改进。
- 查询计划优化:
- 传统数据库系统使用复杂的启发式和成本模型生成查询计划,但参数化SQL查询模板的最优计划具有"最优区域"特性。
- 可以训练能从SQL查询和最优计划对中学习的RNN模型,为新的相似查询生成计划。
- 可以结合强化学习(类似AlphaGo)通过执行时间和内存使用作为奖励在线训练模型。
- 纯深度学习方法可能无法覆盖所有查询模式,建议将数据库解决方案与深度学习相结合。
- 众包和知识库:
- 众包和知识库应用涉及实体提取、消歧和融合等概率问题,其中实体可以是数据库行或图中节点。
- 深度学习在NLP方面的进展可用于这些问题,特别是学习实体表示,然后进行实体关系推理和相似度计算。
- 空间和时间数据:
- 空间数据通常通过将移动对象映射到矩形块处理,可将每个块视为图像像素,利用CNN提取附近块之间的空间局部性。
- 例如,对实时位置数据使用CNN捕获密度关系,预测未来交通拥堵。
- 当时间数据建模为时间矩阵上的特征时,RNN可以模拟时间依赖性并预测未来时间点的事件。
- 一个具体应用是基于历史医疗记录的疾病进展建模,预测已知疾病的严重程度。
可以看出来很多内容其实都是
这有个中文的总结:https://zhuanlan.zhihu.com/p/39156719
### Database Meets Artificial Intelligence: A Survey
AI4DB主要应用与挑战:
- 基于学习的数据库配置:
- 旋钮调优:数据库有数百个可调参数,传统上依赖DBA手动调整。机器学习技术可以根据工作负载自动推荐最优配置。
- 研究方法包括:(a)基于搜索的调优,如BestConfig;(b)传统ML方法,如OtterTune使用高斯过程;(c)深度强化学习方法,如CDBTune和QTune,可以在不需要大量高质量训练数据的情况下通过试错学习。
- 缓冲区大小调优专门研究,如iBTune使用深度学习预测调整时机,RelM使用多级调优方法。
- 挑战:如何保证训练数据的多样性,以及模型如何适应不同的硬件环境和工作负载变化。
- 索引/视图优化器:
- 索引选择:从离线选择(AutoAdmin和DB2 Advisor)发展到半自动在线选择(WFIT)和基于ML的模型(ITLCS和基于强化学习的方法)。
- 视图优化:从启发式方法(Hybrid-GHCA)到整数线性规划(BIGSUBS),再到深度学习方法(Wide-Deep)。
- 挑战:如何处理大规模可能的索引/视图组合,以及如何平衡存储空间与查询性能。
- 查询优化:
- 基数估计:从直方图和采样方法发展到深度学习模型,包括混合模型、神经网络、CNN和自回归模型。
- 连接顺序选择:离线学习方法(LEO, DQ, ReJoin)和在线学习方法(Eddy-RL, SkinnerDB)。
- 挑战:获取足够训练数据、适应模式变更、模型收敛保证,以及集成到现有优化器架构中。
- 学习型数据结构:
- 学习型B+树:使用神经网络模拟CDF函数,如RMI, Fitting-tree和Alex-index。
- 学习型哈希表和Bloom过滤器:降低冲突和内存占用。
- 高维和空间数据索引:如ZM索引将多维空间点映射到一维向量。
- 挑战:支持数据更新、处理偏斜数据、减少模型大小。
- 事务管理:
- 事务预测:QB5000使用聚类和预测方法分析工作负载。
- 事务调度:基于机器学习估计冲突概率,平衡并发性和冲突率。
- 挑战:实时适应工作负载变化和数据分布变化。