图数据库 Titan 快速入门,titan快速入门


尤其在互联网世界,图计算越来越受到人们的关注,而图计算相关的软件也越来越丰富。本文将快速展示 Titan这个open source 的图数据库。

注:本文的操作主要基于Titan 官方的两篇文档:

- http://s3.thinkaurelius.com/docs/titan/0.5.0/arch-overview.html

- http://s3.thinkaurelius.com/docs/titan/0.5.0/getting-started.html


1、架构

Titan的架构图十分清晰明了,因此本文只稍作一些赘述:

A. Titan的数据需要存在一个数据库里面,而用户可以选择以下几种数据库:

- Cassandra
- HBase
- BerkeleyDB

B. Titan 底层的实现需要索引的支持:

- Elasticsearch

- Lucene

C. 用户可以用两类方式访问Titan:

- Java API

- 基于Blueprints的TinkerPop stack 工具,比如:
   - The Gremlin query language
   - The Rexster graph server




2. 安装

在了解完 Titan 架构后,安装和配置也就变得相对比较容易了。在使用Titan前要在Titan里配置好hbase和Elasticsearch的相关信息,并且保证这两个服务是启动状态。在我的环境中使用的数据库是hbase。


3. 通过Gremlin访问 Titan

A. 进入 Gremlin 命令行:执行 ${TITAN_HOME}/bin/gremlin.sh


B. 将“诸神的图谱”这个实例图库导入进数据库,以便接下来的继续尝试

首先,可以通过下图了解“诸神的图谱”包含的具体内容:


通过命令‘g = TitanFactory.open('conf/titan-hbase-es.properties')’创建一个graph 实例。执行完该命令后,hbase数据库里面将会被创建一张名为'titan'的表,内容为:


通过命令'GraphOfTheGodsFactory.load(g)'将“诸神的图谱”导入数据库。导完以后,hbase titan表里会增加很多行数据。

现在,便可以轻松利用gremlin提供的功能来遍历这个图库了。下图是一部分示例,有兴趣的朋友可以从官网doc中找到更多的命令并做实验。








数据库概念图与数据库物理图?

数据库概念图图是让你或者其他开发人员更直观的了解数据库中各个表的关系。
可以从数据库概念图生产数据库物理图。当然生成的物理图还需要设计补充各种详细的字段信息。数据库物理图是可以直接生成数据库的(如果你是用的数据库受到当前PowerDesigner支持的话)。

E-R也应该给出,那个是说明系统中各个实体之间关系的,虽然某种一定程度上会跟数据库概念图重复,不过这是描述系统的不同角度。
 

怎做一个可以录入图片的数据库?

图片是可以放到数据库里面的,以ACCESS为例子,你要使用OLE数据类型,
然后把图片转化为长二进制数据存入,读取的时候可以生成系统隐藏的图
片然后在图片控件中显示
我的回答肯定没错,因为这个东西我做过,如果还不明白可以到我的空间
里留言,然后留下联系方式,我会把代码给你,我使用的是VB,用VB把图片
放到ACCESS中,然后再读取出来,实际上是个很简单的小程序
最近无事还是贴上来吧
Dim cc() As Byte
Dim i
Dim t
Private Sub Command1_Click()
CommonDialog1.Filter = "JPG图片(*.BMP)|*.BMP"
CommonDialog1.ShowOpen
If CommonDialog1.FileName <> "" Then
Picture1.Picture = LoadPicture(CommonDialog1.FileName)
strname = CommonDialog1.FileName
Open strname For Binary As #1
ReDim cc(LOF(1) - 1)
t = cc(LOF(1) - 1) '在读取二进制时,如果是用文件操作那么涉及到到底从文件中取多少字节的问题,所以字节数组要指定大小
Get #1, , cc
Close
Else
MsgBox "没有选中图片"
End If
End Sub
Private Sub Command2_Click()
Adodc1.Refresh
Adodc1.Recordset.AddNew
Adodc1.Recordset.Fields("id") = i
Adodc1.Recordset.Fields("qq") = cc
i = i + 1
Adodc1.Recordset.Update
Adodc1.Refresh
End Sub
Private Sub Command3_Click()
Adodc1.Refresh
Dim P() As Byte
Adodc1.RecordSource = "select qq from 表一 where id='" & Text1.Text & "'"
P = Adodc1.Recordset.Fields("qq") '当把一组二进制数据赋值给一个二进制数组时就不用指定数组的大小了,因为是全部赋值
Open App.Path & "\oo.bmp" For Binary As #1
Put #1, , P
Close
End Sub
Private Sub Command4_Click()
Open App.Path & "\oo.bmp" For Binary As #1
Put #1, , cc
Close
End Sub
Private Sub Form_Load()
i = 1
End Sub
我是 Control_World
请设置我为最佳答案吧...余下全文>>
 

相关内容