Red Hat Training

A Red Hat training course is available for Red Hat JBoss Data Virtualization

Chapter 3. The Hierarchical Database

3.1. The Hierarchical Database

The hierarchical database is a distributed, hierarchical, transactional, and consistent data store. It provides support for queries, full-text search, events, versioning, references, and flexible and dynamic schemas. Clients use the JSR-283 standard Java API for content repositories (also known as JCR) or the hierarchical database's REST API, and can query content through JDBC and SQL.
You can use the hierarchical database for data that is organized in a tree-like hierarchical structure where related data is stored close together and navigation to related content is frequently required.
The hierarchical database automatically extracts the structured information within the files enabling clients to navigate or use queries to find files satisfying complex, structurally-oriented criteria. You can use the hierarchical database for all kinds of applications, including repositories, content management systems, historical data services, provisioning and governance systems, and metadata management systems.
The hierarchical database supports all JCR 2.0 required features:
  • Repository acquisition
  • Authentication
  • Reading/Navigating
  • Query
  • Export
  • Node type discovery
  • Permissions and capability checking
The hierarchical database supports most of the JCR 2.0 optional features:
  • Writing
  • Import
  • Observation
  • Workspace management
  • Access control management
  • Versioning
  • Locking
  • Node type management
  • Same-name siblings
  • Orderable child nodes
  • Shareable nodes
  • mix:etag, mix:created and mix:lastModified mixins with automatically created properties
The hierarchical database supports the following query languages:
  • The JCR-SQL2 and JCR-JQOM query languages defined in JCR 2.0 (JSR-283)
  • The XPath and JCR-SQL query languages defined in JCR 1.0 (JSR-170)
  • a full-text search-engine-like language