OrientDB 多模型 NoSQL 数据库 项目简介
OrientDB 是一个开源的多模型 NoSQL 数据库,支持原生图形、文档全文、响应性、地理空间和面向对象等概念。它使用 Java 编写,速度非常快:在普通硬件上,每秒可存储 220,000 条记录。对于文档数据库,它还支持 ACID 事务处理。没有昂贵的运行时 JOINs,连接可作为记录之间的持久指针进行管理。你可以在几毫秒内遍历数千条记录。OrientDB 支持 schema-less, schema-full 和 schema-mixed 这三种模式,具有基于用户和角色的强大安全性分析系统,并支持查询语言之间的 SQL。使用示例:// OPEN THE DATABASE ODatabaseDocumentTx db = new ODatabaseDocumentTx("remote:localhost/petshop").open("admin", "admin");
// CREATE A NEW DOCUMENT AND FILL IT ODocument doc = new ODocument("Person");
doc.field( "name", "Luke" );
doc.field( "surname", "Skywalker" );
doc.field( "city", new ODocument("City" ).field("name","Rome").field("country", "Italy") );
// SAVE THE DOCUMENT
doc.save();
// QUERY THE DOCUMENT
List<ODocument> result = database.query(
new OSQLSynchQuery>("select * from person where city.name = 'Rome'")).execute();
// PRINT THE RESULT SET
for( ODocument d : result ){
System.out.println("Person: " + d.field( "name" ) + d.field( "surname" ));
}
db.close();
// CREATE A NEW DOCUMENT AND FILL IT ODocument doc = new ODocument("Person");
doc.field( "name", "Luke" );
doc.field( "surname", "Skywalker" );
doc.field( "city", new ODocument("City" ).field("name","Rome").field("country", "Italy") );
// SAVE THE DOCUMENT
doc.save();
// QUERY THE DOCUMENT
List<ODocument> result = database.query(
new OSQLSynchQuery>("select * from person where city.name = 'Rome'")).execute();
// PRINT THE RESULT SET
for( ODocument d : result ){
System.out.println("Person: " + d.field( "name" ) + d.field( "surname" ));
}
db.close();