美文网首页
图数据库nebula

图数据库nebula

作者: 后知不觉1 | 来源:发表于2024-04-10 20:34 被阅读0次

    nebula

    将点与点连接的数据存储,并提供快速查询的能力。
    核心概念: 图,vid,索引,点,边
    通过vid,查找点与点的联系并将边一起带上返回

    1. 图空间

    #创建图空间
    CREATE SPACE IF NOT EXISTS my_space_2 (partition_num=15, replica_factor=1, vid_type=FIXED_STRING(256));
    ### 图空间创建说明
    # space名称:my_space_2
    # partition_num空间分配数,建议为硬盘数量的20倍
    # replica_factor 副本数 至少1,
    # vid_type 指定vid的类型,FIXED_STRING(256)定长字符串超过会报错无法使用
    # comment 描述
    
    #使用图空间,跟mysql的use test一样;
    use my_space_2; 
    

    2. VID

    vid在同一个图空间中必须唯一,一个图空间只能选择一种vid类型,一种为int65

    vid相当于mysql 中的主键,通过vid 查询点是效率最高的一种方式

    vid 生成建议: 通过属性组成唯一的字符串来表达vid;

    通过vid 查询时不需要走索引,vid查找时直接找的是vid因此比较快。nebula也推荐通过vid 方式查询,不推荐通过索引方式

    demo 比如链路血缘中: type:database:table

    3. 索引

    省略

    4. 点tag

    #创建点
    CREATE tag IF NOT EXISTS table (name string,type int DEFAULT 1) TTL_DURATION=100,TTL_COL="name";
    # 点名称:
    # TTL_DURATION 过期时间默认s
    # TTL_COL 过期列
    # vid_type 指定vid的类型,FIXED_STRING(256)
    # comment 无描述
    
    #使用图空间,跟mysql的use test一样;
    use my_space_2; 
    

    5. 边

    #创建点说明
    CREATE edge IF NOT EXISTS task (name string,age int DEFAULT 20);
    ### 图空间创建说明
    # 名称:
    # partition_num空间分配数,建议为硬盘数量的20倍
    # replica_factor 副本数 至少1,
    # vid_type 指定vid的类型,FIXED_STRING(256)
    # comment 无描述
    
    #使用图空间,跟mysql的use test一样;
    use my_space_2; 
    

    字段血缘

    #插入边
    'INSERT EDGE col_to_col (taskId, taskType, createTime) VALUES "%s"->"%s"@%s :("%s", "%s", %d)';
    #插入点, 点就是tag
    'insert VERTEX ON column "" SET createTime="", tableType="";'
    # 插入多个点
    INSERT VERTEX t2 (name, age) VALUES "13":("n3", 12), "14":("n4", 8); 
    

    demo

    insert VERTEX column (createTime,tableType) values "2:bdp:dwd_plineage_test:ttttyyyy_11:namexiaoyu":(1710173220,"OTHER");
    insert VERTEX column (createTime,tableType) values "2:bdp:dwd_plineage_test:ttttyyyy_11:nametian":(1710173220,"OTHER");
    INSERT EDGE col_to_col (taskId, taskType, createTime) VALUES "2:bdp:dwd_plineage_test:ttttyyyy_11:nametian"->"2:bdp:dwd_plineage_test:ttttyyyy_11:namexiaoyu"@203884 :("203884","3", 1710173220)
    //往下查询
    GET SUBGRAPH WITH PROP 1 STEPS from "2:bdp:dwd_plineage_test:ttttyyyy_11:nametian" OUT col_to_col YIELD VERTICES as nodeInfo,EDGES AS edgeInfo;
    

    相关文章

      网友评论

          本文标题:图数据库nebula

          本文链接:https://www.haomeiwen.com/subject/ysfcxjtx.html