You are viewing a plain text version of this content. The canonical link for it is here.
Posted to oak-dev@jackrabbit.apache.org by "O'Donnell, Laura" <lo...@inmedius.com> on 2014/11/10 18:08:52 UTC

Using OAK in a production environment.

Our company is currently using jackrabbit embedded into our product.

We run on JBoss and access jackrabbit through JCA, and have stored the jackrabbit content in an oracle database.

Our current product is being revamped to be able to handle as much as 1 million documents, so we need a responsive repository that can do the same.

Testing on the current version of jackrabbit shows significant reduction is performance when we hit upwards of 100K documents.

So, we are looking for alternatives.  OAK obviously is the first question.  However, in order to consider OAK we need to know the following?

Can OAK run in JBOSS like jackrabbit did?

Can we use an Oracle or MySQL db to store the OAK content?

Is there a plan to expose a build that we can use instead of requiring users to compile the source and then try to figure out which jars are necessary?

If the answer is no to the above questions, is there a timeframe where any of the above are planned to be available?

We are at a point where we need to decide whether OAK should even be considered within our plans, so any information on the above would be appreciated.



Thanks,

Laura O'Donnell


Re: Using OAK in a production environment.

Posted by Davide Giannella <da...@apache.org>.
On 10/11/2014 20:38, Julian Sedding wrote:
> Hi Laura
>
>> Testing on the current version of jackrabbit shows significant reduction is performance when we hit upwards of 100K documents.
> This sound like you are storing all documents in a flat list within a
> single parent node. This is a known (design) limitation in Jackrabbit.
> You should be able to work around this by creating a hierarchy and
> store < 10k documents within a single parent node. With such a
> structure storing 1 million documents should not cause performance
> problems.
>
> Oak can handle larger child lists, as long as the parent node is not orderable.
>
That means instead of using an nt:unstructured like node, use an
oak:Unstructured one. Unfortunately I think all the sling: nodes are
ordered ones in case you're passing via Sling.

Davide



AW: Using OAK in a production environment.

Posted by KÖLL Claus <C....@TIROL.GV.AT>.
Hi Laura ..

I can only agree with Julian. 
We have similiar the same architecture as you described and we have Millions of documents in jackrabbikt without any performance problem.
About OAK and JCA I can't tell much because I am at the moment not so deep in oak, but I think nobody has tested it at the moment.

I will take some time in the future to test oak in a JCA environment.

greets
claus


Re: Using OAK in a production environment.

Posted by Julian Sedding <js...@gmail.com>.
Hi Laura

> Testing on the current version of jackrabbit shows significant reduction is performance when we hit upwards of 100K documents.

This sound like you are storing all documents in a flat list within a
single parent node. This is a known (design) limitation in Jackrabbit.
You should be able to work around this by creating a hierarchy and
store < 10k documents within a single parent node. With such a
structure storing 1 million documents should not cause performance
problems.

Oak can handle larger child lists, as long as the parent node is not orderable.

Hope this helps.

Regards
Julian


On Mon, Nov 10, 2014 at 6:08 PM, O'Donnell, Laura
<lo...@inmedius.com> wrote:
> Our company is currently using jackrabbit embedded into our product.
>
> We run on JBoss and access jackrabbit through JCA, and have stored the jackrabbit content in an oracle database.
>
> Our current product is being revamped to be able to handle as much as 1 million documents, so we need a responsive repository that can do the same.
>
> Testing on the current version of jackrabbit shows significant reduction is performance when we hit upwards of 100K documents.
>
> So, we are looking for alternatives.  OAK obviously is the first question.  However, in order to consider OAK we need to know the following?
>
> Can OAK run in JBOSS like jackrabbit did?
>
> Can we use an Oracle or MySQL db to store the OAK content?
>
> Is there a plan to expose a build that we can use instead of requiring users to compile the source and then try to figure out which jars are necessary?
>
> If the answer is no to the above questions, is there a timeframe where any of the above are planned to be available?
>
> We are at a point where we need to decide whether OAK should even be considered within our plans, so any information on the above would be appreciated.
>
>
>
> Thanks,
>
> Laura O'Donnell
>

Re: Using OAK in a production environment.

Posted by Julian Reschke <ju...@gmx.de>.
On 2014-11-11 10:23, Michael Dürig wrote:
>
>
> On 10.11.14 6:08 , O'Donnell, Laura wrote:
>> Can we use an Oracle or MySQL db to store the OAK content?
>
> Not with the current stable release. However you can try with one of the
> recent unstable releases, which add support for RDB back-ends [1]. I
> think this should make its way into a stable release within upcoming
> months.

Indeed. And to get there, more people actually trying it out would help 
tremendously!

Best regards, Julian


Re: Using OAK in a production environment.

Posted by Michael Dürig <md...@apache.org>.

On 10.11.14 6:08 , O'Donnell, Laura wrote:
> Can we use an Oracle or MySQL db to store the OAK content?

Not with the current stable release. However you can try with one of the 
recent unstable releases, which add support for RDB back-ends [1]. I 
think this should make its way into a stable release within upcoming 
months.

>
> Is there a plan to expose a build that we can use instead of requiring users to compile the source and then try to figure out which jars are necessary?

No, not currently. The best way is to set up your projects with Maven 
and let Maven manage your dependencies.

Michael


[1] 
https://github.com/apache/jackrabbit-oak/blob/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/document/rdb/package-info.java