Thanks for your reply Jochem.

This is some excellent advice and we will def look into it. 

I wonder if I am over complicating this issue. Basically our application is
a Software as a Service (SaaS) and each client that accesses it really only
needs to connect to their own data source due to the type of data our
application processes... and regulations in the industry say their data must
be separated. 

So, the actual objects in the database may vary but only *very* slightly.
The only real issue we have here is not that the objects will vary but how
do I get ORM to point to purely a different data source name - but use the
same set of objects.

 




-----Original Message-----
From: Jochem van Dieten [mailto:joch...@gmail.com] 
Sent: 26 September 2011 20:22
To: cf-talk
Subject: Re: ORM overhead


On Mon, Sep 26, 2011 at 8:07 PM, Richard (J7 Group) wrote:
> Performance overhead, especially in an application that could be linked to
> thousands of data sources?

I think an application with thousands of datasources is so far out of
the experience of other users that we will have no way of answering
your question. I do have a few questions that may be helpful in
finding the right questions and answers yourself.

1. What would you consider an acceptable overhead in terms of GB of RAM?
2. What would you consider an acceptable overhead ni terms of seconds
delay of application startup?

Once you have answered that, run the following experiment:
1. For one database, generate the CFCs for the tables using a code
generator (such as the plugin to CF Builder).
2. Add the database to the orm configuration in application.cfc
3. Add the CFC folder to the orm configuration in application.cfc.
4. Measure startup time.
5. Repeat step 1-3 for 9 more databases.
6. Measure startup time.
7. Extrapolate.

With thousands of datasources even a small number of tables per
datasource means on startup CF has to compile and process tens or even
hundreds of thousands of CFCs to build all the right relations and
objects. I expect that to be prohibitively expensive on startup time
(question 2) long before you have a problem with RAM (question1), even
if you use HBMXML files to store the relations. Since my experience
does not go further then close to 200 tables in one application I have
no idea what the result will be and am very interested in what your
measurements will tell.

Jochem

-- 
Jochem van Dieten
http://jochem.vandieten.net/



~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~|
Order the Adobe Coldfusion Anthology now!
http://www.amazon.com/Adobe-Coldfusion-Anthology/dp/1430272155/?tag=houseoffusion
Archive: 
http://www.houseoffusion.com/groups/cf-talk/message.cfm/messageid:347727
Subscription: http://www.houseoffusion.com/groups/cf-talk/subscribe.cfm
Unsubscribe: http://www.houseoffusion.com/groups/cf-talk/unsubscribe.cfm

Reply via email to