On Wed, Nov 28, 2007 at 09:28:53PM +0100, Ard Schrijvers wrote: > > > > > Hi, > > > > On Nov 28, 2007 7:54 PM, Eugeny N Dzhurinsky <[EMAIL PROTECTED]> wrote: > > > So in general the entire tree has several domain nodes, and each > > > domain node hash set of a nodes which hold the content of domain > > > object for given date, and each date node has a lot (up to > > several millions) of child nodes. > > > Jukka Zitting wrote: > > The large number of child nodes per a "date" node is a clear > > warning sign. Accessing a node with a large number (>10k) of > > direct child nodes is expensive. > > > > Can you rearrange the child nodes to a subtree hierarchy? > I really assumed he meant several millions of child nodes as in several > million descendants...I just cannot believe Eugeny is talking about > millions of child nodes without any hierarchy.
In fact, this is my case - we have a lot of same level child nodes for a set
of parent nodes.
> Though, an XPath query won't be slower for a flat distribution if I am
> correct (actually faster because the hierarchy resolver has an easier
> job), but he also seems to suffer from queries that do not perform.
>
> Anyway, Eugeny, can you provide us the missing information?
Sure, the repository configuration is:
=====================================================================================
<?xml version="1.0"?>
<!DOCTYPE Repository PUBLIC "-//The Apache Software Foundation//DTD Jackrabbit
1.2//EN"
"http://jackrabbit.apache.org/dtd/repository-1.2.dtd">
<Repository>
<FileSystem class="our.custom.filesystem">
<param name="path" value="${rep.home}/repository"/>
</FileSystem>
<Security appName="Jackrabbit">
<AccessManager
class="org.apache.jackrabbit.core.security.SimpleAccessManager">
</AccessManager>
<LoginModule
class="org.apache.jackrabbit.core.security.SimpleLoginModule">
<param name="anonymousId" value="anonymous"/>
</LoginModule>
</Security>
<Workspaces rootPath="${rep.home}/workspaces" defaultWorkspace="default"/>
<Workspace name="${wsp.name}">
<FileSystem class="our.custom.filesystem">
<param name="path" value="${wsp.home}"/>
</FileSystem>
<PersistenceManager
class="org.apache.jackrabbit.core.persistence.bundle.BundleFsPersistenceManager">
<param name="bundleCacheSize"
value="8"/>
<param name="blobFSBlockSize"
value="0"/>
<param name="blobFSInitialCacheSize"
value="100"/>
<param name="blobFSMaximumCacheSize"
value="4000"/>
<param name="blobFSBlockSize"
value="0"/>
<param name="blobFSInitialCacheSize"
value="100"/>
<param name="blobFSMaximumCacheSize"
value="4000"/>
<param name="errorHandling" value=""/>
</PersistenceManager>
<SearchIndex
class="org.apache.jackrabbit.core.query.lucene.SearchIndex">
<param name="path" value="${wsp.home}/index"/>
</SearchIndex>
</Workspace>
<Versioning rootPath="${rep.home}/version">
<FileSystem class="our.custom.filesystem">
<param name="path" value="${rep.home}/version" />
</FileSystem>
<PersistenceManager
class="org.apache.jackrabbit.core.persistence.bundle.BundleFsPersistenceManager">
<param name="bundleCacheSize"
value="8"/>
<param name="blobFSBlockSize"
value="0"/>
<param name="blobFSInitialCacheSize"
value="100"/>
<param name="blobFSMaximumCacheSize"
value="4000"/>
<param name="blobFSBlockSize"
value="0"/>
<param name="blobFSInitialCacheSize"
value="100"/>
<param name="blobFSMaximumCacheSize"
value="4000"/>
<param name="errorHandling" value=""/>
</PersistenceManager>
</Versioning>
<SearchIndex class="org.apache.jackrabbit.core.query.lucene.SearchIndex">
<param name="path" value="${rep.home}/repository/index"/>
</SearchIndex>
</Repository>
=====================================================================================
We are using JackRabbit 1.3.
I will post XPATH queries we're concerning of a bit later, however if having a
lot of child nodes for a node may cause performance issues, we'll try to
re-arrange the nodes first.
Thank you for quick and prompt reply!
--
Eugene N Dzhurinsky
pgph2ljiFtSDf.pgp
Description: PGP signature
