1.orientDB 了解
5、OrientDB的数据模型
OrientDB支持多种模型: Key/Value, Object, Document, and Graph 。
6、OrientDB的一些基本概念
Classes
类比关系型数据库系统中的Table与传统文档数据库的collections。这个概念来自于OOP(Object-oriented programming)的理念。class用于定义数据结构的模型。
Record
record是OrientDB中最小的加载和存储的单位。record有四种类型:Document、RecordBytes(BLOB)、Vertex、Edge。
Document
是OrientDB中最灵活的record。Document支持schema-less,schemal-full,schema-mixed,即可以在定义数据结构的时候指定属性及约定条件,也可以不指定。它通过create class语法来定义一个数据结构。
Vertex
在OrientDB的graph模型下,每个结点叫作Vertex,每个Vertex也是一个Document。
Edge
在OrientDB的graph模型下,连接两个Vertex的边叫作Edge。Edge是有向性的而且仅能连接两个Vertex。
Clusters
用于存储record。每个数据库最多有32767个cluster。每个class都必须至少有一个对应的cluster。默认情况下OrientDB会自动为每个class创建与当前cpu核数相同的cluster,其中有一个默认的cluster。
Cluster Selection
当新增加一条reocrd时OrientDB会根据cluster section为这条记录选择一个cluster。
cluster section有四条类型
detault、round-robin、balanced、local。
Record ID
每个record都有一个record id。
record id的格式如下:
#:。
Relationships
OrientDB中不使用join,它通过在每个reocrd中定义一个关系类型的属性来维护关系。这个关系属性存储的实际是record id,就像定义一个指针在内存中将两个record联系起来。
Inheritance & Polymorphic
OrientDB支持面向对象的继承和多态特性。
7、OrientDB的SQL
在写图数据库的SQL时,第一步是要确认起始点(这个也是图数据库比较耗时的地方),一旦起始点确认后,我们便可以近乎物理连接的方式查询这个起始点相关联的数据。
基本的SQL:OrientDB支持大部分标准的SQL查询。
例如
SELECT FROM Person WHERE name LIKE ‘Luk%’
Traverse:traverse语法可以遍历获取一个record联结的reocrd。它比select使用起来更简单和快速。
例如
RAVERSE out("Friend") FROM #10:1234 WHILE $depth <= 3
Match
match是一种表述力很强的查询语法结构,类比Neo4j的Cypher语法结构。它以一种说明式的方式来查询。
例如:
MATCH
{class: Person, as: person, where: (name = 'John' AND surname = 'Doe')}
.both('Friend').both('Friend')
{as: friendOfFriend}
RETURN person, friendOfFriend
1.orientDB 了解相关推荐
- python里orient_从Python访问OrientDB
我想将一个> 1mn记录的 MySQL数据库转换成一个图形数据库,因为它是一个链接很多的网络类型数据. Neo4J的免费版本有一些我认为可能会遇到的限制,因此我安装了OrientDB(Commu ...
- PostgreSQL,MongoDB,Neo4j,OrientDB和ArangoDB比较
基准:PostgreSQL,MongoDB,Neo4j,OrientDB和ArangoDB 2015年10月13日表现 在这篇博客文章 - 这是一个综合的表现博客系列 - 我想完成我们的NoSQL性能 ...
- OrientDB系列:(一)初步使用及相关概念
1 初步使用 1.1 安装 目前OrientDB的最新版本为3.x,可通过官网下载. python通过pyorient包与OrientDB连接时,需要OrientDB版本为2.x,下载地址.其中,2. ...
- OrientDB入门
OrientDB入门 OrientDB是什么? 用一句话概括:一种Nosql数据库,支持文档.Key/Value,文档,图多种模型. 基础概念 记录 是读取和存储的最小单元.有四种类型: * 文档(D ...
- OrientDB 图状数据库示例
OrientDB 图计算框架 OrientDB Doc传送门 图计算框架学习示例 概念 图(Graph)G=(V,E) V是非空集合的顶点集,E是V中顶点构成的无序二元组的边集合. G的边集合数范围: ...
- orientdb实战
http://blog.csdn.net/zhufengyi/article/details/53037764 orientdb实战
- 常用的图数据库(Neo4j、FlockDB、AllegroGrap、GraphDB、InfiniteGraph、TITAN、OrientDb)
1. Neo4j Neo4j是一个流行的图形数据库,它是开源的.最近,Neo4j的社区版已经由遵循AGPL许可协议转向了遵循GPL许可协议.尽管如此,Neo4j的企业版依然使用AGPL许可.Neo4j ...
- OrientDB部署
1. 环境准备 操作系统: Centos6.8 内存: 8G(分布式部署时建议4G及以上,否则需要手动修改JVM配置) JDK: 建议jdk8版本(3.0版本要求jdk8) 环境变量:需配置JAVA_ ...
- orientdb 学习
简介 OrientDB 是一款 NoSQL 数据库.是一种文档-图数据库.即:既具有文档数据库的特性,又具有图数据库的功能. 端口 2424 OrientDB 监听 二进制 访问的的端口 (即:通过 ...
- 2.OrientDB连接操作
查考教程:https://www.w3cschool.cn/orientdb/ 1.连接到orientDB 进入orientDB安装目录,执行console.sh sh console.sh 输入连接 ...
最新文章
- mysql表误删回复_mysql 找回误删表的数据方法(必看)
- Java的知识点30——线程的优先级、终止线程的典型方式、获取线程基本信息的方法
- java List最大_在java中获取List集合中最大的日期时间操作
- java 短语_从Java中的文本文件中提取短语
- 典型环节的matlab仿真分析,典型环节的MATLAB仿真.doc
- 使用vivado进行逻辑开发时,进行到Generate Bitstream时报错
- 07-MyBatis 核心配置文件
- adb(Android debug bridge)命令
- no segments* file found in org.apache.lucene.store.SimpleFSDirectory
- selinium如何多线程_求教个selenium+grid+testng多线程运行的问题
- 数学建模(十)博弈论
- SQL Express
- centos更新yum时遇到的问题
- 明尼苏达计算机科学硕士录取案例,专业42-明尼苏达大学双城分校研究生录取-W同学...
- SPSS进行问卷数据的效度分析及结果解读(问卷数据统计分析第3步(转载)
- 用Python采集微博视频,随时随地发现新鲜事~
- 原创超简单代码(1.21.50)
- 刻在我心底的名字吉他谱-凡凡吉他教室编制
- 汇编语言中xor指令_XOR寄存器,寄存器(汇编程序)
- 浅析 Transformer Stage 在 DataStage 作业中的用法及功能实现
热门文章
- mysql函数IFNULL判空不生效
- Xshell如何设置鼠标右键粘贴
- php 安装 bzip2,Linux_Linux系统中安装使用Bzip2来压缩文件的方法讲解,安装 Bzip2命令如下:复制代码 - phpStudy...
- google python style guide_读lt;google python style guidegt;几点记录 - 毛头明月耍大刀 - ITeye博客...
- 会议OA之待开会议所有会议
- Java 中 Boolean 和 boolean 的区别
- (转载)C单元测试框架——cmocka
- Fortran语言初探及Win7 64位下Fortran开发环境配置
- php定时发送生日模块消息_PHP实现好友生日邮件提醒
- struts2各个jar包