技术标签: 图数据库JanusGraph big data 数据库
最近开始学习图数据库了,图数据库JanusGraph(janus读音类:J+nes, jay 而不是je-nes),JanusGraph是一个分布式图数据库引擎,具有以下特性:
JanusGraph是一个可扩展的图数据库,可以把包含数千亿个顶点和边的图存储在多机集群上。它支持事务,支持数千用户实时、并发访问存储在其中的图。(JanusGraph is a scalable graph database optimized for storing and querying graphs containing hundreds of billions of vertices and edges distributed across a multi-machine cluster. JanusGraph is a transactional database that can support thousands of concurrent users executing complex graph traversals in real time.)
图数据库就是用来存储图结构的数据库。图数据库也是属于NoSQL一种。
-NoSQL数据库大致可以分为以下几类:
图数据库主要处理的是拓扑关系的图,善于处理大量、复杂、互联、多变的网状海量数据,其效率远远高于传统的关系型数据库。就比如下面的图:
图数据库所提供的关联分析能力是金融反欺诈、威胁情报、黑产打击和案件溯源等业务所需要的核心能力。图数据库的需求非常多,例如金融安全业务希望使用图数据库进行金融反欺诈关联分析、威胁情报业务希望通过图数据库进行黑产研究和情报分析、还有社交关系分析、知识图谱等需求场景。
JanusGraph是一个图形数据库引擎。其本身专注于紧凑图序列化、丰富图数据建模、高效的查询执行。另外,JanusGraph利用Hadoop进行图分析和批处理图处理。JanusGraph为数据持久性、数据索引、客户端访问实现了强大的模块化接口。JanusGraph的模块化体系结构使其可以与多种存储、索引、客户端技术进行互操作。它还简化了扩展JanusGraph以支持新的过程。
JanusGraph可以适配多种数据库和索引。JanusGraph默认支持以下的适配,但是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从其框架上来说,是起到一个桥梁的作用。将各种开源的软件连接到一起,形成一个大型图数据库
百度翻译版:
OLTP:
ACID:
OLAP
JanusGraph有如下核心概念:
(1)第一种方式:可以把JanusGraph嵌入到应用程序中去,JanusGraph和应用程序处在同一个JVM中。应用程序中的客户代码(相对JanusGraph来说是客户)直接调用Gremlin去查询JanusGraph中存储的图,这种情况下外部存储系统可以是本地的,也可以处在远程。
(2)第二种方式:应用程序和JanusGraph处在两个不同JVM中,应用通过给JanusGraph提交Gremlin查询给GremlinServer,来使用JanusGraph,因为JanusGraph原生是支持Gremlin Server的。(Gremlin Server是Apache Tinkerpop中的一个组件)。
常用数据库有哪些(附带数据库排名)?
JanusGraph
JanusGraph(一)–简介
JanusGraph:图数据库系统简介
JanusGraph学习之路:(1)概述
什么是OLTP?
OLAP基础
文章浏览阅读9.9k次,点赞5次,收藏38次。 ▌01 CH340E芯片手边拿到从龙邱公司寄送过来20颗 CH340E 的USB转UART的芯片。下面通过制作测试版验证它的功能。1.管脚功能定义▲ CH340管脚功能定义2.典型应用电路VCC可以使用+5V;VCC可以使用3.3V,此时V3,VCC应该短接在一起。▲ 典型应用电路3.CH340E下面给出 了CH340E的管脚功能定义。它的封装为MSOP-10。![](https://img-blog.csdnimg.cn/20210406103413169.pn._ch340e
文章浏览阅读4.5k次。概念说明Apache Commons CLI 简介 Apache Commons CLI 是 Apache 下面的一个解析命令行输入的工具包,该工具包还提供了自动生成输出帮助文档的功能。 Apache Commons CLI 支持多种输入参数格式,主要支持的格式有以下几种: POSIX(Portable Operating System Interface o..._apache posixparser
文章浏览阅读1.1k次,点赞3次,收藏11次。关于汉字转拼音的Pinyin4j工具使用1 Pinyin4j的简介2 Pinyin4j的使用1 添加maven依赖2 添加汉字转拼音工具类关于汉字转为拼音的相关实现,通常使用Pinyin4j框架,整理一下Pinyin4j的使用官方文档:http://pinyin4j.sourceforge.net/1 Pinyin4j的简介Pinyin4j 是一个流行的Java开源类库,支持中文字符和拼音之间的转换。拼音输出格式可以定制。支持功能:支持简体中文和繁体中文字符支持转换到汉语拼音,通用拼音_pinyin4j-2.5.1.jar
文章浏览阅读88次。雷递网 雷建平 4月23日报道凌云光技术股份有限公司(简称:“凌云光”)日前通过注册,预计近期在科创板上市。凌云光计划募资15亿元。其中,6亿元用于工业人工智能太湖产业基地,2.9亿元用于工业人工智能算法与软件平台研发项目,2.1亿元用于先进光学与计算成像研发项目,4亿元用于科技与发展储备资金。税收优惠占利润比例高凌云光长期从事机器视觉及光通信业务,服务多个行业,目前战略..._税收优惠占利润总额的比例怎么算
文章浏览阅读998次。WingOfStar☆ 的 【Maya】角色表情绑定-BlendShape的使用技巧角色表情的制作在Maya中,可以理解为模型点的位移。Maya中对于点的控制有多种方式:Springs(弹性约束),Particles(粒子控制),WeightedDeformer(变形权重),RigidSkins(刚直蒙皮),BlendShapeDeformers(融合变形),SmoothSkins(光滑蒙皮)等,..._maya blendshape拆左右
文章浏览阅读1.8k次。在本次tw的训练营中,接触到了Tasking这个新的编程思维框架。于是顺着看完仝键老师《像机器一样思考》几篇文章后,顿时觉得打开了编程世界的新大门。主要的概括大概是这样的:分解问题找到子问题之间的关联(通过输入输出关联起来)找到问题的边界,明确假设与结果。所以我还是忍不住想把其中的一个例子copy过来:question:写一个函数,可以选出一个由数字组成的集合当中所..._tasking section
文章浏览阅读176次。python 生成器和迭代器有这篇就够了转载:https://www.cnblogs.com/wj-1314/p/8490822.html 本节主要记录一下列表生成式,生成器和迭代器的知识点 列表生成器 首先举个例子现在有个需求,看列表 [0,1,2,3,4,5,6,7,8,9],要求你把列表里面的每个值加1,你怎么实现呢?方法一(简单): 1 2..._python中得生成器是每次只能返回一个结果还是可以返回两个结果
文章浏览阅读179次。23种设计模式之(十九)备忘录模式(Memento)本文主要介绍23种设计模式之备忘录模式,附详细python/c++示例代码。概念应用场景注意事项代码示例总结代码链接备忘录模式(Memento)概念备忘录模式,是行为模式之一,它的作用是保存对象的内部状态,并在需要的时候(undo/rollback)恢复对象以前的状态。GoF对备忘录模式的定义是:在不破坏封装性的前提下..._备忘录模式 python实现
文章浏览阅读627次,点赞25次,收藏15次。具体到MPM-B1151T-MJ72AA这个型号,其中的“MPM”可能代表电机类型或系列,“B1151T”可能是表示电机的规格或参数,“MJ72AA”可能是指特定的配置或编码。MPM-B1151T-MJ72AA 伺服电机通常具有高精度、高响应速度、高可靠性等特点,适用于需要精确控制位置、速度和加速度的工业自动化应用中。如果你正在考虑使用MPM-B1151T-MJ72AA伺服电机,建议根据实际应用需求,结合罗克韦尔自动化的产品资料和技术支持,进行详细的评估和选择。施耐德SCHNEIDER。
文章浏览阅读479次。2-8 跨平台client文章目录2-8 跨平台client0-前言1-client代码0-前言【C++百万并发网络通信】系列是跟着【张远东】老师的视频来复现的希望能通过博客的方式不断坚持学习,也希望偶然间看到这篇博客的你也能一起加油!笔记目录:【C++百万并发网络通信-笔记目录】1-client代码#ifdef _WIN32 #define WIN32_LEAN_AND_MEAN #define _WINSOCK_DEPRECATED_NO_WARNINGS #i_client.linux-1.1.so
文章浏览阅读470次,点赞13次,收藏15次。同时,其简洁的界面和流畅的操作流程也给用户带来了良好的体验。该软件界面设计独特且富有创意,同时提供了语音识别和语音合成的双向功能,并且具有多语言支持的特点,为用户带来了一种全新的使用体验。软件支持实时语音转写功能,适合个人用户进行简单的语音记录,其准确性能满足大家的基本转录需求。该软件界面美观大方,同时提供了丰富的转写选项和定制化设置,能够满足人们个性化的需求。软件提供了详细的编辑工具,支持导出多种格式,非常适合在一些较为专业的场景下使用。这款软件的转写准确率较高,尤其是在处理清晰、标准的语音时。
文章浏览阅读1.2w次,点赞3次,收藏11次。首先创建服务端返回的数据类型对象:package com.studio.pojo.util;import org.codehaus.jackson.map.ObjectMapper;public class PlanResult { //定义jackson对象 private static final ObjectMapper MAPPER = new ObjectM_@result json javatype java.util.list