Yup.. pretty much what we were/are doing.. only we used the clearCache() whenever an import occurred (user performs import).  Unfortuately we need to upgrade mondrian since the version we were/are using is REALLY old.. and doesn't seem to have aggregate table support, or at least not as it should.. and the new version doesn't support clearCache.   What I'm looking for with mondrian 
2.4 is a way to specify the whole cube in a &quot;region&quot; for invalidation (similar to clearCache()).&nbsp; I&#39;ll take a look at the DataSourceChangeListener in any case...&nbsp; thanks...<br><br><br>On the multiple schema XML side... anyone have any experiences/ideas/hints? I mean.. is there some mondrian function that I need to call via the API or something before I switch schemas?&nbsp; Or do I need to approach this differently ???
<br><br>Cheers<br>Ati<br><br><div class="gmail_quote">On Dec 5, 2007 10:21 AM, Pappyn Bart &lt;<a href="mailto:Bart.Pappyn@vandewiele.com">Bart.Pappyn@vandewiele.com</a>&gt; wrote:<br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">




<div>
<div dir="ltr" align="left"><span><font color="#0000ff" face="Arial" size="2">Hi Ati,</font></span></div>
<div dir="ltr" align="left"><span><font color="#0000ff" face="Arial" size="2"></font></span>&nbsp;</div>
<div dir="ltr" align="left"><span><font color="#0000ff" face="Arial" size="2">I have a real world application that is running good at 
more than 15 sites for now.&nbsp; My database has two fact tables, both 
identical in layout.&nbsp; One contains the hot data (today), the other one the 
archived data.&nbsp; My system is a sort of real-time olap (data is updated all 
the time, but only reflected every 5 minutes in the hot fact table).&nbsp; My 
database is updated using transactions.</font></span></div>
<div dir="ltr" align="left"><span><font color="#0000ff" face="Arial" size="2"></font></span>&nbsp;</div>
<div dir="ltr" align="left"><span><font color="#0000ff" face="Arial" size="2">The first is implemented in a cube with all cache turned 
off and does not have aggregate tables.&nbsp; The second one has cache turned on 
and has aggregate tables.&nbsp; Both are combined in a virtual cube, both share 
the same dimensions.</font></span></div>
<div dir="ltr" align="left"><span><font color="#0000ff" face="Arial" size="2"></font></span>&nbsp;</div>
<div dir="ltr" align="left"><span><font color="#0000ff" face="Arial" size="2">The aggregate tables are calculated at night.&nbsp; I use 
the DataSourceChangeListener to check whether an aggregation table is 
changed.&nbsp;&nbsp;&nbsp;</font></span><span><font color="#0000ff" face="Arial" size="2">I use RolapSchema.clearCache(); to flush the 
cache after all aggregation tables are done.&nbsp; I flush dimension cache using 
the DataSourceChangeListener, in that case, there is no need to clear the full 
cache.&nbsp; I have a special table in my database containing the name of the 
table and the time the aggregation is done.&nbsp; This way I can communicate 
using the DataSourceChangeListener and the database without having to know about 
the ETL process that is running in C++.</font></span></div>
<div dir="ltr" align="left"><span><font color="#0000ff" face="Arial" size="2"></font></span>&nbsp;</div>
<div dir="ltr" align="left"><span><font color="#0000ff" face="Arial" size="2">I use the previous version of mondrian (2.3.2), I know the 
function RolapSchema.clearCache() was deprecated and I assume it no longer 
exists in the latest version.&nbsp; I don&#39;t see the benefit of only flushing 
certain parts of the cube, since a) I don&#39;t know what to flush b) Almost 
everything is changed.&nbsp; Also I assume that dimension cache is still not 
flushable (I might be wrong about that), besides using 
DataSourceChangeListener.</font></span></div>
<div dir="ltr" align="left"><span><font color="#0000ff" face="Arial" size="2"></font></span>&nbsp;</div>
<div dir="ltr" align="left"><span><font color="#0000ff" face="Arial" size="2">There is a period at night where results might be wrong 
using this approach, but since at that time, my users only check data from today 
(monitoring purpose), there are no huge problems.</font></span></div>
<div dir="ltr" align="left"><span><font color="#0000ff" face="Arial" size="2"></font></span>&nbsp;</div>
<div dir="ltr" align="left"><span><font color="#0000ff" face="Arial" size="2">The performance is ok (2-10 sec for a report), the database 
is 5 - 10 GB for 1 year data.&nbsp; </font></span></div>
<div dir="ltr" align="left"><span><font color="#0000ff" face="Arial" size="2"></font></span>&nbsp;</div>
<div dir="ltr" align="left"><span><font color="#0000ff" face="Arial" size="2">I am using this approach for over a year now, and is 
actively running on multiple sites, without any problems.</font></span></div>
<div dir="ltr" align="left"><span><font color="#0000ff" face="Arial" size="2"></font></span>&nbsp;</div>
<div dir="ltr" align="left"><span><font color="#0000ff" face="Arial" size="2">While I developed DataSourceChangeListener for the 2.3.2 
release, I do not have the time for the moment to check if it is still working 
in the latest release.&nbsp; I had to stop taking the latest version of 
mondrian, because my application is using almost all features that mondrian 
contains.&nbsp; And every build of mondrian broke something in my 
application.&nbsp; So maintaining DataSourceChangeListener was a never ending 
story and I had no time left for developing my own 
application.</font></span></div>
<div dir="ltr" align="left"><span><font color="#0000ff" face="Arial" size="2"></font></span>&nbsp;</div>
<div dir="ltr" align="left"><span><span><font color="#0000ff" face="Arial" size="2">There are 
multiple users that are using the system at the same time, I also had to develop 
special features for mondrian for this (for cache flushing and real time 
results).&nbsp;Not sure if they are still in place in the latest 
release.</font></span></span></div>
<div dir="ltr" align="left"><span><font color="#0000ff" face="Arial" size="2"></font></span>&nbsp;</div>
<div dir="ltr" align="left"><span><font color="#0000ff" face="Arial" size="2">Kind regards,</font></span></div>
<div dir="ltr" align="left"><span><font color="#0000ff" face="Arial" size="2">Bart</font></span></div><br>
<div dir="ltr" align="left" lang="en-us">
<hr>
<font face="Tahoma" size="2"><b>From:</b> <a href="mailto:mondrian-bounces@pentaho.org" target="_blank">mondrian-bounces@pentaho.org</a> 
[mailto:<a href="mailto:mondrian-bounces@pentaho.org" target="_blank">mondrian-bounces@pentaho.org</a>] <b>On Behalf Of </b>Ati 
Rosselet<br><b>Sent:</b> dinsdag 4 december 2007 18:44<br><b>To:</b> Mondrian 
developer mailing list<br><b>Subject:</b> [Mondrian] multiple schemas? cache 
management?<br></font><br></div><div><div></div><div class="Wj3C7c">
<div></div>In previous versions of mondrian, I could just provide a different 
schema with a query (notably through jpivot) and the data for that schema would 
be loaded and cached... seperately.&nbsp; This was important because we had 
multiple schemas in different files, each with their own set of roles etc .. and 
it worked fine keeping them seperate.&nbsp; To my suprise, when we ported to the 
new mondrain, it seems to just cache the FIRST schema file we provide, and 
ignore any others... thus of course leading to the hierarchy/dimension/member 
not found errors.&nbsp; My question is simply... what changed.. and is it still 
possible to use multiple schemas via jpivot especially.... <br><br>a seperate 
question - we&#39;re having a tough time getting our brains around the new cache 
invalidation - is there any way to just say.. ok... reload everything (or 
pertaining to a certain cube??)?&nbsp;&nbsp; We have to reload all the aggregate 
tables using a procedure anyways, so pretty much everything is affected.. or can 
be... is there no way to just say cache.clear().. or something?&nbsp; Does 
anyone have any real life examples of cache management they could 
share?<br>Cheers<br>Ati<br><br><br><br></div></div>______________________________________________________________________<br>This 
email has been scanned by the Email Security 
System.<br>______________________________________________________________________<br></div>
<br>_______________________________________________<br>Mondrian mailing list<br><a href="mailto:Mondrian@pentaho.org">Mondrian@pentaho.org</a><br><a href="http://lists.pentaho.org/mailman/listinfo/mondrian" target="_blank">
http://lists.pentaho.org/mailman/listinfo/mondrian</a><br><br></blockquote></div><br>