On Sun, 2008-08-24 at 08:55 +0200, Roché Compaan wrote:
> Thanks for the feedback. I'll re-run the tests without any text indexes,
> as well as run it with other implementations such as TextIndexNG3 and
> SimpleTextIndex and compare the results.
> 

Some more tests show that text indexes aren't the worst offenders. Date
and DateRangeIndexes use IISet in cases where IITreeSet seem more
appropriate. To me there isn't much more value to investigate other text
index implementations. I'd rather spend to time to compare the overall
results with other indexing implementations altogether, like solr or
indexing in a RDMBS.

Listed below are some stats (where I ran my original test in which I
create 10000 documents) that compare an unmodified setup, a catalog
without text indexes, a catalog without date indexes, a catalog without
metadata and no catalog at all.

Total size of default setup:              2569.97 MB
Total size excluding text indexes:        1963.89 MB
Total size excluding date range indexes:  2043.26 MB
Total size excluding catalog:              270.90 MB


Unmodified setup (default portal_catalog):
==========================================
Classname, Count, Size (kB), Size (mB), Avg (kB)
------------------------------------------------
Products.PlonePAS.tools.memberdata.MemberData, 1, 0, 0, 0
OFS.Folder.Folder, 10000, 537, 0.52, 0.05
BTrees.Length.Length, 220107, 6382, 6.23, 0.03
Products.Archetypes.BaseUnit.BaseUnit, 30000, 7504, 7.33, 0.25
Persistence.mapping.PersistentMapping, 20000, 8261, 8.07, 0.41
Products.ATContentTypes.content.document.ATDocument, 10000, 15077,
14.72, 1.51
BTrees._OIBTree.OIBTree, 4613, 23008, 22.47, 4.99
BTrees._IIBTree.IITreeSet, 49383, 25975, 25.37, 0.53
BTrees._OOBTree.OOBTree, 15875, 52354, 51.13, 3.3
BTrees._IIBTree.IIBTree, 143942, 53566, 52.31, 0.37
BTrees._OOBTree.OOBucket, 115332, 70789, 69.13, 0.61
BTrees._IOBTree.IOBTree, 25645, 71072, 69.41, 2.77
BTrees._OIBTree.OIBucket, 132417, 101472, 99.09, 0.77
BTrees._IIBTree.IIBucket, 252121, 163524, 159.69, 0.65
BTrees._IOBTree.IOBucket, 655025, 1007623, 984.01, 1.54
BTrees._IIBTree.IISet, 640686, 1024506, 1000.49, 1.6

Total size: 2569.97 MB


No text indexes:
================
Classname, Count, Size (kB), Size (mB), Avg (kB)
------------------------------------------------
OFS.Folder.Folder, 10000, 537, 0.52, 0.05
BTrees.Length.Length, 120077, 3397, 3.32, 0.03
Products.Archetypes.BaseUnit.BaseUnit, 30000, 7504, 7.33, 0.25
Persistence.mapping.PersistentMapping, 20000, 8242, 8.05, 0.41
Products.ATContentTypes.content.document.ATDocument, 10000, 15057, 14.7,
1.51
BTrees._OIBTree.OIBTree, 3467, 15740, 15.37, 4.54
BTrees._IIBTree.IITreeSet, 45734, 24355, 23.78, 0.53
BTrees._IOBTree.IOBTree, 20895, 37559, 36.68, 1.8
BTrees._OOBTree.OOBTree, 15878, 52460, 51.23, 3.3
BTrees._OOBTree.OOBucket, 115336, 70789, 69.13, 0.61
BTrees._OIBTree.OIBucket, 92499, 75572, 73.8, 0.82
BTrees._IOBTree.IOBucket, 287777, 670918, 655.19, 2.33
BTrees._IIBTree.IISet, 644224, 1028891, 1004.78, 1.6

Total size: 1963.89 MB


No date and date range indexes:
===============================
Classname, Count, Size (kB), Size (mB), Avg (kB)
------------------------------------------------
OFS.Folder.Folder, 10000, 537, 0.52, 0.05
BTrees.Length.Length, 220002, 6379, 6.23, 0.03
Products.Archetypes.BaseUnit.BaseUnit, 30000, 7504, 7.33, 0.25
Persistence.mapping.PersistentMapping, 20000, 8242, 8.05, 0.41
Products.ATContentTypes.content.document.ATDocument, 10000, 15057, 14.7,
1.51
BTrees._OIBTree.OIBTree, 2688, 16786, 16.39, 6.24
BTrees._IIBTree.IITreeSet, 35868, 20593, 20.11, 0.57
BTrees._OOBTree.OOBTree, 15898, 52997, 51.75, 3.33
BTrees._IIBTree.IIBTree, 143806, 53443, 52.19, 0.37
BTrees._IOBTree.IOBTree, 24944, 68928, 67.31, 2.76
BTrees._OOBTree.OOBucket, 115356, 70806, 69.15, 0.61
BTrees._OIBTree.OIBucket, 81022, 76848, 75.05, 0.95
BTrees._IIBTree.IIBucket, 251985, 163777, 159.94, 0.65
BTrees._IIBTree.IISet, 582704, 519508, 507.33, 0.89
BTrees._IOBTree.IOBucket, 644640, 1010896, 987.2, 1.57

Total size: 2043.26 MB


No metadata:
============
Classname, Count, Size (kB), Size (mB), Avg (kB)
------------------------------------------------
OFS.Folder.Folder, 10000, 537, 0.52, 0.05
BTrees.Length.Length, 220095, 6381, 6.23, 0.03
Products.Archetypes.BaseUnit.BaseUnit, 30000, 7504, 7.33, 0.25
Persistence.mapping.PersistentMapping, 20000, 8242, 8.05, 0.41
Products.ATContentTypes.content.document.ATDocument, 10000, 15057, 14.7,
1.51
BTrees._OIBTree.OIBTree, 4608, 22971, 22.43, 4.99
BTrees._IIBTree.IITreeSet, 47718, 25185, 24.59, 0.53
BTrees._OOBTree.OOBTree, 15882, 52566, 51.33, 3.31
BTrees._IIBTree.IIBTree, 143948, 53520, 52.27, 0.37
BTrees._IOBTree.IOBTree, 25604, 69710, 68.08, 2.72
BTrees._OOBTree.OOBucket, 115340, 70774, 69.12, 0.61
BTrees._OIBTree.OIBucket, 132412, 101655, 99.27, 0.77
BTrees._IIBTree.IIBucket, 252127, 164492, 160.64, 0.65
BTrees._IOBTree.IOBucket, 655008, 689299, 673.14, 1.05
BTrees._IIBTree.IISet, 642280, 1027442, 1003.36, 1.6

Total size: 2261.07 MB


No catalog:
===========
Classname, Count, Size (kB), Size (mB), Avg (kB)
------------------------------------------------
OFS.Folder.Folder, 9524, 511, 0.5, 0.05
BTrees._IIBTree.IITreeSet, 550, 632, 0.62, 1.15
BTrees.Length.Length, 66668, 1904, 1.86, 0.03
BTrees._OIBTree.OIBTree, 1114, 6211, 6.07, 5.58
Products.Archetypes.BaseUnit.BaseUnit, 28572, 7147, 6.98, 0.25
Persistence.mapping.PersistentMapping, 19048, 7722, 7.54, 0.41
BTrees._IIBTree.IISet, 19122, 9239, 9.02, 0.48
BTrees._IOBTree.IOBTree, 3312, 10453, 10.21, 3.16
Products.ATContentTypes.content.document.ATDocument, 9524, 14352, 14.02,
1.51
BTrees._OOBTree.OOBTree, 12010, 23170, 22.63, 1.93
BTrees._OOBTree.OOBucket, 49857, 30574, 29.86, 0.61
BTrees._OIBTree.OIBucket, 29354, 33597, 32.81, 1.14
BTrees._IOBTree.IOBucket, 88074, 131886, 128.79, 1.5

Total size: 270.9 MB

-- 
Roché Compaan
Upfront Systems                   http://www.upfrontsystems.co.za

_______________________________________________
For more information about ZODB, see the ZODB Wiki:
http://www.zope.org/Wikis/ZODB/

ZODB-Dev mailing list  -  ZODB-Dev@zope.org
http://mail.zope.org/mailman/listinfo/zodb-dev

Reply via email to