Expand my Community achievements bar.

Nomination window for the Adobe Community Advisor Program, Class of 2025, is now open!
SOLVED

JCR - SQL Vs NOSQL

Avatar

Level 7

Hi all,

 

JCR is not a database, therefore whether it is SQL DB or NONSQL DB does not arise.

But Solr is a blazing fast, open source NoSQL Database Search engine and can access JCR.

 

How is it possible as JCR is not a NONSQL database?

Does it mean that Solr works on non data bases also?

 

Appreciate all your responses.

 

Thanks,

RK.

Topics

Topics help categorize Community content and increase your ability to discover relevant content.

1 Accepted Solution

Avatar

Correct answer by
Level 10

Hi @nsvsrk 

AEM's JCR (Java Content Repository) is implemented via Apache Jackrabbit Oak, and is considered a type of NoSQL database. It is a hierarchical, document-oriented content repository designed to store structured and unstructured content like web pages, assets, and metadata.

While JCR handles content storage, Solr (or Lucene in embedded setups) is used for full-text search and indexing. AEM uses Oak’s indexing mechanism to determine what content should be indexed. When a query is made (SQL2, XPath, etc.), AEM checks the Oak index definitions to decide whether to query Solr or JCR directly.

 

Hope this helps,

Daniel

View solution in original post

1 Reply

Avatar

Correct answer by
Level 10

Hi @nsvsrk 

AEM's JCR (Java Content Repository) is implemented via Apache Jackrabbit Oak, and is considered a type of NoSQL database. It is a hierarchical, document-oriented content repository designed to store structured and unstructured content like web pages, assets, and metadata.

While JCR handles content storage, Solr (or Lucene in embedded setups) is used for full-text search and indexing. AEM uses Oak’s indexing mechanism to determine what content should be indexed. When a query is made (SQL2, XPath, etc.), AEM checks the Oak index definitions to decide whether to query Solr or JCR directly.

 

Hope this helps,

Daniel