当前位置: 首页 > news >正文

深圳网站建设luony免费开源的企业建站系统

深圳网站建设luony,免费开源的企业建站系统,高端移动网站开发,成品源码1277目录 一、neo4j介绍 二、windows安装启动neo4j 2.1下载neo4j 2.2 解压文件 2.3 启动neo4j 三、neo4j基础操作 3.1 创建结点和关系 3.2 查询 3.3 更改 3.4 删除 四、技术血缘Demo实现 4.1 构建节点对象 4.2 构建存储对象 4.3 创建有属性关联关系 4.4 最后是图结果…目录 一、neo4j介绍 二、windows安装启动neo4j 2.1下载neo4j 2.2 解压文件 2.3 启动neo4j 三、neo4j基础操作 3.1 创建结点和关系 3.2 查询 3.3 更改 3.4 删除 四、技术血缘Demo实现 4.1 构建节点对象 4.2 构建存储对象 4.3 创建有属性关联关系 4.4 最后是图结果 五、总结 前言对于大公司或大部门团队之间相互合作、中间件的共同使用技术之间细节是不透明的遇到异常问题时定位排查困难如何清晰管理技术团队、中间件、数据之间的血缘关系这成为技术、产品、数据开发等人员的一个需求。 一、neo4j介绍 Neo4j 是一种开源的图数据库管理系统专注于存储和处理图结构数据。图数据库是一种专为处理图形和网络结构而设计的数据库其中的数据以节点和边或称关系的形式组成。Neo4j 提供了一种直观而高效的方式来表示和查询复杂的关系数据使得它特别适用于需要处理强关联和复杂网络结构的场景。 以下是 Neo4j 的主要特点和功能 图数据库模型 Neo4j 使用图数据库模型其中的数据被组织成节点和关系的网络。节点表示实体关系表示实体之间的关联而节点和关系都可以包含属性。Cypher 查询语言 Neo4j 使用 Cypher 查询语言这是一种专门用于图数据库的查询语言。Cypher 提供了一种直观且强大的方式来查询和修改图数据支持模式匹配、路径查询、聚合等操作。性能优化 Neo4j 通过采用类似索引结构的存储引擎可以快速地执行复杂的图查询。它还支持深度优先和广度优先的图遍历以及通过索引快速查找节点和关系。ACID 事务支持Neo4j 提供 ACID原子性、一致性、隔离性、持久性事务支持确保数据库的数据一致性和可靠性。灵活的数据模型 Neo4j 的数据模型非常灵活可以轻松地表示多对多、多对一、一对多等各种关系。这使得它在处理复杂网络结构和强关联数据时非常强大。支持图算法 Neo4j 提供了一系列内置的图算法如最短路径、广度优先搜索、社交网络中的社区发现等帮助用户进行更复杂的图分析。可视化工具 Neo4j 提供了直观的可视化工具使用户能够直观地查看和理解图数据的结构。这有助于开发人员和分析师更好地理解数据和关系。社区和生态系统Neo4j 拥有一个活跃的开源社区提供了大量的文档、示例和插件。此外它还有丰富的生态系统包括各种工具和驱动程序与其他数据存储和处理系统集成。 Neo4j 在许多应用领域中得到广泛应用包括社交网络分析、推荐系统、生物信息学、网络安全分析等。其图数据库的模型和查询语言使其成为处理复杂关系数据的强大工具。 二、windows安装启动neo4j 2.1下载neo4j 1.从官网下载https://neo4j.com/download/ 2.直接获取资源包上手推荐https://dist.neo4j.org/neo4j-community-3.5.30-windows.zip 2.2 解压文件 点击解压 2.3 启动neo4j 在neo4j的bin目录下运行CMD 启动服务neo4j.bat console 在页面登录链接http://localhost:7474/ 默认账号密码一般默认的是:用户:neo4j, 密码:neo4j;登陆后重新设置密码如123456 UI页面 三、neo4j基础操作 有四个基础概念 节点标签属性关系 3.1 创建结点和关系 创建结点 3.1.1创建只有一个标签没有属性的节点 语法CREATE (node-name:label-name) 示例CREATE (m:sdk) 注解()里”:“前第一个”m“是结点别名:后第二个sdk是结点标签别名可以随意写标签固定。 3.1.2创建一个有属性的节点 语法CREATE ( node-name:label-name { key:Value }) 示例create (mobile:sdk {name:name1}) 注解{}里是属性以json格式展示。 3.1.3创建多个标签到节点 语法CREATE (node-name:label-name1:label-name2.....:label-namen) 示例CREATE (m:sdk:usercode {name:name1}) 注解以上创建了一个当前别名为m,标签为sdk和usercode,属性namename1的结点 创建关系 3.1.4各两个新结点创建无属性关系 create(m:sdk{type:SDK})-[r:write]-(n:api{name:lxApi}) return m,r,n 3.1.5给两个存在节点创建有属性关系 match(m:sdk{type:SDK}) match(n:api{name:lxApi}) create(m)-[r:upZip]-(n) return n,m,r 3.2 查询 从数据库获取有关节点和属性的数据从数据库获取有关节点关系和属性的数据 MATCH检索Return返回信息 通过标签查询 语法MATCH(node-name:label-name) 示例示例MATCH (m:sdk) return m 通过标签属性查询 语法MATCH(node-name:label-name{filed:value1}) 示例示例MATCH (n:sdk{name:name1}) eturn n 3.3 更改 添加标签 match (m:sdk{name:name1}) SET m:sdk:user RETURN m; 添加属性 match (m:sdk{name:name1}) set m.userNameuser1 return m 3.4 删除 通过id来删除 match(n) where id(n)86 delete n 通过属性来删除 match(n:sdk{name:name1}) delete n 通过标签来删除 match(n:sdk) delete n 删除节点关系再删除节点 match(n) where id(n)34 match(m) where id(m)30 match(n)-[r:write]-(m) delete r 删除结点属性 MATCH (n:sdk{name:lxApi}) remove n.name return n 删除结点标签 match(n:sdk{name:name1}) remove n:userName return n 删除节点和节点关联关系 MATCH (s:sdk{name:name1}) DETACH DELETE s; 删除所有节点 MATCH (n) DETACH DELETE n 删除所有关系 start rrelationship(*) delete r; 四、技术血缘Demo实现 本次技术血缘demo涉及三个团队,三个中间件用neo4j图数据库构建技术血缘关系。 通过SDK采集移动端APP的数据内部API用于管理采集服务最后依次存储到HDFS、Kafka、ES。 4.1 构建节点对象 1.业务服务对象创建 构建采集节点SDK create(m:sdk:mobile{name:yzSdk,type:SDK,message:驿站SDKapp消息采集} ) create(m:sdk:mobile{name:jscSdk,type:SDK,message:驾驶舱SDKapp消息采集}) create(m:sdk:mobile{name:xcSdk,type:SDK,message:星辰SDKapp消息采集}) create(m:sdk:mobile{name:xzSdk,type:SDK,message:行者SDKapp消息采集}) 查询sdk节点 MATCH (e:sdk) RETURN e 2.构建采集API管理对象数据节点 create(n:api:xlp{name:lxApi,type:api,message:离线API提交zip包存储元数据到kafka}) create(n:api:xlp{name:ssApi,type:api,message:实时API上传实时数据到kafka}) 2.1构建配置索引接口节点 create(n:api:xlp{name:configApi,type:api,message:配置索引将消息写入不同索引库}) 查询Api节点MATCH (n:api) RETURN n 4.2 构建存储对象节点 构建hdfs存储对象 create(s:hdfs:xlp{name:hdfs_file,hosts:ipList,type:hdfs,message:移动端离线上传zip包hdfs存储地址}) 构建Kafka元数据存储Topic create(s:kafka:xlp{topic:id_metadata_info,hosts:ipList,type:kafka,message:移动端离线上传zip包元数据信息}) 构建kafka存储Topic create(s:kafka:xlp{topic:XLP_MOBILE_LOG,hosts:ipList,type:kafka,message:星洲kafka集群Topic,存储移动端解压数据}) create(s:kafka:xlp{topic:xlp-log-body,hosts:ipList,type:kafka,message:星洲kafka集群Topic,存储移动端实时上传数据}) create(s:kafka:xlp{topic:id_m_crash,hosts:ipList,type:kafka,message:星洲kafka集群Topic,存储移动端实时上传崩溃数据}) 查询Kafka存储节点MATCH (s:kafka) RETURN s 构建ES存储索引 create(s:es:xlp{index:id_m_1000*,hosts:ipList,type:es,message:星洲ES集群索引,存储移动端详情数据}) create(s:es:xlp{index:xlp_dev_appid_version_brand_record,hosts:ipList,type:es,message:星洲ES集群索引,存储app指标分析结果}) create(s:es:xlp{index:id_m_user_device_*,hosts:ipList,type:es,message:星洲ES集群索引,存储用户分析指标结果}) create(s:es:xlp{index:id_m_crash_*,hosts:ipList,type:es,message:星洲ES集群索引,存储移动端崩溃日志}) create(s:es:xlp{index:xlp_mobile_message_id_*,hosts:ipList,type:es,message:星洲ES集群索引,存储移动端崩溃message大字段信息}) create(s:es:xlp{index:id_network_*,hosts:ipList,type:es,message:移动端上传网络详细}) create(s:es:xlp{index:id_m_1000*,hosts:ipList,type:es,message:移动端上传用户登录时长详情增加UsedTime字段}) create(s:es:xlp{index:id_m_crash*,hosts:ipList,type:es,message:移动端上传崩溃详情索引}) ES存储对象MATCH (e:es) RETURN e 构建处理对象(Flink) create(f:flink:xlp{name:UnZipTask,type:flink,message:解压zip读kafka,从HDFS获取zip解压存入Kafka}) create(f:flink:xlp{name:MobileToEs,type:flink,message:读kafka,分发数据到不同索引}) create(f:flink:xlp{name:UserAnalToEs,type:flink,message:读topic,计算用户指标结果存入es}) create(f:flink:xlp{name:fDevAnalToEs,type:flink,message:读topic,计算app指标j结果存入es}) create(f:flink:xlp{name:ssMobileToES,type:flink,message:读实时topic分发结果到es}) 查询Flink任务节点MATCH (f:flink) RETURN f 4.3 创建有属性关联关系 4.3.1离线上传对象关联 match(m:sdk{type:SDK}) match(n:api{name:lxApi}) create(m)-[r:upZip]-(n) return n,m,r 4.3.2实时上传数据关联 match(m:sdk{type:SDK}) match(n:api{name:ssApi}) create(m)-[r:toLineData]-(n) return n,m,r 4.3.3 离线上传处理关联 记录元数据 match(n:api{name:lxApi}) match(h:kafka{topic:id_metadata_info}) create(n)-[r:mark]-(h) return n,h,r 上传zip包 match(n:api{name:lxApi}) match(h:hdfs{name:hdfs_file_name}) create(n)-[r:mark]-(h) return n,h,r match(k:kafka{topic:id_metadata_info}) match(h:hdfs{name:hdfs_file_name}) create(k)-[r:relation]-(h) return k,h,r match(k:kafka{topic:id_metadata_info}) match(h:hdfs{name:hdfs_file_name}) create(k)elation]-(h) return k,h,r 4.3.4 flink解压关联 match(k:kafka{topic:id_metadata_info}) match(f:flink{name:UnZipTask}) create(k)-[r:read]-(f) return k,f,r match(h:hdfs{name:hdfs_file_name}) match(f:flink{name:UnZipTask}) create(f)-[r:read]-(h) return h,f,r 4.3.5 存储kafka关联 match(f:flink{name:UnZipTask}) match(k:kafka{topic:XLP_MOBILE_LOG}) create(f)-[r:read]-(k) return k,f,r 4.3.6任务解析关联 UserAnalToEs 、fDevAnalToEs match(k:kafka{topic:XLP_MOBILE_LOG}) match(f:flink{name:UserAnalToEs}) create(k)-[r:read]-(f) return k,f,r match(k:kafka{topic:XLP_MOBILE_LOG}) match(f:flink{name:fDevAnalToEs}) create(k)-[r:read]-(f) return k,f,r match(k:kafka{topic:XLP_MOBILE_LOG}) match(f:flink{name:MobileToEs}) create(k)-[r:read]-(f) return k,f,r 4.3.7 ES任务存储关联 match(f:flink{name:MobileToEs}) match(e:es{index:id_m_1000*}) create(f)-[r:wirte]-(e) return e,f,r match(f:flink{name:UserAnalToEs}) match(e:es{index:id_m_user_device_*}) create(f)-[r:wirte]-(e) return e,f,r match(f:flink{name:fDevAnalToEs}) match(e:es{index:xlp_dev_appid_version_brand_record}) create(f)-[r:wirte]-(e) return e,f,r 4.3.8 配置索引关联 match(a:api{name:configApi}) match(b:api{name:lxApi}) create(a)-[r:wirte]-(b) return a,b,r match(a:api{name:configApi}) match(b:api{name:ssApi}) create(a)-[r:wirte]-(b) return a,b,r match(a:api{name:configApi}) match(b:es{index:id_m_1000*}) create(a)-[r:wirte]-(b) return a,b,r 4.3.9 实时任务存储关系 match(a:api{name:ssApi}) match(t:kafka{topic:xlp-log-body}) create(a)-[r:wirte]-(t) return a,t,r 4.3.10 分发存储关系 match(t:kafka{topic:xlp-log-body}) match(e:es{index:id_network_*}) create(t)-[r:wirte]-(e) return e,t,r match(t:kafka{topic:xlp-log-body}) match(e:es{index:id_m_1000*}) create(t)-[r:wirte]-(e) return e,t,r 4.3.11 崩溃日志关系 match(a:api{name:ssApi}) match(k:kafka{topic:id_m_crash}) create(a)-[r:uoData]-(k) return a,k,r match(k:kafka{topic:id_m_crash}) match(f:flink{name:ssMobileToES}) create(k)-[r:uoData]-(f) return f,k,r match(f:flink{name:ssMobileToES}) match(e:es{index:id_m_crash*}) create(f)-[r:wirte]-(e) return e,f,r 4.4 最后是图结果 五、总结 技术血缘建立在数据血缘之上除了可以在节点构建数据详情映射管理数据血缘还可以将数据整个数据生命周期过程的使用的技术细节管理到血缘关系中。对数据管理人员、技术人员和产品经理等各方都可以做到技术和数据的透明管理。
http://www.zqtcl.cn/news/93656/

相关文章:

  • 外贸公司网站空间哈尔滨seo优化专注
  • 建筑行业综合查询平台优化推广联盟
  • 北京管庄网站建设公司开平网站制作
  • 如何做销售直播网站最专业网站建设
  • 太原市住房和城乡建设局的网站首页网络推广服务外包公司
  • 湘icp备 网站建设 农业 湖南稿定设计免费版
  • 公司网站推广方法陕西省住房建设厅官网
  • 网站关键词排名突然没了无锡企业网站建设报价
  • 找做网站的人网站改版 301跳转
  • 网站备案一次就可以了吧营销管理培训课程
  • 怎么做网站背景专做民宿预定的网站
  • wordpress安装谷歌分析代码建网站seo
  • 百度外卖网站建设与维护方法建设 银行网网站
  • 小程序开发定制开发上海优化价格
  • 来宾住房和城乡建设局网站做外贸推广要做哪些平台
  • 无锡建设网站制作wordpress 知乎
  • 动漫网站源码免费怎么怎么做网站
  • 和两个黑人同时做网站中工互联网站建设
  • windows10PHP 网站建设app应用分发平台开发
  • 中唯建设工程有限公司网站做网站页面对PS切图
  • 个人网页制作成品欣赏seo网站沙盒期
  • 亚马逊站外推广网站怎么做制作营销网站模板免费下载
  • 加拿大网站后缀设计师互联网
  • 做物流的网站有哪些内容共同建设网站心得
  • 主题资源网站建设什么网站做污水处理药剂的好
  • 河北建设厅网站修改密码在哪58同城宿迁二手房
  • 淘宝联盟的购物网站怎么做免费网站模板素材
  • 淄博市网站云平台长沙seo 优化选智投未来no1
  • 手机网站导航模板wordpress子域名设置
  • 济南市网站推广公司甘肃网站建设方案优化