2024年网络安全最全图数据库JanusGraph入门(一)JanusGraph初识

图数据库是什么?

💬图数据库就是用来存储图结构的数据库。图数据库也是属于NoSQL一种。

-NoSQL数据库大致可以分为以下几类:

  • 键值对(key-value)数据库(遵循“键——值”模型,是最简单的数据库管理系统):如Memcache、Redis、Berkeley DB、SQLite…
  • 列簇式数据库(按照列(由“键——值”对组成的列表)在数据文件中记录数据,以获得更好的请求及遍历效率。一行中的列数允许动态变化,且列的数目可达数百万,每条记录的关键码不同,支持多值列。):如HBase、hive、sybase IQ/SAPIQ、GreenPlum…
  • 文档型数据库(无固定结构,不同的记录允许有不同的列数和列类型。列允许包含多值,记录允许嵌套):如Mongodb、Couchbase、Amazon DynamoDB、CouchDB、MarkLogic…
  • 图数据库(以“点——边”组成的网络(图结构)来存储数据):如Neo4j、JanusGraph、OrientDB、Titan、Virtuoso、ArangoDB …
  • 搜索引擎(存储的目的是为了搜索,主要功能是搜索):如Elasticsearch、Solr、Splunk、MarkLogic、Sphinx…
  • 对象数据库(受面向对象编程语言的启发,把数据定义为对象并存储在数据库中,包括对象之问的关系,如继承):如Caché、db4o、Versant Object Database、ObjcctStore、Matisse …
  • 时序数据库(存储时间序列数据,每条记录都带有时间戳。如存储从感应器采集到的数据):如InfluxDB、RRDtool、Graphite、OpcnTSDB、Kdb+ …
图数据库的作用?

💬图数据库主要处理的是拓扑关系的图,善于处理大量、复杂、互联、多变的网状海量数据,其效率远远高于传统的关系型数据库。就比如下面的图:
在这里插入图片描述

图数据库应用背景

💬图数据库所提供的关联分析能力是金融反欺诈、威胁情报、黑产打击和案件溯源等业务所需要的核心能力。图数据库的需求非常多,例如金融安全业务希望使用图数据库进行金融反欺诈关联分析、威胁情报业务希望通过图数据库进行黑产研究和情报分析、还有社交关系分析、知识图谱等需求场景。

二、JanusGraph简介

JanusGraph简介

💬JanusGraph是一个图形数据库引擎。其本身专注于紧凑图序列化、丰富图数据建模、高效的查询执行。另外,JanusGraph利用Hadoop进行图分析和批处理图处理。JanusGraph为数据持久性、数据索引、客户端访问实现了强大的模块化接口。JanusGraph的模块化体系结构使其可以与多种存储、索引、客户端技术进行互操作。它还简化了扩展JanusGraph以支持新的过程。

JanusGraph可以适配多种数据库和索引。JanusGraph默认支持以下的适配,但是JanusGraph的模块化架构使得也支持第三方的适配器。
数据库

  • Apache Cassandra
  • Apache HBase
  • Oracle Berkeley DB Java版

索引

  • Elasticsearch
  • Apache Solr
  • Apache Lucene
JanusGraph的发展历史

💬JanusGraph是2016年12月27日从Titan fork出来的一个分支,之后TiTan的开发团队在2017年陆续发了0.1.0rc1、0.1.0rc2、0.1.1、0.2.0等四个版本,最新的版本是2017年10月12日。 titan是从2012年开始开发,到2016年停止维护的一个分布式图数据库。最初在2012年启动titan项目的公司是Aurelius,2015年此公司被 DataStax(DataStax是开发apache Cassandra 的公司)收购,DataStax公司吸收了TiTan的图存储能力,形成了自己的商业产品DataStax Enterprise Graph。

TiTan开发者们希望把TitTan放到Apache Software Foundation下,不过,DataStax不愿意这样做(可能考虑到要保护自己的商业产品DataStax Enterprise Graph的技术优势吧,其实这点优势是从Titan来的),而且自从2015年9月DataStax收购了Titan的母公司后,TiTan一直处于停滞状态(应该是DataStax收购之后,忙于推出自己的商业产品DataStax Enterprise Graph,忙于整合Titan进自己的商业产品吧,可是Titan本身没有得到发展)。鉴于此,2016年6月,TiTan的开发者们fork了一个TiTan的分支(因为Titan已经属于DataStax了,所以他们必须另外弄一个商标),重命名为JanusGraph,并将其置于Linux Software Foundation下。

2017年4月6日发布了第一个版本0.1.0-rc1,目前最新版本是2017年10月12日发布的0.2.0版。

JanusGraph项目启动的初衷是“通过为其增加新功能、改善性能和扩展性、增加后端存储系统来增强分布式图系统的功能,从而振兴分布式图系统的开发”,JanusGraph从Apahce TinkerPop中吸收了对属性图模型(Property Graph Model)的支持和对属性图模型进行遍历的Gremlin遍历语言。(“reinvigorate development of the distributed graph system to add new functionality, improve performance and scalability, and maintain a variety of storage backends,JanusGraph incorporates support for the property graph model with the open source graph computing framework Apache TinkerPop and its Gremlin graph traversal language”.)

JanusGraph的架构图

💬它的整体架构,大致分为三部分:

  • 图计算框架(TinkerPop)
  • 数据存储(Cassandra,HBase,BerkeleyDB)
  • 索引存储(Elasticsearch,Solr,Lucene)

JanusGraph从其框架上来说,是起到一个桥梁的作用。将各种开源的软件连接到一起,形成一个大型图数据库
在这里插入图片描述

二、 JanusGraph的优势及特点

JanusGraph的优势

💬来源General JanusGraph Benefits

  • Support for very large graphs. JanusGraph graphs scale with the
    number of machines in the cluster.
  • Support for very many concurrent transactions and operational graph
    processing. JanusGraph’s transactional capacity scales with the
    number of machines in the cluster and answers complex traversal
    queries on huge graphs in milliseconds.
  • Support for global graph analytics and batch graph processing through
    the Hadoop framework.
  • Support for geo, numeric range, and full text search for vertices and
    edges on very large graphs.
  • Native support for the popular property graph data model exposed by
    Apache TinkerPop.
  • Native support for the graph traversal language Gremlin.
  • Numerous graph-level configurations provide knobs for tuning
    performance.
  • Vertex-centric indices provide vertex-level querying to alleviate
    issues with the infamous super node problem.
  • Provides an optimized disk representation to allow for efficient use
    of storage and speed of access.
  • Open source under the liberal Apache 2 license.

百度翻译版:

  • 支持非常大的图形。JanusGraph图随集群中的机器数量而扩展。
  • 支持很多并发事务和操作图处理。JanusGraph的事务处理能力随着集群中机器的数量而扩展,并在毫秒内回答大型图上的复杂遍历查询。
  • 通过Hadoop框架支持全局图分析和批处理图处理。
  • 支持对超大图形上的顶点和边进行地理、数字范围和全文搜索。
  • 对Apache TinkerPop公开的流行属性图数据模型的本机支持。
  • 对图遍历语言Gremlin 的本机支持。
  • 许多图形级配置提供了用于调整性能的旋钮。
  • 以顶点为中心的索引提供顶点级查询,以缓解臭名昭著的超级节点问题。
  • 提供优化的磁盘表示形式,以便高效使用存储和加快访问速度。
  • 开放源代码,使用Apache2许可证。
JanusGraph的特点
  • 后端数据存储可以由多种选择:Hbase、Cassandra、Google Bigtable等
  • 满足实时的复杂图遍历、满足ACID一致性的OLTP
  • 可以利用外部如ElasticSearch、Solr、Lucene软件,实现全量文档的搜索功能
  • 基于spark+hadoop的OLAP
  • 使用Gremlin语言查询;与Apache TinkerPop 项目高度兼容

OLTP

  • OLTP (Online Transactional Processing,联机事务处理)是专注于面向事务的任务的一类数据处理,通常涉及在数据库中插入,更新或删除少量数据,主要是处理大量用户下的大量事务。
  • OLTP事务实例: 在线银行、网上买一本书、预订一张机票、发送一个文本消息、电话推销员输入电话调查结果、呼叫中心员工查看和更新客户的详细信息

ACID

如何自学黑客&网络安全

黑客零基础入门学习路线&规划

初级黑客
1、网络安全理论知识(2天)
①了解行业相关背景,前景,确定发展方向。
②学习网络安全相关法律法规。
③网络安全运营的概念。
④等保简介、等保规定、流程和规范。(非常重要)

2、渗透测试基础(一周)
①渗透测试的流程、分类、标准
②信息收集技术:主动/被动信息搜集、Nmap工具、Google Hacking
③漏洞扫描、漏洞利用、原理,利用方法、工具(MSF)、绕过IDS和反病毒侦察
④主机攻防演练:MS17-010、MS08-067、MS10-046、MS12-20等

3、操作系统基础(一周)
①Windows系统常见功能和命令
②Kali Linux系统常见功能和命令
③操作系统安全(系统入侵排查/系统加固基础)

4、计算机网络基础(一周)
①计算机网络基础、协议和架构
②网络通信原理、OSI模型、数据转发流程
③常见协议解析(HTTP、TCP/IP、ARP等)
④网络攻击技术与网络安全防御技术
⑤Web漏洞原理与防御:主动/被动攻击、DDOS攻击、CVE漏洞复现

5、数据库基础操作(2天)
①数据库基础
②SQL语言基础
③数据库安全加固

6、Web渗透(1周)
①HTML、CSS和JavaScript简介
②OWASP Top10
③Web漏洞扫描工具
④Web渗透工具:Nmap、BurpSuite、SQLMap、其他(菜刀、漏扫等)
恭喜你,如果学到这里,你基本可以从事一份网络安全相关的工作,比如渗透测试、Web 渗透、安全服务、安全分析等岗位;如果等保模块学的好,还可以从事等保工程师。薪资区间6k-15k

到此为止,大概1个月的时间。你已经成为了一名“脚本小子”。那么你还想往下探索吗?

如果你想要入坑黑客&网络安全,笔者给大家准备了一份:282G全网最全的网络安全资料包评论区留言即可领取!

7、脚本编程(初级/中级/高级)
在网络安全领域。是否具备编程能力是“脚本小子”和真正黑客的本质区别。在实际的渗透测试过程中,面对复杂多变的网络环境,当常用工具不能满足实际需求的时候,往往需要对现有工具进行扩展,或者编写符合我们要求的工具、自动化脚本,这个时候就需要具备一定的编程能力。在分秒必争的CTF竞赛中,想要高效地使用自制的脚本工具来实现各种目的,更是需要拥有编程能力.

如果你零基础入门,笔者建议选择脚本语言Python/PHP/Go/Java中的一种,对常用库进行编程学习;搭建开发环境和选择IDE,PHP环境推荐Wamp和XAMPP, IDE强烈推荐Sublime;·Python编程学习,学习内容包含:语法、正则、文件、 网络、多线程等常用库,推荐《Python核心编程》,不要看完;·用Python编写漏洞的exp,然后写一个简单的网络爬虫;·PHP基本语法学习并书写一个简单的博客系统;熟悉MVC架构,并试着学习一个PHP框架或者Python框架 (可选);·了解Bootstrap的布局或者CSS。

8、超级黑客
这部分内容对零基础的同学来说还比较遥远,就不展开细说了,附上学习路线。
img

网络安全工程师企业级学习路线

img
如图片过大被平台压缩导致看不清的话,评论区点赞和评论区留言获取吧。我都会回复的

视频配套资料&国内外网安书籍、文档&工具

当然除了有配套的视频,同时也为大家整理了各种文档和书籍资料&工具,并且已经帮大家分好类了。

img
一些笔者自己买的、其他平台白嫖不到的视频教程。
img

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化资料的朋友,可以点击这里获取

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

  • 8
    点赞
  • 27
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
neo4j是一个基于数据库的开源软件,用于存储和处理大规模结构数据。 安装neo4j非常简单,只需要下载适合您操作系统的安装包,并按照安装向导进行操作即可。安装完成后,您可以通过访问http://localhost:7474来打开neo4j的浏览器界面,并进行数据库的操作。 药材供应谱是一个基于neo4j构建的示例谱。该谱用于存储和展示药材的供应链关系。假设我们有一些药材,每个药材有其自身的属性,如名称、功效等。同时,每个药材之间存在供应关系,即某些药材可以作为其他药材的原材料。 在neo4j中,我们可以为每个药材创建一个节点,并为其添加属性。例如,在谱中,我们可以创建一个名为“当归”的节点,它的属性可以包括名称为“当归”以及功效为“活血调经”的参数。 除了节点之外,我们还可以创建关系来表示不同药材之间的供应链关系。例如,我们可以创建一个关系“供应”,连接“当归”和“川芎”,表示“川芎”是“当归”的供应商。 通过使用数据库,我们可以轻松地查询和探索药材的供应链关系。例如,我们可以查找所有供应某个特定药材的供应商,或者查找某个药材的全部供应物。 总而言之,neo4j是一个功能强大的数据库,可以用于构建知识谱。药材供应谱是其中的一个示例,它可以帮助我们更好地理解和管理药材的供应链关系。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值