热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

Titan基础及入门

Titan是一个可以灵活扩展的分布式图数据库,它通过一个多机集群来存储和查询上千亿的点和边信息。Titan也是一个事务型数据库,他可以支持多上千个用户同时并

        上一篇文章介绍了图和图数据库的一些基本概念,本篇将介绍一下目前比较流程的图数据库Titan的概念及架构.

    

什么是Titan

 Titan是一个可以灵活扩展的分布式图数据库,它通过一个多机集群来存储和查询上千亿的点和边信息。Titan也是一个事务型数据库, 他可以支持多上千个用户同时并发的执行复杂的图遍历。     


Titan特征

作为一个优秀的图数据库,Titan有如下一些区别与其他Graph Database的特征

  1. 支持数据以及用户的弹性线性增长

  2. 用于性能和容错的数据分发和复制

  3. 多数据中心高可用和热备份机制

  4. 支持ACID和最终一致性

  5. 支持多种类型的底层存储

    1. Apache Cassandra

    2. Apache HBase

    3. Oracle BerkeleyDB

  6. 通过与大数据平台集成,支持全球图形数据分析,数据报告和数据ETL

    1. Apache Spark

    2. Apache Giraph

    3. Apache Hadoop

  7. 通过以下方式支持地理位置,数值范围和全文搜索

    1. ElasticSearch

    2. Solr

    3. Lucene

  8. 本地集成TinkerPop 图技术栈

    1. Gremlin graph query language

    2. Gremlin graph server

    3. Gremlin applications

  9. 支持Apache2开源协议


Titan与CAP


作为一个数据库, CAP理论是必须要考虑的。Titan通过与Hbase, Cassandra以及Oracle Berkeley DB结合,其CAP权衡如上图展示。 Berkeley DB并不是分布式数据库,可以满足高可用及高一致性,但是无法做到分区容错,所以只用在测试环境。


Titan 架构


前面我们也提到过,任务一个图数据库,都包含俩个重要的部分, 一个是图存储引擎,一个是图搜索引擎。Titan作为一个图数据库引擎,主要功能集中在图序列化,图数据模型以及高效的图搜索,Titan利用hadoop等大数据框架来完成图的分析及批量图处理, 同时, Titan为数据持久性,数据索引和客户端访问实现了强大的模块化接口。





推荐阅读
  • NoSQL数据库,即非关系型数据库,有时也被称作Not Only SQL,是一种区别于传统关系型数据库的管理系统。这类数据库设计用于处理大规模、高并发的数据存储与查询需求,特别适用于需要快速读写大量非结构化或半结构化数据的应用场景。NoSQL数据库通过牺牲部分一致性来换取更高的可扩展性和性能,支持分布式部署,能够有效应对互联网时代的海量数据挑战。 ... [详细]
  • 从0到1搭建大数据平台
    从0到1搭建大数据平台 ... [详细]
  • 在Linux系统中避免安装MySQL的简易指南
    在Linux系统中避免安装MySQL的简易指南 ... [详细]
  • 本文深入探讨了NoSQL数据库的四大主要类型:键值对存储、文档存储、列式存储和图数据库。NoSQL(Not Only SQL)是指一系列非关系型数据库系统,它们不依赖于固定模式的数据存储方式,能够灵活处理大规模、高并发的数据需求。键值对存储适用于简单的数据结构;文档存储支持复杂的数据对象;列式存储优化了大数据量的读写性能;而图数据库则擅长处理复杂的关系网络。每种类型的NoSQL数据库都有其独特的优势和应用场景,本文将详细分析它们的特点及应用实例。 ... [详细]
  • 在深入掌握Spring框架的事务管理之前,了解其背后的数据库事务基础至关重要。Spring的事务管理功能虽然强大且灵活,但其核心依赖于数据库自身的事务处理机制。因此,熟悉数据库事务的基本概念和特性是必不可少的。这包括事务的ACID属性、隔离级别以及常见的事务管理策略等。通过这些基础知识的学习,可以更好地理解和应用Spring中的事务管理配置。 ... [详细]
  • PostgreSQL 与 MySQL 的主要差异及应用场景分析
    本文详细探讨了 PostgreSQL 和 MySQL 在架构、性能、功能以及适用场景方面的关键差异。通过对比分析,帮助读者更好地理解两种数据库系统的特性和优势,为实际应用中的选择提供参考。 ... [详细]
  • 第二章:Kafka基础入门与核心概念解析
    本章节主要介绍了Kafka的基本概念及其核心特性。Kafka是一种分布式消息发布和订阅系统,以其卓越的性能和高吞吐量而著称。最初,Kafka被设计用于LinkedIn的活动流和运营数据处理,旨在高效地管理和传输大规模的数据流。这些数据主要包括用户活动记录、系统日志和其他实时信息。通过深入解析Kafka的设计原理和应用场景,读者将能够更好地理解其在现代大数据架构中的重要地位。 ... [详细]
  • 在搭建Hadoop集群以处理大规模数据存储和频繁读取需求的过程中,经常会遇到各种配置难题。本文总结了作者在实际部署中遇到的典型问题,并提供了详细的解决方案,帮助读者避免常见的配置陷阱。通过这些经验分享,希望读者能够更加顺利地完成Hadoop集群的搭建和配置。 ... [详细]
  • HBase在金融大数据迁移中的应用与挑战
    随着最后一台设备的下线,标志着超过10PB的HBase数据迁移项目顺利完成。目前,新的集群已在新机房稳定运行超过两个月,监控数据显示,新集群的查询响应时间显著降低,系统稳定性大幅提升。此外,数据消费的波动也变得更加平滑,整体性能得到了显著优化。 ... [详细]
  • 本文详细介绍了HDFS的基础知识及其数据读写机制。首先,文章阐述了HDFS的架构,包括其核心组件及其角色和功能。特别地,对NameNode进行了深入解析,指出其主要负责在内存中存储元数据、目录结构以及文件块的映射关系,并通过持久化方案确保数据的可靠性和高可用性。此外,还探讨了DataNode的角色及其在数据存储和读取过程中的关键作用。 ... [详细]
  • Phoenix 使用体验分享与深度解析
    闲来无事看了下hbase方面的东西,发现还好理解不过不大习惯于是找到个phoenix感觉不错性能指标如下好像还不错了准备工作:启动hadoop集群启动zookkeeper启动hba ... [详细]
  • 在Linux系统中,原本已安装了多个版本的Python 2,并且还安装了Anaconda,其中包含了Python 3。本文详细介绍了如何通过配置环境变量,使系统默认使用指定版本的Python,以便在不同版本之间轻松切换。此外,文章还提供了具体的实践步骤和注意事项,帮助用户高效地管理和使用不同版本的Python环境。 ... [详细]
  • Linux学习精华:程序管理、终端种类与命令帮助获取方法综述 ... [详细]
  • 分布式一致性算法:Paxos 的企业级实战
    一、简介首先我们这个平台是ES专题技术的分享平台,众所周知,ES是一个典型的分布式系统。在工作和学习中,我们可能都已经接触和学习过多种不同的分布式系统了,各 ... [详细]
  • Storm集成Kakfa
    一、整合说明Storm官方对Kafka的整合分为两个版本,官方说明文档分别如下:StormKafkaIntegratio ... [详细]
author-avatar
ex7776647
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有