精华内容
下载资源
问答
  • Titan

    2016-05-31 18:29:00
    Titan优势 Titan (1)支持很大的图,集群中机器越大,图越大 (2)支持很大的并发事务,并发图形处理。大图的复杂查询在毫秒级响应 (3)用hadoop进行图形分析和批量图形处理 (4)用TinkerPop完成图形数据模型 ...

    一. Titan优势

    1. Titan
      (1)支持很大的图,集群中机器越大,图越大
      (2)支持很大的并发事务,并发图形处理。大图的复杂查询在毫秒级响应
      (3)用hadoop进行图形分析和批量图形处理
      (4)用TinkerPop完成图形数据模型
      (5)Gremlin作为图形遍历sql
      (6)解决super node问题(给顶点的关联边添加kv参数)

    2. Titan with Cassandra与Titan with Hbase
      (1)hadoop + 强一致性
      【系统中的某个数据被成功更新后,后续任何对该数据的读取操作都将得到更新后的值。分布式系统需要花时间在节点数据更新复制上,严格一致性不存在,要尽量减小节点间数据的复制时间】
      (2)CAP原则:在一个分布式系统中, Consistency(一致性)、 Availability(可用性)、Partition tolerance(分区容错性),三者不可得兼

      ( a ) 一致性:所有数据备份,在同一时间有相同的值
      ( b ) 可用性:集群中一部分节点出故障后,是否还响应客户端的读写请求
      ( c ) 分区容错性:如果分布式系统在一短时间内不能达到一致性,就说明节点间发生了分区现象,要从等待一致性和响应请求的可用性上作出权衡

      (3)hbase会停止响应,cassandra在非一致的情况下返回数据

    二. Titan架构

    1. OLTP :
      (1)实时性,带有事务的数据量小的存取操作 (RDBMS)
      (2)Cassandra,HBase,BerkeleyDB
    2. OLAP :
      (1)实时性低的,数据量大的分析操作 (数据仓库)
      (2)Spark,Hadoop,Giraph

    转载于:https://www.cnblogs.com/72808ljup/p/5546935.html

    展开全文
  • titan

    2016-06-15 15:37:00
    (1)titan:存储,查询图形结构的数据库。分布式集群环境下,可支持数以千亿级别的点和边,同时支持上千个并发的实时的复杂图形遍历,支持ACID事务。 (2)架构:支持以下3方面的自由组合 节点和边的存储: ...
    1. 简介
      (1)titan:存储,查询图形结构的数据库。分布式集群环境下,可支持数以千亿级别的点和边,同时支持上千个并发的实时的复杂图形遍历,支持ACID事务。
      (2)架构:支持以下3方面的自由组合
      • 节点和边的存储:
        • Apache Cassandra
        • Apache HBase
        • Oracle BerkeleyDB(测试使用)
      • 图形分析组件:
        • Spark
        • Giraph
        • Hadoop
      • 地理,数值,全文检索支持
        • ElasticSearch
        • Solr
        • Lucene
    2. titan-hbase-es部署范例
      (1)版本对应
      titan:0.54-hadoop2,hbase:1.1.5 (版本相对宽松),elasticsearch:1.4,rexster-server:2.6
      (2)titan server部署
      • rexster-server解压
      • 修改config/rexster.xml文件,添加如下内容

        <graph>
            <graph-enabled>true</graph-enabled>
            <graph-name>titanexample</graph-name>
            <graph-type>com.thinkaurelius.titan.tinkerpop.rexster.TitanGraphConfiguration</graph-type>
            <graph-location></graph-location>
            <graph-read-only>false</graph-read-only>
            <properties>  
        <storage.backend>hbase</storage.backend>
        <storage.hostname>localhost:2181,localhost:2182,localhost:2183</storage.hostname>
        <storage.hbase.table>facebook</storage.hbase.table>
        <index.search.backend>elasticsearch</index.search.backend>
        <index.search.elasticsearch.client-only>true</index.search.elasticsearch.client-only>
        <index.search.hostname>127.0.0.1</index.search.hostname>
        <index.search.index-name>facebook</index.search.index-name>
            </properties>
            <extensions>
            <allows>
                <allow>tp:gremlin</allow>
            </allows>
            </extensions>
        </graph>
      • 复制titan jar包到rexster lib
      cp   TITAN_HOME/lib/*    REXSTER_HOME/ext/titan/
      • 删除rexster/lib下的lucene相关jar包,会与titan的引起冲突
      • 开启rexster
      ./bin/rexster.sh -s -c ./config/rexster.xml
      • 访问http://ip:8182/graphs/titanexample,REST
    3. titan server接口
      (1)RexPro二进制协议
      java public class TestClient { public static void main(String[] args) throws Exception { RexsterClient client = RexsterClientFactory.open("localhost", "titanexample"); List<Map<String,Object>> result; result = client.execute("aa=g.V.has('name','saturn');aa.next()"); //result = client.execute("g.getManagementSystem().get(‘cache.db-cache’)"); // result.toString(): [{name="jupiter"}] System.out.println(result); client.close(); } }
      xml <dependency> <groupId>com.tinkerpop.rexster</groupId> <artifactId>rexster-protocol</artifactId> <version>2.6.0</version> </dependency>
      (2)thinkerpop - REST协议

    4. “红楼梦宗谱”示例
      (1)编写blueprint脚本,设置schema,索引,添加将节点数据
      ```java
      com.thinkaurelius.titan.core.schema.TitanManagement mgmt = g.getManagementSystem();
      //点的属性名
      com.thinkaurelius.titan.core.PropertyKey name = mgmt.makePropertyKey("name").dataType(String.class).make();
      com.thinkaurelius.titan.core.PropertyKey age = mgmt.makePropertyKey("age").dataType(Integer.class).make();
      // 点的标签名
      mgmt.makeVertexLabel("people").make(); //该点表示人
      mgmt.makeVertexLabel("hobby").make(); //该点是一个运动
      // 给点的姓名年龄建索引
      mgmt.buildIndex("name",Vertex.class).addKey(name).unique().buildCompositeIndex(); // "search"是配置文件中的标识符
      mgmt.buildIndex("vertices",Vertex.class).addKey(age).buildMixedIndex("search"); // mixedIndex是外部索引,用es存储索引

      // 边的属性
      mgmt.makeEdgeLabel("father").multiplicity(com.thinkaurelius.titan.core.Multiplicity.MANY2ONE).make();
      mgmt.makeEdgeLabel("mother").multiplicity(com.thinkaurelius.titan.core.Multiplicity.MANY2ONE).make();
      mgmt.makeEdgeLabel("hobby").multiplicity(com.thinkaurelius.titan.core.Multiplicity.MULTI).make();
      com.thinkaurelius.titan.core.PropertyKey time = mgmt.makePropertyKey("time").dataType(Integer.class).make();
      com.thinkaurelius.titan.core.EdgeLabel love = mgmt.makeEdgeLabel("love").signature(time).make();//什么时候确立爱情挂席
      mgmt.buildEdgeIndex(love,"lovetime", Direction.BOTH, com.thinkaurelius.titan.core.Order.DESC,time);
      mgmt.commit();

      //插入点
      com.thinkaurelius.titan.core.TitanTransaction tx = g.newTransaction();
      Vertex jiazheng = tx.addVertexWithLabel("people"); // 贾政
      jiazheng.setProperty("name","贾政");
      jiazheng.setProperty("age",48);
      Vertex jiabaoyu = tx.addVertexWithLabel("people"); // 贾宝玉
      jiabaoyu.setProperty("name","贾宝玉");
      jiabaoyu.setProperty("age",18);
      Vertex wangfuren = tx.addVertexWithLabel("people"); // 王夫人
      wangfuren.setProperty("name","王夫人");
      wangfuren.setProperty("age",47);
      Vertex xuebaochai = tx.addVertexWithLabel("people"); // 薛宝钗
      xuebaochai.setProperty("name","薛宝钗");
      xuebaochai.setProperty("age",17);

      Vertex cixiu = tx.addVertexWithLabel("hobby");
      cixiu.setProperty("name","刺绣");
      Vertex zuoshi = tx.addVertexWithLabel("hobby");
      zuoshi.setProperty("name","作诗");

      //插入边
      jiabaoyu.addEdge("father",jiazheng);
      jiabaoyu.addEdge("mother",wangfuren);
      ElementHelper.setProperties(jiabaoyu.addEdge("love",xuebaochai),"time",1001); // 贾宝玉爱林黛玉,"time"属性为1001
      wangfuren.addEdge("hobby",cixiu);
      xuebaochai.addEdge("hobby",zuoshi);

      tx.commit();
      (2)通过RexPro协议发送脚本到服务器java
      public static void main(String[] args) throws Exception {
      RexsterClient client = RexsterClientFactory.open("localhost", "titanexample");
      List<Map<String,Object>> result;
      BufferedReader br = new BufferedReader(new InputStreamReader(Thread.currentThread().getContextClassLoader().getResourceAsStream("facebook-gremlin")));
      String str="";
      StringBuffer sb = new StringBuffer();
      while((str = br.readLine())!=null){
      sb.append(str);
      }
      System.out.println(sb.toString());
      result = client.execute(sb.toString());
      System.out.println(result);
      client.close();
      }
      (3)rest apishell
      curl -XGET http://localhost:8182/graphs/titanexample/vertices #查看所有边
      curl -XGET http://localhost:8182/graphs/titanexample/edges
      curl -XGET http://localhost:8182/graphs/titanexample/keyindices
      curl -XGET http://localhost:8182/graphs/titanexample/vertices/16400/in #查询节点的入射边
      curl -XPOST http://localhost:8182/graphs/titanexample/vertices/11111?name=zhangsan&age=24 #创建节点
      curl -XPOST http://localhost:8182/graphs/titanexample/edges?_outV=&_label=friend&_inV=2&=<key'> #创建节点间的边
      ```

      (4)gremlin查询示例,查询贾宝玉的父亲

      gremlin> g.V.has('name','贾宝玉').next().out('father').name
      ==>贾政

      (5)全文检索节点,按照es的格式封装的map

      result = client.execute("g.indexQuery(\"vertices\", \"v.age:(17)\").vertices().get(0).getElement()");
      for (Map<String, Object> map : result) {
          for (Map.Entry<String, Object> en : map.entrySet()) {
              System.out.print(en.getKey()+":"+en.getValue()+"\t\t");
          }
          System.out.println();
      }
      /**
      _type:vertex        _properties:{name=薛宝钗, age=17}      _id:16496   
      */
    5. 数据展现
      • Sigma.js it's a free and open source tool for graph visualization quite nice. Linkurious is using a fork version of it as far as I know in their product.
      • VivaGraph it's another free and open source tool for graph visualization tool - but it has a smaller community compared to SigmaJS.
      • D3.js it's the factotum for data visualization, you can do basically every kind of visualization based on that, but the learning curve is quite steep.
      • Gephi is another free and open source desktop solution, you have to use an external plugin with that probably but it does support most of the formats out there - graphML, CSV, Neo4J, etc...
    6. 参考网站
      thinkerpop
      gremlin与sql对比查询语法
      sparql-gremlin插件
      DataStax给出的图形查询语言,包括sparql,GraphQL, Cypher, Gremlin

    转载于:https://www.cnblogs.com/72808ljup/p/5587714.html

    展开全文
  • TITAN

    2012-12-05 16:21:14
    一片板子:4颗AMD Opteron 6200十六核心处理器,4颗开普勒架构NVIDIA Tesla K20 GPU加速计算卡。共4个计算节点。 每个机箱里面可以插8片主板,一个机柜里面放置3个机箱。 一个机柜就是96个计算节点。...
    一片板子:4颗AMD Opteron 6200十六核心处理器,4颗开普勒架构NVIDIA Tesla K20 GPU加速计算卡。共4个计算节点。
    每个机箱里面可以插8片主板,一个机柜里面放置3个机箱。
    一个机柜就是96个计算节点。
    共有约200个19英寸机柜。
    584个机箱,共18688个GPU,299008个CPU核心。10Gbps以太网链接组成了互联结构。
    展开全文
  • <div><p>update titan to include tikv/titan#129 for master</p><p>该提问来源于开源项目:tikv/rust-rocksdb</p></div>
  • TITAN-源码

    2021-04-01 07:08:38
    TITAN(转录关联网络的主题推断) 概括 我们开发了TITAN(转录关联网络的主题推断),这是一种利用潜在狄利克雷分配(LDA)的无监督贝叶斯主题建模方法。 LDA可以在通常包含遗漏的词袋模型中推断稀疏数据,因此可以...
  • Titan Quest

    2013-03-11 16:12:09
    Titan Quest
  • Titan系列字体下载

    2019-10-24 00:10:58
    Titan系列字体提供:Titan Italic
  • skin.titan.bingie:Skin Titan BINGIE的官方开发仓库
  • <div><p>update titan to include tikv/titan#151 for master</p><p>该提问来源于开源项目:tikv/rust-rocksdb</p></div>
  • Titan官方中文文档

    2018-12-02 08:01:41
    Titan官方中文文档 - Titan中文文档,提供Titan图数据库的学习和开发指导
  • <div><p>I run a hadoop job using gremlin,find some exception: <pre><code> java Error: java.lang.IllegalArgumentException: Could not instantiate implementation: ...thinkaurelius/titan</p></div>
  • <div><p>update titan to include tikv/titan#120 for master</p><p>该提问来源于开源项目:tikv/rust-rocksdb</p></div>
  • Titan-Shell-源码

    2021-04-01 07:00:34
    Titan-Shell
  • Terizal-Titan-源码

    2021-03-22 00:17:17
    Terizal-Titan
  • titan整合hadoop

    2018-08-16 17:00:28
    titan数据搭建所需要的jar包,已经hadoop2的依赖,版本对应
  • nodeappfiles_titan-源码

    2021-02-20 08:53:43
    nodeappfiles_titan
  • Titan Android手机采集音视频流推到服务器,简单介绍参见: https://blog.csdn.net/greenjim301/article/details/80560283
  • Titan 1.0 support

    2020-12-30 06:58:12
    <div><p>Titan is already 1.0, and in particular <a href="http://s3.thinkaurelius.com/docs/titan/1.0.0/version-compat.html">this latest version of Titan supports gremlin 3.x</a>. Is there anything in ...
  • Titan Engine updates

    2020-12-08 20:05:43
    <div><p>For some reason we currently have the LR87-AJ-7 and LR91-AJ-7 engines used on the Titan GLV as being weaker than the LR87-NA-5 and LR91-NA-5 engines used on the Titan II ICBM and Titan 23G ...
  • Titan android bot

    2015-10-23 23:28:19
    Android malware Titan jni so library
  • titan监控问题

    2020-11-25 11:31:35
    <div><p>请问titan的监控数据从哪里可以获取? 在http://xxx:7345/metrics 这个接口获取的数据表示看不懂。谢谢!</p><p>该提问来源于开源项目:distributedio/titan</p></div>
  • Titan Compact bug

    2020-11-22 01:22:21
    - All Titan MPRL Compact launcher direct the missile at a wrong location with AT missiles (always on the right, sometime closer, some time futher), only with Titan MPRL Compact other Titan and the ...
  • Laravel开发-titan

    2019-08-28 10:40:12
    Laravel开发-titan 可用于每个Laravel项目的有用类
  • 初始Titan

    千次阅读 2017-09-01 16:59:06
    Titan 是一个可扩展的图形数据库,完美结合HBase、Cassandra、BerkeleyDB提供存储功能,ES、Lucene、Solar提供索引功能,可利用Hadoop计算框架对图数据进行分析、统计。经过优化,可用于存储和索引分布于多节点集群...

            Titan 是一个可扩展的图形数据库,完美结合HBase、Cassandra、BerkeleyDB提供存储功能,ES、Lucene、Solar提供索引功能,可利用Hadoop计算框架对图数据进行分析、统计。经过优化,可用于存储和索引分布于多节点集群的百亿级顶点和边的图,同时,Titan又是一个事务数据库,可以支持数千个并发用户实时执行复杂图形遍历。
            一 Titan数据库简介
    1.1简介
            从某种程度上来讲,Titan并不是数据库,可以称之为一个数据库之上的客户端库,它既不提供存储功能也不提供索引功能。它依赖于底层的存储引擎,比如:HBase、Cassandra、BerkeleyDB,来存储其数据,同时依赖于索引引擎,比如:Lucene、ElasticSearch或者Solr,提供的索引服务,这些也为Titan的可扩展性的标记。非常容易搭建大规模的Titan开发和生产环境,只要个人或者公司的技术栈中存在上面提到的技术,就可以搭建出Titan的分布式数据库系统。
            Titan是一个开箱即用的配置系统,也就是说,只要本地或者集群中已成功运行HBase、Cassandra和Lucene、ElasticSearch、Solr中的组件就可以单独或者组合提供服务,Titan提供相应的配置文件,对底层选用的组件进行配置。
            Titan除了提供存储、查询和事物功能还提供如下功能:
                     不断增长的数据和用户群弹性扩展;
                     采用数据分布式存储和备份机制提供性能、容错的保证;
                     多数据中心高可用性和热备份;
                     支持ACID和最终的一致性;
                     支持各种存储后端:
                             Apache Cassandra
                            Apache HBase
                             Oracle BerkeleyDB
                     通过与大数据平台的集成,支持全局图形数据分析,报告和ETL:
                            Apache Spark
                            Apache Giraph
                            Apache Hadoop
                     通过对以下组件的集成支持地理,数字范围和全文搜索:
                            ElasticSearch
                            Solr
                            Lucene
                     开放源码,供二次开发。
            1.2 框架简介
                    Titan是一个图形数据库引擎,其本身专注于紧凑图表序列化,丰富的图形数据建模和高效的查询执行。此外,Titan还利用Hadoop进行图形分析和批处理。同时,实现强大的模块化接口,用于数据持久性,数据索引和客户端访问。Titan的模块化架构使其能够与广泛的存储,索引和客户端技术进行互操作,它也简化了扩展Titan来支持新的操作。
    其架构如下图所示:

    这里写图片描述

            Titan与底层磁盘之间存在一个或多个存储和索引适配器,至少需要Apache Cassandra 、Apache HBase、Oracle BerkeleyDB中的一个或者其它第三方组件作为存储后端,提供存储功能;至少需要ElasticSearch、Solr、Lucene中的一个或者其它第三方组件作为索引引擎提供索引功能。
            Titan提供三种交互接口,分别是:TitanGraph API、TinkerPop Stack和Blueprints API。通过TitanGraph API将Titan嵌入应用程序,直接执行Gremlin查询操作图,在查询执行的过程中,Titan的缓存和事务处理都发生在与应用程序相同的JVM中,而存储后端执行的数据检索可能位于本地或远程。另外,通过向服务器提交Gremlin查询来与本地或远程Titan实例进行交互,Titan本身支持Tinkerpop堆栈的Gremlin Server组件。
            Titan具有以下特性:
    1. 支持大规模图集,其规模随着机群中的节点扩展而扩展;
    2. 支持大规模并发事务及图操作,Titan的事务处理能力随着集群节点的扩展而扩展,并且对于复杂的遍历和查询达到毫秒级的反应速度;
    3. 通过Hadoop框架集成支持对图形的全局图分析和批处理操作;
    4. 支持超大图形上的地理,数字范围和对顶点和边的全文搜索;
    5. 天然支持由TinkerPop曝露的主流图数据模型;
    6. 天然支持图形遍历语言Gremlin;
    7. 与Gremlin图服务器轻松集成,实现非语言相关性编程;
    8. 对于许多图级配置项提供性能优化调节支持;
    9. 以顶点为中心的索引提供顶点级查询,以缓解臭名昭着的超级节点问题;
    10. 提供磁盘优化指标,以便有效利用存储,提高访问速度。
            1.3 简单使用
    下载Titan并解压即可执行gremlin命令进行操作,可参考Titan内置样例“诸神图”,不再赘述。
    关于Tinkerpop的使用参见:http://tinkerpop.apache.org/docs/3.0.1-incubating/ 、Gremlin的使用参见:http://gremlindocs.spmallette.documentup.com/、 SQL2Gremlin的使用参加:http://sql2gremlin.com/
    $ unzip titan-1.0.0-hadoop1.zip //下载的Titan安装包解压

    Archive:  titan-1.0.0-hadoop1.zip
      creating: titan-1.0.0-hadoop1/
    ...
    $ cd titan-1.0.0-hadoop1//进入解压后的目录,期目录结构如下:
    
    $ bin/gremlin.sh//启动gremlin客户端服务,用于执行gremlin命令,操作titan数据库
             \,,,/
             (o o)
    -----oOOo-(3)-oOOo-----
    09:12:24 INFO  org.apache.tinkerpop.gremlin.hadoop.structure.HadoopGraph  - HADOOP_GREMLIN_LIBS is set to: /usr/local/titan/lib
    plugin activated: tinkerpop.hadoop
    plugin activated: aurelius.titan
    JAVA  API 

    使用参见下面文档,不再赘述:

            1.4简单配置
    Titan 配置文件是基于我们选择的存储和索引组件的,配置文件位于Titan的安装目录下:
    titan-2.0.0-hdh4.0.0 /conf 下面,由于我们选择使用HBase作为后端存储,ES作为索引引擎,因此需要关注的配置文件是:

    配置Titan存储相关,不是HBase的配置。

    此外,Titan中可以对ES进行配置位于:
    / titan-2.0.0-hdh4.0.0/conf/es
    格式为yaml文件,由于我们使用HDH平台中的ES此处不需要单独配置。

    展开全文
  • m writing a Storm bolt that will insert data into a Titan graph backed by Cassandra (by DataStax, version ReleaseVersion: 1.2.5). <p>Titan Version: 0.3.1 (depends on Kryo version: 2.21) Storm Version:...
  • Titan Version Upgrade

    2021-01-12 13:50:07
    <div><p>Titan auto-upgrades the database as soon as it touches it (e.g. the database is 0.3.1, and then i access it with 0.3.2 and 0.3.1 clients no longer work). That auto-upgrade can lead to ...
  • <p><code>titan.hadoop.output.infer-schema=true</code></p> <p>........Then see how it looks like its doing a bulk load but it does SchemaInfer, but then no data. Something is odd. <p>Titan/Hadoop2 ...
  • Titan图数据库安装文件titan-1.0.0-hadoop1.zip
  • Update to latest Titan

    2020-12-09 03:38:30
    <div><p>Including the following Titan changes: 7f8e787cf 2019-05-02 yiwu.com Titan: fix crash on recover when obsolete file exists fe4c735cb 2019-05-01 xy.tao....
  • Build Titan OSGi bundles

    2021-01-12 13:50:04
    <div><p>Titan (Cassandra) currently is (nigh?) impossible to deploy in an OSGi container. It would be great if this could be enhanced. - the Titan jars should be built as proper OSGi bundles - The ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 3,585
精华内容 1,434
关键字:

Titan