数据删除

更新时间: 2023-10-30 18:00:43

本文介绍清库、按照点Label或边Label、点ID或边ID并发删除数据的基本操作。

清库

用户有清库需求,请参见清除实例数据

警告

该操作是清除实例的全部数据,操作前请务必确认,如果您只是想删除部分数据,请参考下文的删除脚本部分。

删除脚本

如果有根据点Label或边Label、点ID或边ID并发删除数据的需求,请使用以下脚本执行。

  1. 下载删除脚本并解压。

    wget https://github.com/aliyun/alibabacloud-gdb-tools/archive/refs/heads/master.zip
    unzip master.zip
    pip install -r requirements.txt --user
  2. 使用举例。

    • 删除所有Label为Player的点,32线程并发。

      python GdbDataRemover.py --host ${gdb_end_point} --port ${gdb_port} --username ${gdb_user} --password ${gdb_pwd} --label player --threadCnt 32
    • 根据输入文件里的ID批量删除点,128个一批。

      python GdbDataRemover.py --host ${gdb_end_point} --port ${gdb_port} --username ${gdb_user} --password ${gdb_pwd} --threadCnt 32 --batch 128 input1.txt [input2.txt]

      输入文件input1.txt里包含点ID列表,每行一个ID。

    • 根据输入文件里的ID批量删除边,128个一批。

      python GdbDataRemover.py --host ${gdb_end_point} --port ${gdb_port} --username ${gdb_user} --password ${gdb_pwd} --threadCnt 32 --edge --batch 128 input1.txt [input2.txt]

      输入文件input1.txt里包含边ID列表,每行一个ID。

    说明
    • ${gdb_end_point}:请替换为图数据库GDB实例的连接地址(内网地址或外网地址)。

    • ${gdb_port}:请替换为图数据库GDB实例连接地址对应的端口号(内网端口或外网端口)。

    • ${gdb_user}:请替换为图数据库GDB实例的账号名称。

    • ${gdb_pwd}:请替换为图数据库GDB实例的账号密码。

限制删除数量

虽然图数据库GDB具有ACID(原子性、一致性、隔离性、持久性)事务能力,但是修改的数据集建议小于等于8 MB。如果您不使用上述脚本删除的话,需要手动限制每次删除数据的大小。

示例:

  • 推荐方案(将每次删除的数据量限制在1024 Byte)

    String dsl ="g.V().limit(1024).drop()";
    ResultSet results = client.submit(dsl);
  • 普通方案

    String dsl ="g.V().drop()";
    ResultSet results = client.submit(dsl);
上一篇: 性能优化 下一篇: 参考文档
阿里云首页 图数据库 相关技术圈