| 特性 | 說明 |
| ACID 事務 | 支援樂觀鎖(MVCC)與悲觀鎖兩種模式,滿足強一致性業務 |
| Schema 混合模式 | Schema-less、Schema-full、混合模式任意切換,適應敏捷開發與嚴格治理並存場景 |
| SQL-like 查詢 | 擴展標準 SQL 支援文檔/圖遍歷,學習曲線極低 |
| 原生 JSON/XML | 無需 ORM 直接存取半結構化數據 |
| 高性能 | 常規硬件單節點 15 萬寫入/秒,百億級/天吞吐 |
| 全平台 | 100% Pure Java,Windows/Linux/macOS/Docker 皆可運行 |
| 輕量嵌入 | Local 模式繞過網絡層,適合桌面應用、邊緣計算、單元測試 |
0.9.14 版本亮點
- 全新存儲結構:底層重構,提升併發與恢復性能
- 邏輯集群深度整合:存儲層面原生支援邏輯分片,為水平擴展奠基
- OrientDB Studio 大幅增強:新增認證授權、用戶/角色管理、集群視覺化、Server 配置界面
- 用戶與角色管理體系:細粒度 RBAC,支援資源級權限控制
- ODocument 類型系統柔性化:動態增減欄位、嵌套文檔、集合類型更自由
- HTTP Basic Auth:REST API 安全基線補齊
- 高併發穩定性修復:解決大量客戶端併發下的競態 Bug
5 分鐘上手代碼示例
// 1. 依賴 (Maven)
<dependency>
<groupId>com.orientechnologies</groupId>
<artifactId>orientdb-core</artifactId>
<version>0.9.14</version>
</dependency>
// 2. 嵌入式模式快速體驗
import com.orientechnologies.orient.core.db.document.ODatabaseDocumentTx;
import com.orientechnologies.orient.core.record.impl.ODocument;
import com.orientechnologies.orient.core.sql.query.OSQLSynchQuery;
import java.util.List;
public class QuickStart {
public static void main(String[] args) {
// 打開/創建數據庫 (plocal 本地模式)
ODatabaseDocumentTx db = new ODatabaseDocumentTx("plocal:./petshop").open("admin", "admin");
try {
// 創建文檔 (支持嵌套)
ODocument person = new ODocument("Person");
person.field("name", "Luke");
person.field("surname", "Skywalker");
person.field("city", new ODocument("City")
.field("name", "Rome")
.field("country", "Italy"));
// 持久化
person.save();
// 查詢 (SQL-like)
List<ODocument> result = db.query(
new OSQLSynchQuery<ODocument>("SELECT * FROM Person WHERE city.name = 'Rome'"));
// 輸出
for (ODocument d : result) {
System.out.println("Person: " + d.field("name") + " " + d.field("surname"));
}
} finally {
db.close();
}
}
}
架構模式選擇指南
| 模式 | 適用場景 | 連接串前綴 |
| 嵌入式 | 單進程、測試、桌面、邊緣設備 | plocal: |
| 客戶端-服務器 | 多應用共享、生產環境、需遠程訪問 | remote: |
| 分佈式集群 | 高可用、水平擴展、多數據中心 | remote: (多節點) |
下一步學習資源
結語
OrientDB 0.9.14 以「文檔+圖」雙引擎、ACID 保障、輕量部署,為多模型數據庫賽道提供了極具性價比的選擇。對於同時面臨關係數據、JSON 文檔、社交圖譜等混合建模需求的團隊,值得納入技術選型備選清單並進行 PoC 驗證。
- 上一篇文章: Windows MSCS 打造 DB2 高可用集群:從傳統思維到 db2mscs 原生方案
- 下一篇文章: 雙數據源連接池實現:單實例支援兩套資料庫無縫切換
Copyright ©
程式碼之家 All Rights Reserved