一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种图数据库数据删除方法、系统、电子设备及存储介质与流程

2021-10-24 06:32:00 来源:中国专利 TAG:
1.本发明属于数据库
技术领域
:,尤其涉及一种图数据库数据删除方法、系统、电子设备及存储介质。
背景技术
::2.近年来,随着互联网和社交网络的快速发展,大规模的图结构数据逐渐增多,例如将知识图谱、社交网络等信息抽象成的图结构数据。相比于传统的大数据处理系统,图系统能更好地利用图的结构信息,对图数据的处理更为高效。随着图结构化数据的增多,如何高效处理大量图结构数据成为研究的热点。利用底层存储特性更好的满足业务场景和性能要求也是图数据库的重点。3.rocksdb是使用c 编写的嵌入式kv存储引擎,其键值均允许使用二进制流,使用lsm存储引擎。clickhouse是一个用于联机分析(olap)的列式数据库管理系统(dbms)。由于rocksdb是lsm‑tree存储引擎,在做了大量数据删除而且还没有进行compaction时,大量的删除墓碑会导致数据查询性能低下,而在大量图数据删除时又同时需要到库中查询需要删除的点或者边的id来做删除的key,这时低下的查询性能会导致整个过程越来越慢。技术实现要素:4.本技术实施例提供了一种图数据库数据删除方法、系统、电子设备及存储介质,以至少解决现有图数据库数据删除方法在进行大量图数据删除时效率低下的问题。5.第一方面,本技术实施例提供了一种图数据库数据删除方法,包括:图数据格式化步骤,将一图数据库中的图数据格式化为数据库表,并将所述数据库表同步至一可进行联机分析的列式数据库管理系统中;数据查询拼接步骤,使用一lsm‑tree形式的存储引擎作为所述图数据库的底层存储,通过查询所述列式数据库管理系统中存储的所述图数据,拼接出所述图数据在所述存储引擎中存储的key值;图数据删除步骤,根据所述key值对所述图数据库进行删除操作。6.优选的,所述图数据删除步骤进一步包括:若以整个标签为删除对象,则所述图数据库在图中暂停接收服务,并在删除数据后对所述存储引擎中存放数据的列族进行合并操作。7.优选的,所述图数据删除步骤进一步包括:当所述存储引擎中的所述图数据删除完成后,通过删除所述列式数据库管理系统中的表实现数据一致。8.优选的,所述图数据删除步骤进一步包括:若以一标签中一数据为删除对象,则通过逻辑删除进行删除操作,并在删除数据后,根据一预设周期对所述存储引擎中存放数据的列族进行合并操作。9.第二方面,本技术实施例提供了一种图数据库数据删除系统,适用于上述一种图数据库数据删除方法,包括:图数据格式化模块,将一图数据库中的图数据格式化为数据库表,并将所述数据库表同步至一可进行联机分析的列式数据库管理系统中;数据查询拼接模块,使用一lsm‑tree形式的存储引擎作为所述图数据库的底层存储,通过查询所述列式数据库管理系统中存储的所述图数据,拼接出所述图数据在所述存储引擎中存储的key值;图数据删除模块,根据所述key值对所述图数据库进行删除操作。10.在其中一些实施例中,所述图数据删除模块进一步包括:若以整个标签为删除对象,则所述图数据库在图中暂停接收服务,并在删除数据后对所述存储引擎中存放数据的列族进行合并操作。11.在其中一些实施例中,所述图数据删除模块进一步包括:当所述存储引擎中的所述图数据删除完成后,通过删除所述列式数据库管理系统中的表实现数据一致。12.在其中一些实施例中,所述图数据删除模块进一步包括:若以一标签中一数据为删除对象,则通过逻辑删除进行删除操作,并在删除数据后,根据一预设周期对所述存储引擎中存放数据的列族进行合并操作。13.第三方面,本技术实施例提供了一种电子设备,包括存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如上述第一方面所述的一种图数据库数据删除方法。14.第四方面,本技术实施例提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如上述第一方面所述的一种图数据库数据删除方法。15.本技术可应用于数据能力
技术领域
:。相比于相关技术,本技术实施例提供的一种图数据库数据删除方法,通过利用底层存储的特性,可以适用于以lsm‑tree为底层存储的边删边查场景,结合类似于clickhouse的大型olap引擎,同时需要保证数据一致性,可以避免受查询效率影响的删除效率低下问题。解决了大量图数据删除时的效率问题,尽量避免删除的同时做数据查询,使删除效率得到提高。附图说明16.此处所说明的附图用来提供对本技术的进一步理解,构成本技术的一部分,本技术的示意性实施例及其说明用于解释本技术,并不构成对本技术的不当限定。在附图中:17.图1为本发明的图数据库数据删除方法流程图;18.图2为本发明的图数据库数据删除系统的框架图;19.图3为本发明的电子设备的框架图;20.以上图中:21.1、图数据格式化模块;2、数据查询拼接模块;3、图数据删除模块;60、总线;61、处理器;62、存储器;63、通信接口。具体实施方式22.为了使本技术的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本技术进行描述和说明。应当理解,此处所描述的具体实施例仅仅用以解释本技术,并不用于限定本技术。基于本技术提供的实施例,本领域普通技术人员在没有作出创造性劳动的前提下所获得的所有其他实施例,都属于本技术保护的范围。23.显而易见地,下面描述中的附图仅仅是本技术的一些示例或实施例,对于本领域的普通技术人员而言,在不付出创造性劳动的前提下,还可以根据这些附图将本技术应用于其他类似情景。此外,还可以理解的是,虽然这种开发过程中所作出的努力可能是复杂并且冗长的,然而对于与本技术公开的内容相关的本领域的普通技术人员而言,在本技术揭露的技术内容的基础上进行的一些设计,制造或者生产等变更只是常规的技术手段,不应当理解为本技术公开的内容不充分。24.在本技术中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本技术的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域普通技术人员显式地和隐式地理解的是,本技术所描述的实施例在不冲突的情况下,可以与其它实施例相结合。25.除非另作定义,本技术所涉及的技术术语或者科学术语应当为本技术所属
技术领域
:内具有一般技能的人士所理解的通常意义。本技术所涉及的“一”、“一个”、“一种”、“该”等类似词语并不表示数量限制,可表示单数或复数。本技术所涉及的术语“包括”、“包含”、“具有”以及它们任何变形,意图在于覆盖不排他的包含;例如包含了一系列步骤或模块(单元)的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可以还包括没有列出的步骤或单元,或可以还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。26.本技术实施例以异构图数据库nest为例来说明,nest中包含了四种存储组件,分别是用于图存储的组件、用于倒排索引存储的组件、用于olap存储的组件以及用于历史版本存储的组件,通过组合这四种存储组件,nest可以实现图谱推理、搜索、olap查询、历史版本变更记录及查询等功能,需要说明的是,nest所存储的数据都是有唯一主键的。27.以下,结合附图详细介绍本发明的实施例:28.图1为本发明的图数据库数据删除方法流程图,请参见图1,本发明图数据库数据删除方法包括如下步骤:29.s1:将一图数据库中的图数据格式化为数据库表,并将所述数据库表同步至一可进行联机分析的列式数据库管理系统中。30.在具体实施中,列式数据库管理系统为clickhouse,基于clickhouse数据库,由于nest的新特性,在做图扩展的同时也需要有对图数据进行olap(联机分析处理)操作,故而nest使用了clickhouse作为olap数据引擎,将图数据格式化成数据库表的形式同步到clickhouse中,clickhouse在做大量数据查询时可满足nest的性能要求。31.在具体实施中,nest的图数据在rocksdb中的存储逻辑结构如下:32.点vertextable逻辑结构为:[0033][0034]边edgetable逻辑结构为:[0035][0036]在具体实施中,在nest中vertex(点)的id设计为该点的主键(primarykey)_该点的label(标签)(vertexlabel)。[0037]s2:使用一lsm‑tree形式的存储引擎作为所述图数据库的底层存储,通过查询所述列式数据库管理系统中存储的所述图数据,拼接出所述图数据在所述存储引擎中存储的key值。[0038]s3:根据所述key值对所述图数据库进行删除操作。[0039]在具体实施中,使用rocksdb作为存储引擎。[0040]在具体实施中,如需删除图数据(即点和边的数据),可以通过查询clickhouse中存储的图数据(点的主键和边的主客体及方向)等信息就快速拼接出图在rocksdb中存储的key,即在删除整个label的数据时就可以通过点或者边的key进行删除,不需要在做删除的同时去rocksdb中读取该label下的数据,可以改善因删除导致大量的删除墓碑影响查询性能,以至于影响整个删除过程。[0041]可选的,若以整个标签为删除对象,则所述图数据库在图中暂停接收服务,并在删除数据后对所述存储引擎中存放数据的列族进行合并操作。可选的,当所述存储引擎中的所述图数据删除完成后,通过删除所述列式数据库管理系统中的表实现数据一致。[0042]在具体实施中,如果以整个label为删除数据集,这种操作只有在需要修改schema时才会发生,nest的逻辑是所有对schema有修改的操作需要一个发布过程,整个发布过程中,图的数据部分功能是暂停接收服务的,这也同样的避免了在删除时做数据查询。但删除完成后这个大量的删除墓碑并没有消失,在具体实施中,lsm‑tree结构可以通过compaction(合并)操作让数据文件进行合并的同时去掉已删除数据,所以在每次删除后需要手动的对rocksdb中存放数据的columnfamily(列族)进行compaction,待compaction完成后墓碑消失,查询功能恢复正常。[0043]在具体实施中,待rocksdb中的图数据删除完成后,可以通过直接删除clickhouse中的整张表来实现最终的数据一致。至此,整个发布过程完成,nest全部功能恢复使用。[0044]可选的,若以一标签中一数据为删除对象,则通过逻辑删除进行删除操作,并在删除数据后,根据一预设周期对所述存储引擎中存放数据的列族进行合并操作。[0045]在具体实施中,如果只是删除某个label下的某条数据,此时为了保证数据的一致性,需要将删除操作同步到clickhouse,即删除clickhouse中的该条数据,但是clickhouse对频繁的删除操作支持的并不友好,故而可以使用逻辑删除也就是标记删除,通过一个字段来标记该条数据是否被删除,然后通过这个字段进行分区,用来加速定时的做真正的物理删除。[0046]在具体实施中,这种小批量的删除操作如果是持续的,经过一段时间的积累,rocksdb中同样会生成大量的删除墓碑,对查询操作造成影响,通过定时的做compaction操作来避免大量删除墓碑对查询的影响,可选的,定时的频率可以根据删除的频次及数量来决定。[0047]需要说明的是,在上述流程中或者附图的流程图中示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。[0048]本技术实施例提供了一种图数据库数据删除系统,适用于上述的一种图数据库数据删除方法。如以下所使用的,术语“单元”、“模块”等可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件、或者软件和硬件的组合的实现也是可能并被构想的。[0049]图2为根据本发明的图数据库数据删除系统的框架图,请参见图2,包括:[0050]图数据格式化模块1:将一图数据库中的图数据格式化为数据库表,并将所述数据库表同步至一可进行联机分析的列式数据库管理系统中。[0051]在具体实施中,列式数据库管理系统为clickhouse,基于clickhouse数据库,由于nest的新特性,在做图扩展的同时也需要有对图数据进行olap(联机分析处理)操作,故而nest使用了clickhouse作为olap数据引擎,将图数据格式化成数据库表的形式同步到clickhouse中,clickhouse在做大量数据查询时可满足nest的性能要求。[0052]在具体实施中,nest的图数据在rocksdb中的存储逻辑结构如下:[0053]点vertextable逻辑结构为:[0054][0055][0056]边edgetable逻辑结构为:[0057][0058]在具体实施中,在nest中vertex(点)的id设计为该点的主键(primarykey)_该点的label(vertexlabel)。[0059]数据查询拼接模块2:使用一lsm‑tree形式的存储引擎作为所述图数据库的底层存储,通过查询所述列式数据库管理系统中存储的所述图数据,拼接出所述图数据在所述存储引擎中存储的key值。[0060]图数据删除模块3:根据所述key值对所述图数据库进行删除操作。[0061]在具体实施中,使用rocksdb作为存储引擎。[0062]在具体实施中,如需删除图数据(即点和边的数据),可以通过查询clickhouse中存储的图数据(点的主键和边的主客体及方向)等信息就快速拼接出图在rocksdb中存储的key,即在删除整个label的数据时就可以通过点或者边的key进行删除,不需要在做删除的同时去rocksdb中读取该label下的数据,可以改善因删除导致大量的删除墓碑影响查询性能,以至于影响整个删除过程。[0063]可选的,若以整个标签为删除对象,则所述图数据库在图中暂停接收服务,并在删除数据后对所述存储引擎中存放数据的列族进行合并操作。可选的,当所述存储引擎中的所述图数据删除完成后,通过删除所述列式数据库管理系统中的表实现数据一致。[0064]在具体实施中,如果以整个label为删除数据集,这种操作只有在需要修改schema时才会发生,nest的逻辑是所有对schema有修改的操作需要一个发布过程,整个发布过程中,图的数据部分功能是暂停接收服务的,这也同样的避免了在删除时做数据查询。但删除完成后这个大量的删除墓碑并没有消失,在具体实施中,lsm‑tree结构可以通过compaction(合并)操作让数据文件进行合并的同时去掉已删除数据,所以在每次删除后需要手动的对rocksdb中存放数据的columnfamily(列族)进行compaction,待compaction完成后墓碑消失,查询功能恢复正常。[0065]在具体实施中,待rocksdb中的图数据删除完成后,可以通过直接删除clickhouse中的整张表来实现最终的数据一致。至此,整个发布过程完成,nest全部功能恢复使用。[0066]可选的,若以一标签中一数据为删除对象,则通过逻辑删除进行删除操作,并在删除数据后,根据一预设周期对所述存储引擎中存放数据的列族进行合并操作。[0067]在具体实施中,如果只是删除某个label下的某条数据,此时为了保证数据的一致性,需要将删除操作同步到clickhouse,即删除clickhouse中的该条数据,但是clickhouse对频繁的删除操作支持的并不友好,故而可以使用逻辑删除也就是标记删除,通过一个字段来标记该条数据是否被删除,然后通过这个字段进行分区,用来加速定时的做真正的物理删除。[0068]在具体实施中,这种小批量的删除操作如果是持续的,经过一段时间的积累,rocksdb中同样会生成大量的删除墓碑,对查询操作造成影响,通过定时的做compaction操作来避免大量删除墓碑对查询的影响,可选的,定时的频率可以根据删除的频次及数量来决定。[0069]另外,结合图1描述的一种图数据库数据删除方法可以由电子设备来实现。图3为本发明的电子设备的框架图。[0070]电子设备可以包括处理器61以及存储有计算机程序指令的存储器62。[0071]具体地,上述处理器61可以包括中央处理器(cpu),或者特定集成电路(applicationspecificintegratedcircuit,简称为asic),或者可以被配置成实施本技术实施例的一个或多个集成电路。[0072]其中,存储器62可以包括用于数据或指令的大容量存储器。举例来说而非限制,存储器62可包括硬盘驱动器(harddiskdrive,简称为hdd)、软盘驱动器、固态驱动器(solidstatedrive,简称为ssd)、闪存、光盘、磁光盘、磁带或通用串行总线(universalserialbus,简称为usb)驱动器或者两个或更多个以上这些的组合。在合适的情况下,存储器62可包括可移除或不可移除(或固定)的介质。在合适的情况下,存储器62可在数据处理装置的内部或外部。在特定实施例中,存储器62是非易失性(non‑volatile)存储器。在特定实施例中,存储器62包括只读存储器(read‑onlymemory,简称为rom)和随机存取存储器(randomaccessmemory,简称为ram)。在合适的情况下,该rom可以是掩模编程的rom、可编程rom(programmableread‑onlymemory,简称为prom)、可擦除prom(erasableprogrammableread‑onlymemory,简称为eprom)、电可擦除prom(electricallyerasableprogrammableread‑onlymemory,简称为eeprom)、电可改写rom(electricallyalterableread‑onlymemory,简称为earom)或闪存(flash)或者两个或更多个以上这些的组合。在合适的情况下,该ram可以是静态随机存取存储器(staticrandom‑accessmemory,简称为sram)或动态随机存取存储器(dynamicrandomaccessmemory,简称为dram),其中,dram可以是快速页模式动态随机存取存储器(fastpagemodedynamicrandomaccessmemory,简称为fpmdram)、扩展数据输出动态随机存取存储器(extendeddateoutdynamicrandomaccessmemory,简称为edodram)、同步动态随机存取内存(synchronousdynamicrandom‑accessmemory,简称sdram)等。[0073]存储器62可以用来存储或者缓存需要处理和/或通信使用的各种数据文件,以及处理器61所执行的可能的计算机程序指令。[0074]处理器61通过读取并执行存储器62中存储的计算机程序指令,以实现上述实施例中的任意一种图数据库数据删除方法。[0075]在其中一些实施例中,电子设备还可包括通信接口63和总线60。其中,如图3所示,处理器61、存储器62、通信接口63通过总线60连接并完成相互间的通信。[0076]通信端口63可以实现与其他部件例如:外接设备、图像/数据采集设备、数据库、外部存储以及图像/数据处理工作站等之间进行数据通信。[0077]总线60包括硬件、软件或两者,将电子设备的部件彼此耦接在一起。总线60包括但不限于以下至少之一:数据总线(databus)、地址总线(addressbus)、控制总线(controlbus)、扩展总线(expansionbus)、局部总线(localbus)。举例来说而非限制,总线60可包括图形加速接口(acceleratedgraphicsport,简称为agp)或其他图形总线、增强工业标准架构(extendedindustrystandardarchitecture,简称为eisa)总线、前端总线(frontsidebus,简称为fsb)、超传输(hypertransport,简称为ht)互连、工业标准架构(industrystandardarchitecture,简称为isa)总线、无线带宽(infiniband)互连、低引脚数(lowpincount,简称为lpc)总线、存储器总线、微信道架构(microchannelarchitecture,简称为mca)总线、外围组件互连(peripheralcomponentinterconnect,简称为pci)总线、pci‑express(pci‑x)总线、串行高级技术附件(serialadvancedtechnologyattachment,简称为sata)总线、视频电子标准协会局部(videoelectronicsstandardsassociationlocalbus,简称为vlb)总线或其他合适的总线或者两个或更多个以上这些的组合。在合适的情况下,总线60可包括一个或多个总线。尽管本技术实施例描述和示出了特定的总线,但本技术考虑任何合适的总线或互连。[0078]该电子设备可以执行本技术实施例中的一种图数据库数据删除方法。[0079]另外,结合上述实施例中的一种图数据库数据删除方法,本技术实施例可提供一种计算机可读存储介质来实现。该计算机可读存储介质上存储有计算机程序指令;该计算机程序指令被处理器执行时实现上述实施例中的任意一种图数据库数据删除方法。[0080]而前述的存储介质包括:u盘、移动硬盘、只读存储器(readonlymemory,简称为rom)、随机存取存储器(randomaccessmemory,简称为ram)、磁碟或者光盘等各种可以存储程序代码的介质。[0081]以上所述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。[0082]以上所述实施例仅表达了本技术的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本技术构思的前提下,还可以做出若干变形和改进,这些都属于本技术的保护范围。因此,本技术专利的保护范围应以所附权利要求为准。当前第1页12当前第1页12
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献

  • 日榜
  • 周榜
  • 月榜