银行业图数据库架构实践_第1页
银行业图数据库架构实践_第2页
银行业图数据库架构实践_第3页
银行业图数据库架构实践_第4页
银行业图数据库架构实践_第5页
已阅读5页,还剩27页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

银行业图数据库分析、选型与实践Agenda图的概念图数据库技术分析图数据库在光大银行的实践现实世界的图图是相互连接的事物及其关系的一种结构化表达。信息读取是顺序的过程,要求阅读者在大脑中将信息串联形成理解,而图能够即时传达信息,易于揭示复杂的模式。在社交网络、交通网络、通讯网络、资金网络等展现场景下,都有比较直观的展现效果。数学世界的图无向图有向图多重图G=(V,E)V–Vertexes(Node)E–Edges(Arcs,

Links)环平行边多重图:一个允许有多重边的图,也就是有至少二个边的二个顶点完全相同,至少有二个顶点可以由二个边相连接。在工程实践中多为有向多重图有向边无向边工业界的图RDF更加繁琐,不支持属性,同等情况下规模比LGP更大。Freebase

边数量在31亿左右Label=Type,

Class标签数量在不同的产品中存在差异RDFPropertyGraph

(Labeled)Hypergraph一条边连接多个顶点ResourceDescription

Framework历史悠久,伴随着语义万维网、知识图谱的发展。主谓宾三元组是基本组成单位objectsubjectpredicate在工程实践中产生,为了处理高度连接数据的存储和查询,一般为有向多重图。RDF

&

PG

示例RDFRDFpropertieswith

edgeProperty

Graph知识图谱与图存储技术图存储技术是支持知识图谱应用的关键技术之一。知识图谱(知识引擎)是多种技术的综合应用,包括自然语言识别(NLP)、机器学习及图存储技术等,其大量知识来源于非结构化数据。知识图谱的整体使用过程包括知识获取、知识融合、知识存储、知识推理、知识应用等步骤,典型应用场景包括搜索引擎、问答系统等。Agenda图的概念图数据库技术分析图数据库在光大银行的实践“高成长”的图数据库图数据库的使用价值1.

优秀的查询性能相对关系型数据库,图数据库产品一般在设计上避免大量的Join操作,提供快速的查询。2.

灵活的数据建模,

Schema-less多数图数据库没有预设的schema,借助底层的存储机制,能够更加灵活的变更结构。3.

易于理解,更加敏捷相对于关系数据库的表格,图的组织形式更接近与现实世界,易于理解。4.

基于图算法提供强大分析能力PageRank/社区发现算法等图数据库产品

——

GraphData

&

RDF

Store图数据库的定义与分类图数据库分类OperationSemantic/textAnalyticUnificationThereforeagraphdatabaseremains“adatabasethatusesgraphstructuresforsemanticquerieswithnodes,edgesandpropertiestorepresentandstoredata”–independentofthewaythedataisstored

internally.部分图数据库产品DataStaxEnterprise

Graph(Titan)Neo4jOrientDBArangoDBIBMGraph(JanusGraph<-

Titan)JanusGraph架构支持多种后端存储Apache

CassandraApache

HBaseGoogleCloud

BigtableOracle

BerkeleyDB索引方案ElasticSearchApache

Solr本质是中间层支持多种分布式K/V存储,获得存储的水平扩展。存储性能存在提升空间单点计算能力Neo4j

架构完整的图数据库本地原生存储单点计算与存储能力,不具备水平扩展能力查询语言多样化•SPARQL– 历史悠久,仅适用于RDF模型GremlinApache

TinkerPop获得较多支持CypherNeo4j

创建OpenCypher:HANA/RedisGraph/AgensGraphSQL扩展SQLServer

2017PGQLOracle

GraphQLaquerylanguagecreatedby

FacebookGraphQL+-for

DgraphNeo4j

等也陆续增加对GraphQL的支持OtherArangoDBAQL-ADeclarativeQuery

Language多模数据库的自定义语言GQL

视图统一Graph

Query

LanguageGremlin——图灵完备语言声明式

DeclarativeWhatdatatoget命令式

ImperativeHowtogetthe

datagremlinpadJohnPeterBenKevinLunaWiliamBackend

Storage分布式存储

K/VDSE(Cassandra)JanusGraph(HBase/Cassandra)Titan原生分布式存储ArangoDB(Raft+

RocksDB)Dgraph(Raft+

Badger)关系数据库SQLServer2017AgensGraph(PostgreSQL)原生单机存储Neo4jDataModel&Index&Store

Engine关系型数据库的拓展CREATETABLEPerson(IDINTEGERPRIMARYKEY,NameVARCHAR(100),AgeINT)AS

NODE;CREATETABLEfriends(StartDatedate)AS

EDGE;INSERTINTOPersonVALUES

(1,'John‘,30);INSERTINTOfriendsVALUES((SELECT$NODE_IDFROMpersonWHEREID=1),

(SELECT$NODE_IDFROMpersonWHEREID=

2),'2013-01-01');NodesandEdgesarestoredas

tablesQuerySELECTPFROMPersonPerson1,friends,PersonPerson2,friendsfriend2,PersonPerson3WHERE

MATCH(Person1-(friends)->Person2<-(friend2)-Person3)ANDP=

'John';JohnJacob语法糖,基于不同的RDBMS,schema约束也不同,例如AgensGraph使用jsonb

type存储属性对,可灵活定义SQLServer

2017MaryJohnAliceJacobDataModel-

Neo4jDataModel-

JanusGraph/HBaseIndex-freeAdjacencyorHybridIndexIndex-freeNeo4jHybrid

IndexArangoDBEdge

IndexVertexCentric

IndexesStoreEngine-RocksDB(LSM-Tree)VSBadger(WiscKey

)Allthecodeforbenchmarkin

https://blog.dgraph.io/post/badger/对于随机读,Badger至少要比RocksDB快3.5倍;对于值的大小从128B到16KB,数据加载Badger比RocksDB快0.86

-

14倍Badger设计思想源自论文

WiscKey:

Separating

Keys

from

Values

in

SSD-conscious

StoragePageRank算法——发现重要顶点NO.PageRank

Value10.0509140520.0573676330.1442252240.2448744950.0812838460.2438724870.0702747980.0357291690.03572916100.03572916算法原理1)数量假设:在Web图模型中,如果一个页面节点接收到的其他网页指向的入链数量越多,那么这个页面越重要。2)质量假设:指向页面A的入链质量不同,质量高的页面会通过链接向其他页面传递更多的权重。所以越是质量高的页面指向页面A,则页面A越重要。PageRank算法刚开始赋予每个网页相同的重要性得分,通过迭代递归计算来更新每个页面节点的PageRank得分,直到得分稳定为止。场景:在犯罪团伙通讯网络中寻找重点人社区发现算法——标签传播算法pagation算法基本原理1)给全网每个节点分配一个不重复的标签(label);2)在迭代的每一步,让一个节点采用在它所有的邻居节点中最流行的标签(如果最佳候选标签超过一个,则在其中随机抽一个);3)在迭代收敛时,采用同一种标签的节点被归入同一个社区。优势是算法简单,在大多数情况下可以快速收敛。缺陷是,迭代的结果有可能不稳定。商业化产品异军突起BigGraph2017年以来不断有大厂加入,图数据库市场空间有望扩大EYWAOLTP与OLAP融合,并行计算能力提升Amazon

Neptune市场意义带来市场空间的扩大设计局限不支持水平扩展基于Aurora,单点写入,多点复制,最终一致性。开源数据库的Github

StarCayley11.5kJanusGraph1.5kAgensGraph

567技术发展趋势分布式存储Neo4j

存储受限于单机容量基于HBase/Cassandra或原生分布式存储,使容量可以水平扩展计算并行化JanusGraph

单点计算ArangoDB

/

Dgraph

/

TigerGraph

,提供并行计算能力使得联机的图分析能力得到大幅度提升。– 并行计算能力不再局限于离线系统(SparkGraphX)数据一致性(Raft)– 提供了更好的数据一致性,拓宽应用场景底层存储引擎优化HBase->RocksDB->Badger(SSD)大幅提升数据更新及查询能力单机存储与计算Graph

Database1.0并行计算Graph

Database2.0分布式存储与并行计算Graph

Database3.0Agenda图的概念图数据库技术分析图数据库在光大银行的实践银行业的应用场景信贷管理流程集团客户供应链

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论