欢迎大家赞助一杯啤酒🍺 我们准备了下酒菜:Formal mathematics/Isabelle/ML, Formal verification/Coq/ACL2/Agda, C++/Lisp/Haskell
OrientDB
来自开放百科 - 灰狐
				
								
				
				
																
				
				
								
OrientDB 是一个Java开发的开源(Apache v2)NoSQL文档和图形数据库,也通过 OrientDB SQL 支持 SQL。
| 目录 | 
新闻
- OrientDB Wins InfoWorld Bossie Award (2015.9.21)
简介
allidus Software在2017年收购了OrientDB,SAP在2018年进而收购了Callidus。
安装
下载二进制或编译源码
$ 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
数据集
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 的转换和绑定更透明、更简单。
- 使用 Java 反射(Reflection) 注册类并且使用 Javassist Proxy 管理 Object-to-Document 转换。
- Object API Object Binding Schema API
| 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 Model | 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
培训
用户
图集
链接
	分享您的观点
			
			
			
			
			
				
								
				
								
			











