OrientDB

来自开放百科 - 灰狐
2017年8月10日 (四) 08:35Allen (讨论 | 贡献)的版本

跳转到: 导航, 搜索
OrientDB-90x90.gif

OrientDB 是一个Java开发的开源(Apache v2)NoSQL文档图形数据库,也通过 OrientDB SQL 支持 SQL

目录

新闻

简介

安装

下载二进制或编译源码

$ git clone https://github.com/orientechnologies/orientdb
$ git checkout develop
$ cd orientdb
$ mvn clean install -DskipTests
$ ls -l distribution/target/

指南

启动OrentDB服务器 ./dserver.sh

./console.sh
orientdb> CONNECT PLOCAL:../databases/GratefulDeadConcerts admin admin 或 
orientdb> CONNECT REMOTE:127.0.0.1/GratefulDeadConcerts admin admin
orientdb {db=GratefulDeadConcerts}> list classes
orientdb {db=GratefulDeadConcerts}> select from ouser
orientdb {db=GratefulDeadConcerts}> info class ouser
orientdb {db=GratefulDeadConcerts}> select expand(classes) from metadata:schema
http://localhost:2480/ // OrientDB Studio, 若:OrientTokenHandler: true, enabled后,此帐号将无法登录 
root/orientdb
http://localhost:2491 // OrientDB Workbench, 设置Server, 端口:2480
admin/admin

数据集

OrientDB公共数据集

SQL

OrientDB数据库有四种记录(record)类型:

  • Document, JSON格式
  • RecordBytes, BLOB二进制
  • Vertex
  • Edge

每当生成一条记录(record), 系统会自动分配一个唯一的标识:Record ID 或 RID,格式:#<cluster>:<position>

对象模型

在 OrientDB 里,一个类(class)定义记录(record)的类型(type),ObjectDatabase 让 Java Objects (POJO classes) 到 文档 Records 的转换和绑定更透明、更简单。

Relational Model Object Model OrientDB Object Model
Table Class Class or Cluster
Row Object Document or Vertex
Column Object property Document field or Vertex/Edge property
Relationship Pointer Link

一个简单的用户表

create class user extends V
create property user.image Binary
create property user.name string

键/值模型

Relational Model Key/Value Model OrientDB Key/Value Model
Table Bucket Class or Cluster
Row Key/Value pair Document
Column not available Document field or Vertex/Edge property
Relationship not available Link

文档模型

Relational Model Document Mode OrientDB Document Model
Table Collection Class or Cluster
Row Document Document
Column Key/value pair Document field
Relationship not available Link

图模型

Relational Model Graph Model OrientDB Graph Model
Table Vertex and Edge Class Class that extends "V" (for Vertex) and "E" (for Edges)
Row Vertex Vertex
Column Vertex and Edge property Vertex and Edge property
Relationship Edge Edge

对比

驱动

通过三种方式支持不同的语言驱动程序

  • Native binary remote, 使用 binary protocol
  • HTTP REST/JSON, 使用 HTTP protocol
  • Java wrapped

一些语言驱动程序

Android

培训

用户

更多用户>>>

图集

链接

分享您的观点
个人工具
名字空间

变换
操作
导航
工具箱