欢迎大家赞助一杯啤酒🍺 我们准备了下酒菜:Formal mathematics/Isabelle/ML, Formal verification/Coq/ACL2/Agda, C++/Lisp/Haskell
OrientDB
来自开放百科 - 灰狐
(版本间的差异)
小 (→图集) |
小 (→简介) |
||
| (未显示1个用户的37个中间版本) | |||
| 第2行: | 第2行: | ||
OrientDB 是一个[[Java]]开发的开源(Apache v2)[[NoSQL]][[document database|文档]]和[[graph database|图形数据库]],也通过 [http://orientdb.com/docs/last/SQL.html OrientDB SQL 支持 SQL]。 | OrientDB 是一个[[Java]]开发的开源(Apache v2)[[NoSQL]][[document database|文档]]和[[graph database|图形数据库]],也通过 [http://orientdb.com/docs/last/SQL.html OrientDB SQL 支持 SQL]。 | ||
| + | |||
| + | ==新闻== | ||
| + | *[http://orientdb.com/orientdb-wins-infoworld-bossie-award/ OrientDB Wins InfoWorld Bossie Award] (2015.9.21) | ||
| + | |||
| + | ==简介== | ||
| + | allidus Software在2017年收购了OrientDB,SAP在2018年进而收购了Callidus。 | ||
==安装== | ==安装== | ||
| 第12行: | 第18行: | ||
==指南== | ==指南== | ||
| − | ./console.sh | + | 启动OrentDB服务器 ./dserver.sh |
| − | orientdb> CONNECT PLOCAL:../databases/GratefulDeadConcerts admin admin | + | ./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}> list classes | ||
orientdb {db=GratefulDeadConcerts}> select from ouser | orientdb {db=GratefulDeadConcerts}> select from ouser | ||
orientdb {db=GratefulDeadConcerts}> info class ouser | orientdb {db=GratefulDeadConcerts}> info class ouser | ||
orientdb {db=GratefulDeadConcerts}> select expand(classes) from metadata:schema | orientdb {db=GratefulDeadConcerts}> select expand(classes) from metadata:schema | ||
| − | http://localhost:2480/ // OrientDB Studio | + | http://localhost:2480/ // OrientDB Studio, 若:OrientTokenHandler: true, enabled后,此帐号将无法登录 |
root/orientdb | root/orientdb | ||
| + | http://localhost:2491 // OrientDB Workbench, 设置Server, 端口:2480 | ||
| + | admin/admin | ||
| + | |||
| + | ==数据集== | ||
| + | [http://orientdb.com/public-databases/ OrientDB公共数据集] | ||
| + | |||
| + | ==SQL== | ||
| + | *[http://docs.huihoo.com/orientdb/2.2.x/SQL.html SQL Reference] [https://github.com/orientechnologies/orientdb/blob/master/core/src/main/grammar/OrientSQL.jjt 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) 注册类并且使用 [http://www.jboss.org/javassist Javassist Proxy] 管理 Object-to-Document 转换。 | ||
| + | *[http://orientdb.com/docs/last/Object-Database.html Object API] [http://orientdb.com/docs/last/Object-2-Record-Java-Binding.html Object Binding] [http://orientdb.com/docs/last/Java-Schema-Api.html Schema API] | ||
| + | |||
| + | {| class="wikitable" | ||
| + | |- | ||
| + | ! 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 | ||
| + | |||
| + | ==键/值模型== | ||
| + | {| class="wikitable" | ||
| + | |- | ||
| + | ! 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 | ||
| + | |} | ||
| + | |||
| + | ==文档模型== | ||
| + | |||
| + | {| class="wikitable" | ||
| + | |- | ||
| + | ! 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 | ||
| + | |} | ||
| + | |||
| + | ==图模型== | ||
| + | {| class="wikitable" | ||
| + | |- | ||
| + | ! 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 | ||
| + | |} | ||
| + | |||
| + | *[[Gremlin]] | ||
| + | *[http://orientdb.com/docs/last/Gremlin.html Gremlin API] | ||
==对比== | ==对比== | ||
| 第35行: | 第166行: | ||
*[https://github.com/eduardoejp/clj-orient clj-orient] [https://github.com/eduardoejp/clj-blueprints clj-blueprints] | *[https://github.com/eduardoejp/clj-orient clj-orient] [https://github.com/eduardoejp/clj-blueprints clj-blueprints] | ||
| − | == | + | ==Android== |
| − | *[ | + | *[https://github.com/wuman/orientdb-android OrientDB-Android] |
| + | |||
| + | ==培训== | ||
| + | *[https://www.udemy.com/user/orienttechnologies/ OrientDB @ Udemy] | ||
| + | |||
| + | ==用户== | ||
| + | *[[BaasBox]] | ||
| + | *[http://www.bloorresearch.com/blog/im-blog/dell-statistica/ Dell Statistica] | ||
| + | *[https://www.cisco.com/ Cisco] | ||
| + | *[https://www.accenture.com Accenture] | ||
| + | *[https://home.kpmg.com/ KPMG] | ||
| + | *[https://www.ericsson.com Ericsson] | ||
| + | [http://orientdb.com/customers/ 更多用户>>>] | ||
==图集== | ==图集== | ||
| 第44行: | 第187行: | ||
image:orientdb-api-stack.png|API Stack | image:orientdb-api-stack.png|API Stack | ||
image:orientdb-security-user-role.png|安全 | image:orientdb-security-user-role.png|安全 | ||
| + | image:orientdb-roles-permissions.png|角色权限 | ||
image:orientdb-distributed-sharding-class.png|分布式分区 | image:orientdb-distributed-sharding-class.png|分布式分区 | ||
| + | image:orientdb-storage-structure.png|存储结构 | ||
| + | image:orientdb-transaction-remote.png|事务处理 | ||
| + | image:orientdb-teleporter-workflow.png|Teleporter | ||
| + | image:Graph-and-RDF-databases-2016.jpg|图数据库研究报告2016 | ||
</gallery> | </gallery> | ||
| 第50行: | 第198行: | ||
*[http://orientdb.com OrientDB官网] | *[http://orientdb.com OrientDB官网] | ||
*[https://github.com/orientechnologies/orientdb OrientDB @ GitHub] | *[https://github.com/orientechnologies/orientdb OrientDB @ GitHub] | ||
| + | *[http://docs.huihoo.com/orientdb/ OrientDB文档] | ||
*[https://github.com/weinberger/nosql-tests NoSQL benchmark tests for documents and graphs] [http://www.oschina.net/news/63333/performance-comparison-between-arangodb ArangoDB,MongoDB,Neo4j 和 OrientDB 性能比较] | *[https://github.com/weinberger/nosql-tests NoSQL benchmark tests for documents and graphs] [http://www.oschina.net/news/63333/performance-comparison-between-arangodb ArangoDB,MongoDB,Neo4j 和 OrientDB 性能比较] | ||
| 第57行: | 第206行: | ||
[[category:database]] | [[category:database]] | ||
[[category:java]] | [[category:java]] | ||
| + | [[category:huihoo]] | ||
2019年4月4日 (四) 09:06的最后版本
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
[编辑] 培训
[编辑] 用户
[编辑] 图集
[编辑] 链接
分享您的观点
