随着大数据应用的不断深入,对大规模结构化/非结构化数据进行融合管理和分析的需求日益凸显.然而,结构化/非结构化数据在存储管理方式、信息获取方式、检索方式方面的差异给融合管理和分析带来了技术挑战.提出了适用于异构数据融合管理和语义计算的属性图扩展模型,并定义了相关属性操作符和查询语法.接着,基于智能属性图模型提出异构数据智能融合管理系统PandaDB,并详细介绍了PandaDB的总体架构、存储机制、查询机制、属性协存和AI算法集成机制.性能测试和应用案例证明,PandaDB的协存机制、分布式架构和语义索引机制对大规模异构数据的即席查询和分析具有较好的性能表现,该系统可实际应用于学术图谱实体消歧与可视化等融合数据管理场景.
With the development of big data application, the demand of large-scale structured/unstructured data fusion management and analysis is becoming increasingly prominent. However, the differences in management, process, retrieval of structured/unstructured data brings challenges for fusion management and analysis. This study proposes an extended property graph model for heterogeneous data fusion management and semantic computing, defines related property operators and query syntax. Based on the intelligent property graph model, this study implements PandaDB, an intelligent heterogeneous data fusion management system. This study depicts the architecture, storage mechanism, query mechanism, property co-storage, AI algorithm scheduling, and distributed architecture of PandaDB. Test experiments and cases show that the co-storage mechanism and distributed architecture of PandaDB have good performance acceleration effects, and can be applied in some scenarios of fusion data intelligent management such as academic knowledge graph entity disambiguation.
在大数据时代, 随着各类应用的推广和使用, 数据产生速度越来越快、数据体量越来越大.一方面, 数据采集技术的迅猛发展, 使得数据的结构更多样、种类更丰富.数据表现出多元异构的特点, 非结构化数据在其中占有较大比重.有研究表明, 视频、音频、图片等非结构化数据占据高达90%的比例[
结构化数据通常具有较为规范、统一的形式.目前, 针对结构化数据的管理和分析, 已具有成熟的数据模型、查询语言和管理系统.与结构化数据相比, 非结构化数据的管理方式存在着诸多差异, 这给高效的结构化/非结构化数据的融合管理和分析带来了多方面的挑战.
(1) 分离的存储管理方式, 给结构化/非结构化数据的统一管理带来挑战.相对于结构化数据, 非结构化数据占有更大的空间, 出于读写效率考虑, 非结构化数据往往单独存在于文件系统, 或者对象存储系统, 这使得维护结构化/非结构化数据一致性的难度增大;
(2) 差异化的信息获取方式, 给结构化/非结构化数据的统一分析带来挑战.相对于结构化数据, 非结构化数据内容比较复杂, 为了实现高效检索和分析, 往往需要预先引入模式识别、深度学习等方法实现信息抽取和数据挖掘, 从而获取非结构化数据所蕴含的内在信息;
(3) 不一致的检索方式, 给结构化/非结构化数据的一致化即席查询带来挑战.与结构化数据具有较为成熟的SQL、类SQL查询语言的现状不同, 非结构化数据的信息检索往往缺乏统一的操作模式和查询语法, 目前采用的多是逐案的个性化方案.
为实现结构化/非结构化数据的融合管理和分析, 需要从模型层面出发, 设计统一的表示和查询方法.传统的关系模型、属性图模型不能有效揭示和表示非结构化数据的内在信息.有学者提出将数据和Schema表示为边标记图, 以此替代非结构化数据底层类型约束的缺失[
另外一种融合管理的路线是将非结构化数据在数据库中存储为二进制大对象(binary large object, 简称BLOB), 当应用获取数据的时候, 返回一个二进制数组或者数据流.这种方法在性能和功能上都不令人满意[
由此, 本文提出了属性图扩展模型及其查询方法.属性图扩展模型在传统属性图的基础增加了对非结构化数据内在信息的表示能力, 以及结构化和非结构化数据之间的互操作能力.在此基础上, 本文继而提出基于智能属性图模型的异构数据智能融合管理系统PandaDB.
本文第1节给出属性图扩展模型和相关概念, 包括层叠属性图、智能属性图、次级属性等, 并提出属性操作符和查询语法.第2节给出PandaDB的系统设计与具体实现.第3节通过实验和案例验证该系统的效率及可行性.第4节介绍与本文研究相关的工作.最后, 对未来研究可能面临的挑战进行展望.
传统属性图模型无法有效表示非结构化属性, 本节提出属性图扩展模型, 以解决非结构化属性的有效表示问题; 然后介绍针对属性图扩展模型的语义操作和查询语法设计, 以支持因引入非结构化属性及其内在信息所带来的新的查询特性.
传统的属性图模型可以形式化表示为
针对图片、语音、文本这样的非结构化属性, 属性图模型无法有效揭示其蕴含的内在信息(如: 某类顶点的photo属性蕴含有"车牌号"信息), 内在信息通常是离线且具有结构延迟的.
● 离线: 将非结构化属性转化为结构化、半结构化属性的信息抽取过程, 属于对数据的预处理;
● 结构延迟: 非结构化属性的内在信息不具备明确定义的结构, 而是根据应用的后期需要, 从而选择特定的信息抽取方法, 这种结构是不明确的、延迟定义的.
为增强对结构化属性、非结构化属性的统一表示能力, 本文针对属性图模型进行了扩展, 提出了层叠属性图模型和智能属性图模型.
1) 层叠属性图
2) 基本属性的值为文本、数值、二进制数组等基本数据类型;
3) 内嵌式属性的值为另外一个属性图.
1) 智能属性图
2) 存在
3)
4) 对于智能属性
5) 对于智能属性
1) 对于智能属性图
2) 若
作为示例,
智能属性图模型
Intelligent property graph model
基于定义2, 本文定义了针对智能属性的次级属性抽取操作符和语义计算操作符.
● 次级属性抽取操作符: 次级属性抽取操作符"→"用以抽取智能属性的次级属性, 如针对photo属性执行"photo→plateNumber", 即可获取到photo中的车牌号;
● 语义计算操作符: 传统属性图查询语言中的谓词(predicate), 只支持对属性进行比较, 如=、>、<、正则匹配等.本文针对智能属性新增~: , : : , : >等拓展谓词, 以表示非结构化属性之间的相似关系、相似度、包含关系等逻辑(见
语义计算操作符
Semantic computation operators
操作名称 | 符号 | 含义 | 示例 |
SemanticCompare | : : | 计算 |
|
SemanticLike | ~: | 计算 |
|
SemanticUnlike | !: | 计算 |
|
SemanticIn | <: | 计算 |
|
SemanticContain | >: | 计算 |
在属性图模型中, 由于内在信息的不可见性, 非结构化属性之间的计算操作支持有限.结合定义1~定义3中关于非结构化属性的表述和属性操作符的特性, 智能属性图模型可以实现非结构化属性内在信息的在线获取, 且结构是预定义的.
● 在线: 从非结构化属性中获取结构化、半结构化信息(即次级属性)的过程是按需的, 无需对非结构化属性进行专门的预处理;
● 结构预定义: 非结构化数据内在信息依赖于schema层面的定义, 而非依赖于信息抽取工具的实现.在底层查询机制的支持下, 可以实现针对非结构化属性的直接运算.
本文针对智能属性图模型, 针对标准化Cypher查询语言[
(1) BlobLiteral
用于表示非结构化属性的字面值, 格式如〈schema://path〉, 其中, schema可以为FILE, HTTP(S), FTP(S), BASE64等多种类型.如
BlobLiteral语法定义
Grammer definition of BlobLiteral
(2) SubPropertyExtractor
用于表示次级属性的抽取操作, 如
SubPropertyExtractor语法定义
Grammer definition of SubPropertyExtractor
(3) SemanticComparison
语义计算操作符, 包括SemanticCompare, SemanticLike, SemanticUnlike, SemanticIn, SemanticContain等操作符.以SemanticLike为例, 它用以指示两个属性的值是否相似, 语法定义如
SemanticLike语法定义
Grammer definition of SemanticLike
例如, 针对
● Q1: match (c1:CAR), (c2:CAR) where c1.photo~: c2.photo and c1→plateNumber='HHMF442' return c2;
● Q2: return 'Zhihong SHEN' : : jaro 'SHEN Zhihong'.
查询语句Q2用以计算两个文本的相似度.
为实现结构化、非结构化数据的融合管理和关联查询分析, 本文采用智能属性图模型, 基于Neo4j开源版本, 设计并实现了异构数据智能融合管理系统PandaDB.本部分第2.1节介绍PandaDB的总体架构, 第2.2节~第2.5节分别介绍各模块的设计思路和实现细节.
PandaDB基于智能属性图模型组织数据, 底层数据被分为图结构数据、结构化属性数据和非结构化属性数据这3部分.其中, 图结构数据指图的节点和边等描述图结构的数据; 结构化属性数据指数值、字符串、日期等类型的数据; 非结构化属性数据泛指除结构化数据之外的数据, 如视频、音频、图片、文档等.PandaDB以BLOB对象的形式存储非结构化数据, 并将其表示为实体(节点)的属性.根据上述3类数据的应用特点, PandaDB设计了分布式多元存储方案.
● 分布式图数据存储: 基于传统的图数据库保存图结构数据和属性数据, 在每个节点上保存相同的数据副本;
● 结构化属性协存: 基于ElasticSearch, Solr等外部存储实现大规模结构化属性数据的存储和索引构建;
● BLOB存储: 基于Hbase, Ceph等存储系统实现非结构化属性数据的分布式存储.
PandaDB总体架构如
PandaDB总体架构设计
Architecture of PandaDB
● 存储引擎: 维护本地的图结构数据, 调度外部属性存储, 按需为查询引擎提供服务;
● 外部存储: 包括基于ElasticSearch的结构化属性协存和基于HBase的BLOB存储两部分;
● 查询引擎: 解析并执行CypherPlus查询;
● AIPM: AI模型服务框架, 通过模型和资源管理, 实现AI模型的灵活部署、高效按需运行; 同时, 有效屏蔽AI模型之间的依赖.
PandaDB集群采用了无主架构设计,
PandaDB将BLOB引入了Neo4j的类型系统, 同时对Neo4j的存储结构进行了改造.存储结构如
BLOB存储结构设计
Design of BLOB storage structure
为实现对外部BLOB存储系统的调用, PandaDB中设计了BlobValueManager接口, 定义了getById(·)/store(·)/discard(·)等操作方法.作为BlobValueManager的一个实现, HBaseBlobValueManager基于HBase集群实现BLOB数据的存取.在该方案中, 为支持大规模BLOB的存储, HBase被设计成包含
为加速BLOB的读取, BLOB的内容读取被封装为一个InputStream, 在用户通过Bolt协议获取BLOB内容或进行语义计算的时候, 这种流式读取的机制提高了运行的性能.
多元存储带来了存储事务保证的复杂性, 客户端在写入数据时, 将写操作请求发送到PandaDB的Leader节点, 然后由Leader节点执行具体的写入操作.Leader节点的具体操作流程如下.
(1) Leader节点开启事务, 执行Cypher解析, 翻译成具体的执行操作;
(2) 向BLOB存储引擎发送请求, 执行BLOB数据的写入操作.若执行失败, 则向上回滚, 标记事务失败;
(3) 若BLOB数据写入成功, 则执行图结构数据和结构化属性数据的写入操作; 若执行失败, 则向上回滚, 标记事务失败;
(4) 将结构化属性数据的修改, 同步到协存.若执行失败, 则向上回滚, 标记事务失败;
(5) 执行事务提交;
(6) 关闭事务, 返回操作成功.
PandaDB查询引擎主要实现查询语句的解析、逻辑计划的生成与优化、物理计划的优化与执行.基于Neo4j, PandaDB查询引擎主要改进如下几个部分.
(1) 解析阶段: 增强Cypher语言的解析规则, 支持BLOB字面常量(BlobLiteral)、BLOB次级属性的抽取操作符(SubPropertyExtractor)以及属性语义操作符(SemanticComparison);
(2) 语法检查阶段: 针对BlobLiteral, SubPropertyExtractor, SemanticComparison执行形式检查, 如发现非法的BLOB路径、非法的语义算子和阈值等;
(3) 计划优化阶段: 针对BlobLiteral的操作进行优化, 针对大规模属性过滤情形, 采用谓词下推策略等;
(4) 计划执行阶段: 充分调度属性协存模块、AIPM模块以及BLOB存储模块, 实现高效的属性优先过滤、BLOB获取与语义计算.
CypherPlus查询流程
CypherPlus query process
智能属性图查询机制
Query mechanism of intelligent property graph
为加速非结构化数据的查询, PandaDB实现了语义索引功能.非结构化数据中的信息被认为是一种语义信息, 如图片中的人脸、图片中汽车的车牌号、录音中所包含的文字信息等.AI模型从非结构化数据中抽取信息的过程可以看作是数据从高维空间到低维空间的映射, 在低维空间映射的结果可以作为数据在该场景下的语义索引.
如在人脸比对查询的过程中, 需要比较不同图片中人脸的相似度, 通常的做法是利用人脸识别模型抽取人脸特征, 比较两个特征的相似度.在PandaDB中, 以向量形式表示的人脸特征被视为该非结构化在当前查询场景下的语义索引.系统处理涉及人脸比对的查询时, 优先检查是否有对应的语义索引, 若该查询对应的语义索引存在, 则不向AIPM发起处理请求, 直接比较语义索引得到结果.
语义索引可以减少查询引擎对AI服务的请求次数, 从而避免了重复的数据传输, 有利于提高系统效率.
PandaDB引入属性数据协存机制, 用于实现结构化属性数据的全文索引, 提高节点属性的过滤查询效率.目前, PandaDB支持ElasticSearch作为协存引擎.
PandaDB协存模块的写入流程
Write progress of property co-store module in PandaDB
(1) 属性数据在ElasticSearch中的存储结构: 每个Neo4j图数据库对应协存引擎(ElasticSearch)中一个独立的索引, 每个节点的属性数据和标签数据均组织成ElasticSearch中的一个文档, 其中, 节点在Neo4j数据库中的ID作为文档的ID, 节点属性名作为文档的属性标签, 节点属性值作为文档的属性数据, 节点的标签数据表示为特殊设置的属性标签.数值、字符串、坐标、日期、时间等结构化属性数据类型分别转换为ElasticSearch中的对应数据类型;
(2) 属性写入及更新: 为了维持Neo4j数据库中的本地数据和ElasticSearch中数据的一致性, PandaDB对Neo4j中事务操作执行模块(operations)中的节点更新部分进行了扩展, 设计了ExternalPropertyStore用于存储在Neo4j事务中执行的所有操作.当Neo4j数据库执行插入节点、添加标签、设置属性、删除节点等操作的同时, 也将对应的操作数据缓存到ExternalPropertyStore中, 当Neo4j数据库执行事务提交操作的同时, 将缓存的操作数据同步到ElasticSearch中;
(3) 属性过滤: 为了基于协存实现节点属性过滤, PandaDB对Neo4j的Cypher查询执行计划进行了改造, 将节点属性过滤谓词下推到协存管理模块.根据谓词过滤条件生成ElasticSearch的检索请求, 最后将命中的文档(节点)列表返回给查询引擎做进一步筛选.为了避免大量查询结果增大网络传输延迟, PandaDB采用了异步分批的方式传递的查询结果.
AI算法集成与调度主要包括本地算法驱动管理和AI算法服务框架.
(1) 本地算法驱动管理
为了对不同的抽取器(SubPropertyExtractor)和语义比较器(SemanticCompartor)进行统一管理, PandaDB制定了驱动管理规则库.
抽取器和语义比较器匹配规则库
Extractor and semantic comparator matching rule set
(2) AI算法服务框架
PandaDB中的信息抽取能力通过AI服务方式实现, AIPM为PandaDB提供AI服务, 它可以屏蔽不同AI模型之间的依赖冲突问题, 降低人工智能模型的部署和维护难度, 便于PandaDB按需扩展AI算子.
AIPM与PandaDB交互框架
Interaction of PandaDB and AIPM
AI模型管理框架
AI model management framework
为验证模型设计及PandaDB实现的有效性, 本文针对属性协存、分布式方案、非结构化数据信息查询进行了测试; 同时, 通过应用案例验证PandaDB对结构化和非结构化数据的融合管理能力.
本测试验证基于ElasticSearch属性协存方案的性能, 对Neo4j和引入协存方案后的PandaDB的查询性能进行对比, 测试环境见
测试环境信息
Information about test environment
测试环境 | 环境描述 |
服务器软硬件环境 | 5台同等配置的物理服务器, 单台服务器配置为: |
测试软件版本 | Neo4j: 3.5.6 (社区版)PandaDB: v0.0.2(开发版)ElasticSearch: 6.5.0 |
环境部署 | 5台服务器均部署了ElasticSearch; |
测试数据 | 图数据集: 1亿节点(包含6种标签), 17亿关系(包含10种类型)(注: 该数据集为基于科研领域人才、机构和论文、奖励、专利、标准、专著等成果建立的真实数据集) |
实验中使用的Cypher查询语句见
协存方案验证测试的查询语句
Query statement in propery co-store test
编号 | 测试语句 | 测试类型描述 |
Q-1 | match ( |
节点查询(单属性精准过滤) |
Q-2 | match ( |
节点查询(单属性模糊匹配) |
Q-3 | match ( |
节点查询(双属性精准过滤) |
Q-4 | match ( |
节点查询(模糊匹配与精准匹配结合的双属性过滤) |
Q-5 | match ( |
节点查询(双属性精准过滤) |
Q-6 | match ( |
节点查询(三属性精准过滤) |
Q-7 | match ( |
节点查询(四属性精准过滤) |
Q-8 | match ( |
关系查询(返回末端节点信息) |
Q-9 | match ( |
关系查询(返回关系信息) |
Q-10 | match ( |
关系查询(可选关系匹配) |
协存方案验证测试结果
Test result for property co-store
测试语句编号 | 平均执行时间(单位: ms) | 执行时间比值 | |
Neo4j | PandaDB | ||
Q-1 | 184 | 189 | 0.97 |
Q-2 | 96.5 | 97.5 | 0.98 |
Q-3 | 1 001.5 | 55 | 18.20 |
Q-4 | 426 | 42 | 10.14 |
Q-5 | 358 | 309 | 1.15 |
Q-6 | 304.5 | 51.5 | 5.91 |
Q-7 | 94 | 52.5 | 1.79 |
Q-8 | 2 658 | 2 210 | 1.20 |
Q-9 | 453 | 415 | 1.09 |
Q-10 | 53 | 62 | 0.85 |
协存方案查询响应时间对比
Comparison of query time in co-store
从测试结果可看出: 由于采用了ElasticSearch作为节点属性的协存和索引, 在上述查询语句执行测试中,PandaDB占据明显优势; 尤其在节点多属性过滤查询和模糊匹配查询中, 性能平均提升2倍~6倍.
为验证分布式架构带来的查询响应能力的提升, 本文在物理机集群上(物理机配置见
本文选择了图计算分析中的常见查询作为测试用例, 如计算节点出度和入度.将超时阈值设定为300s, 在满足90%查询不超时的前提下, Neo4j的吞吐量为每秒15次查询, PandaDB的吞吐量为每秒40次查询.PandaDB的吞吐量接近Neo4j的3倍.
为实现对非结构化数据查询的加速, PandaDB采用了构建语义索引的方式, 减少数据传输和调用AI服务的次数.本小节基于人脸检测场景, 使用LFW数据集[
本实验的任务目标为: 从样本集中找到与目标人脸图片相似度最高的人脸图片.本实验共分4组对比, 各组实验内容及实验条件细节如下.
● NOOP: 无优化, PandaDB向AIPM发出图片相似度对比请求, 逐个将图片以BLOB流的形式发送给AIPM; AIPM接收请求后抽取特征, 将比对结果返回给PandaDB;
● DLOC: 数据本地化方案, PandaDB与AIPM部署在同一台服务器上, 减少BLOB传输的网络开销;
● AIIDX: AI服务缓存方案, PandaDB向AIPM请求数据, AIPM利用本地缓存的特征数据响应请求.模仿数据流水线工具的实现;
● SEMIDX: 语义索引方案, PandaDB中构建非结构化数据的语义索引(人脸特征向量), 执行查询时, 直接调用本地索引数据比较.
从
不同方法的查询耗时对比
Comparison of query time under different methods
样本数 | NOOP | DLOC | AIIDX | SEMIDX | |||
耗时(ms) | 加速比 | 耗时(ms) | 加速比 | 耗时(ms) | 加速比 | ||
1 | 993 | 999 | 0.99 | 124 | 8.04 | 5 | 199.80 |
5 | 1 636 | 1 641 | 1.00 | 672 | 2.44 | 10 | 164.10 |
10 | 3 708 | 3 482 | 1.06 | 1 299 | 2.68 | 6 | 580.33 |
20 | 6 854 | 7 036 | 0.97 | 2 448 | 2.87 | 7 | 1 005.14 |
50 | 16 336 | 15 665 | 1.04 | 6 169 | 2.54 | 8 | 1 958.13 |
100 | 32 138 | 30 714 | 1.05 | 12 291 | 2.50 | 10 | 3 071.40 |
500 | 163 154 | 156 025 | 1.05 | 61 505 | 2.54 | 22 | 7 092.05 |
1 000 | 320 760 | 307 251 | 1.04 | 122 525 | 2.51 | 33 | 9 310.64 |
2 000 | 643 462 | 615 047 | 1.05 | 244 661 | 2.51 | 60 | 10 250.78 |
5 000 | 161 698 | 1 542 788 | 1.05 | 615 192 | 2.51 | 144 | 10 713.81 |
学术图谱泛指以学术内容为主体的领域知识图谱, 典型应用如AMiner[
图 14是KDD2020数据的可视化展示(基于开源项目InteractiveGraph: https://github.com/grapheco/InteractiveGraph), 其中, 头像属性存储在PandaDB, 且在PandaDB的基础上提供了"以图找图"的功能, 即实现了基于头像的快速匹配.]]>
KDD2020数据的可视化展示
Visualization of KDD2020
学术图谱原始数据中通常会出现学者重名、不同机构的简称或缩写相同等情况, 因此, 图谱创建过程中通常面临实体消歧问题.目前, 大多数实体消歧方法都以聚类为基础, 文献[
基于PandaDB实现实体消歧示意图
Diagram of entity disambiguation based on PandaDB
为实现数据应用中的多元异构数据的统一管理和分析, 一种方法是通过ETL工具, 采用某种统一的形式处理异构数据.但这种方法成本较高, 而且数据和分析需求的变化会使原本的ETL流程失效[
在数据管理领域, 属性图模型[
人工智能技术已经广泛地应用到图像识别、语音识别、机器翻译等领域中.为了实现对语音、图片等多种信息的理解, 多模态机器学习的研究尝试在机器学习的角度整合模型对非结构化数据的理解能力[
随着大数据时代的来临, 海量数据的存储与计算使得单机服务已经无法满足需求, 越来越多的任务需要分布式系统支持.保证分布式系统的可靠性和一致性至关重要.解决这个问题的一个著名算法是由Lamport提出的Paxos算法[
本文从结构化/非结构化数据的融合管理和即席查询需求角度出发, 分析了目前多元异构数据融合管理方面统一表示和交互式查询等难点.在此基础上, 提出了具备对异构数据实现统一表示能力的属性图扩展模型, 并提出了针对在线查询和计算的属性操作符与查询语法.在第2节, 本文提出了基于智能属性图模型的分布式数据融合管理系统PandaDB, 该系统实现了结构化/非结构化数据的高效存储管理, 并提供了灵活的AI算子扩展机制, 具备对多元异构数据内在信息的即席查询能力.测试实验和案例证明, PandaDB在大规模属性过滤查询和高并发查询响应上具备较好的性能表现.同时, PandaDB可应用在学术图谱实体消歧与可视化等多元异构数据融合管理的场景.
目前, PandaDB还存在着一些不足.一方面, AIPM模块与系统相对独立部署, 这种模式降低了系统的耦合性, 有利于扩展和维护, 但面对大规模的非结构化数据信息查询请求时, 模块间信息传输的开销较大.未来应研究更为合理的AI功能集成机制, 结合多元异构数据即席查询的场景特性设计任务调度方法, 提升系统性能; 另一方面, 从智能属性中抽取内嵌式属性的操作, 目前还缺乏有效的缓存和预测机制, 造成即席抽取的过程延时较大.PandaDB将进一步结合应用, 进一步提升系统的性能和稳定性, 从而提升多元异构数据融合管理的能力.
本文由"支撑人工智能的数据管理与分析技术"专刊特约编辑陈雷教授、王宏志教授、童咏昕教授、高宏教授推荐.
Gantz J, Reinsel D. Extracting value from chaos. IDC Iview, 2011, 1142(2011): 1-12.
Liu Y, Li H, Garcia-Duran A, et al. MMKG: Multi-modal knowledge graphs. In: Proc. of the European Semantic Web Conf. 2019. 459-474.
Buneman P, Davidson S, Fernandez M, et al. Adding structure to unstructured data. In: Proc. of the Int'l Conf. on Database Theory. Berlin, Heidelberg: Springer-Verlag, 1997. 336-350.
Li W, Lang B. A tetrahedral data model for unstructured data management. Science China Information Sciences, 2010, 40(8): 1039-1053(in Chinese with English abstract). [doi:10.1007/s11432-010-4030-9]
李未, 郎波. 一种非结构化数据库的四面体数据模型. 中国科学: 信息科学, 2010, 40(8): 1039-1053. [doi:10.1007/s11432-010-4030-9]
Gerber D, Hellmann S, Bühmann L, et al. Real-Time RDF extraction from unstructured data streams. In: Proc. of the Int'l Semantic Web Conf. Berlin, Heidelberg: Springer-Verlag, 2013. 135-150.
Sears R, Van Ingen C, Gray J. To Blob or not to blob: Large object storage in a database or a filesystem? arXiv preprint cs/0701168, 2007.
Zhu Y, Du N, Tian H, et al. LaUD-MS: An extensible system for unstructured data management. In: Proc. of the 2010 12th Int'l Asia-Pacific Web Conf. IEEE, 2010. 435-440.
Zhang X, Du XY, Chen JC, et al. Managing a large shared bank of data by using Free-Table. In: Proc. of the 12th Asia-Pacific Web Conf. (APWeb 2010). Busan, 2010. 441-446.
Zhou NN, Zhang X, Sun XY, et al. Design and implementation of adaptive storage management system in MyBUD. Journal of Frontiers of Computer Science & Technology, 2012, 6(8): 673-683(in Chinese with English abstract).
周宁南, 张孝, 孙新云, 琚星星, 刘奎呈, 杜小勇, 王珊. MyBUD自适应分布式存储管理的设计与实现. 计算机科学与探索, 2012, 6(8): 673-683.
Francis N, Green A, Guagliardo P, et al. Cypher: An evolving query language for property graphs. In: Proc. of the 2018 Int'l Conf. on Management of Data. 2018. 1433-1445.
Huang GB, Mattar M, Berg T, et al. Labeled faces in the wild: A database forstudying face recognition in unconstrained environments. Workshop on Faces in Real-Life Images: Detection, Alignment, and Recognition, Erik Learned-Miller and Andras Ferencz and Frederic Jurie, 2008.
Wan H, Zhang Y, Zhang J, et al. Aminer: Search and mining of academic social networks. Data Intelligence, 2019, 1(1): 58-76.
Wang R, Yan Y, Wang J, et al. Acekg: A large-scale knowledge graph for academic data mining. In: Proc. of the 27th ACM Int'l Conf. on Information and Knowledge Management. 2018. 1487-1490.
https://www.aminer.cn/conf/kdd2020/homepage]]>
Bagga A, Baldwin B. Entity-Based cross-document coreferencing using the vector space model. In: Proc. of the 36th Annual Meeting of the Association for Computational Linguistics and 17th Int'l Conf. on Computational Linguistics, Vol. 1. 1998. 79-85.
Pedersen T, Purandare A, Kulkarni A. Name discrimination by clustering similar contexts. In: Proc. of the Int'l Conf. on Intelligent Text Processing and Computational Linguistics. Berlin, Heidelberg: Springer-Verlag, 2005. 226-237.
Chen Y, Martin JH. Towards robust unsupervised personal name disambiguation. In: Proc. of the 2007 Joint Conf. on Empirical Methods in Natural Language Processing and Computational Natural Language Learning (EMNLP-CoNLL). 2007. 190-198.
Cucerzan S. Large-Scale named entity disambiguation based on Wikipedia data. In: Proc. of the 2007 Joint Conf. on Empirical Methods in Natural Language Processing and Computational Natural Language Learning (EMNLP-CoNLL). 2007. 708-716.
Han X, Zhao J. Named entity disambiguation by leveraging wikipedia semantic knowledge. In: Proc. of the 18th ACM Conf. on Information and Knowledge Management. 2009. 215-224.
Hassell J, Aleman-Meza B, Arpinar IB. Ontology-Driven automatic entity disambiguation in unstructured text. In: Proc. of the Int'l Semantic Web Conf. Berlin, Heidelberg: Springer-Verlag, 2006. 44-57.
Minkov E, Cohen WW, Ng AY. Contextual search and name disambiguation in email using graphs. In: Proc. of the 29th Annual Int'l ACM SIGIR Conf. on Research and Development in Information Retrieval. 2006. 27-34.
Zhang B, Al Hasan M. Name disambiguation in anonymized graphs using network embedding. In: Proc. of the 2017 ACM on Conf. on Information and Knowledge Management. 2017. 1239-1248.
Huang H, Heck L, Ji H. Leveraging deep neural networks and knowledge graphs for entity disambiguation. arXiv preprint arXiv: 1504.07678, 2015.
Tan R, Chirkova R, Gadepally V, et al. Enabling query processing across heterogeneous data models: A survey. In: Proc. of the 2017 IEEE Int'l Conf. on Big Data (Big Data). IEEE, 2017. 3211-3220.
Smith JM, Bernstein PA, Dayal U, et al. Multibase: Integrating heterogeneous distributed database systems. In: Proc. of the National Computer Conf. 1981. 487-499.
Armbrust M, Xin RS, Lian C, et al. Spark SQL: Relational data processing in spark. In: Proc. of the 2015 ACM SIGMOD Int'l Conf. on Management of Data. 2015. 1383-1394.
文献全部内容项
Zhu M, Risch T. Querying combined cloud-based and relational databases. In: Proc. of the 2011 Int'l Conf. on Cloud and Service Computing. IEEE, 2011. 330-335.
Ong KW, Papakonstantinou Y, Vernoux R. The SQL++ unifying semi-structured query language, and an expressiveness benchmark of SQL-on-Hadoop, NoSQL and NewSQL databases. CoRR, abs/1405.3631, 2014.
Kepner J, Arcand W, Bergeron W, et al. Dynamic distributed dimensional data model (D4M) database and computation system. In: Proc. of the 2012 IEEE Int'l Conf. on Acoustics, Speech and Signal Processing (ICASSP). IEEE, 2012. 5349-5352.
Ehrig H, Prange U, Taentzer G. Fundamental theory for typed attributed graph transformation. Lecture Notes in Computer Science, 2004, 3256: 161-177.
Robinson I, Webber J, Eifrem E. Graph Databases: New Opportunities for Connected Data. O'Reilly Media, Inc. , 2015.
Wang X, Zou L, Wang CK, Peng P, Feng ZY. Research on knowledge graph data management: A survey. Ruan Jian Xue Bao/Journal of Software, 2019, 30(7): 2139-2174(in Chinese with English abstract). http://www.jos.org.cn/1000-9825/5841.htm [doi:10.13328/j.cnki.jos.005841]
王鑫, 邹磊, 王朝坤, 彭鹏, 冯志勇. 知识图谱数据管理研究综述. 软件学报, 2019, 30(7): 2139-2174. http://www.jos.org.cn/1000-9825/5841.htm [doi:10.13328/j.cnki.jos.005841]
Angles R. A comparison of current graph database models. In: Proc. of the 2012 IEEE 28th Int'l Conf. on Data Engineering Workshops. IEEE, 2012. 171-177.
https://neo4j.com/docs/developer-manual/current/]]>
http://titan.thinkaurelius.com/]]>
http://janusgraph.org/]]>
https://aws.amazon.com/neptune/]]>
https://docs.microsoft.com/en-us/azure/cosmos-db/introduction]]>
https://www.tigergraph.com/]]>
http://orientdb.com/]]>
Baltrušaitis T, Ahuja C, Morency LP. Multimodal machine learning: A survey and taxonomy. IEEE Trans. on Pattern Analysis and Machine Intelligence, 2018, 41(2): 423-443.
Ramachandram D, Taylor GW. Deep multimodal learning: A survey on recent advances and trends. IEEE Signal Processing Magazine, 2017, 34(6): 96-108.
Li GL, Zhou XH. XuanYuan: An AI-native database systems. Ruan Jian Xue Bao/Journal of Software, 2020, 31(3): 831-844(in Chinese with English abstract). http://www.jos.org.cn/1000-9825/5899.htm [doi:10.13328/j.cnki.jos.005899]
李国良, 周煊赫. 轩辕: AI原生数据库系统. 软件学报, 2020, 31(3): 831-844. http://www.jos.org.cn/1000-9825/5899.htm [doi:10.13328/j.cnki.jos.005899]
Hang J, Liu Y, Zhou K, Li G. An end-to-end automatic cloud database tuning system using deep reinforcement learning. In: Proc. of the SIGMOD. 2019.
Wang W, Zhang M, Chen G, Jagadish HV, Ooi BC, Tan K. Database meets deep learning: Challenges and opportunities. SIGMOD Record, 2016, 45(2): 1722.
Kipf A, Kipf T, Radke B, Leis V, Boncz PA, Kemper A. Learned cardinalities: Estimating correlated joins with deep learning. In: Proc. of the CIDR. 2019.
Pedrozo WG, Nievola JC, Ribeiro DC. An adaptive approach for index tuning with learning classifier systems on hybrid storage environments. In: Proc. of the HAIS. 2018. 716-729.
Krishnan S, Yang Z, Goldberg K, Hellerstein JM, Stoica I. Learning to optimize join queries with deep reinforcement learning. CoRR, abs/1808.03196, 2018.
Marcus R, Papaemmanouil O. Deep reinforcement learning for join order enumeration. In: Proc. of the 1st Int'l Workshop on Exploiting Artificial Intelligence Techniques for Data Management. 2018. 3: 13: 4.
Lamport L. The part-time parliament. ACM Trans. on Computer Systems, 1998, 16(2): 133-169.
Lamport L. Paxos made simple. ACM SIGACT News, 2001, 32(4): 18-25.
Wang J, Zhang MX, Wu YW, Chen K, Zheng WM. Paxos-Like consensus algorithms: A review. Journal of Computer Research and Development, 2019, 56(4): 692-707(in Chinese with English abstract).
王江, 章明星, 武永卫, 陈康, 郑纬民. 类Paxos共识算法研究进展. 计算机研究与发展, 2019, 56(4): 692-707.
Chandra TD, Griesemer D, Redstone J. Paxos made live: An engineering perspective. In: Proc. of the 26th Annual ACM Symp. on Principles of Distributed Computing (PODC 2007). New York: ACM, 2007. 398-407.
Oki BM, Liskov BH. Viewstamped replication: A new primary copy method to support highly-available distributed systems. In: Proc. of the 7th Annual ACM Symp. on Principles of Distributed Computing. 1988. 8-17.
Liskov, Barbara, Cowling J. Viewstamped Replication Revisited. 2012.
Medeiros A. ZooKeeper's atomic broadcast protocol: Theory and practice. Technical Report, 2012.
Ongaro D, Ousterhout J. In search of an understandable consensus algorithm. In: Proc. of the 2014 USENIX Annual Technical Conf. 2014. 305-319.