views:

26

answers:

1

I'm studying Domain-Driven Design and Distributed DDD for an upcoming Silverlight application I'm going to be working on. The EagerReadDerivation pattern seems like it would improve the scalability of the application, but at the cost of increased complexity.

The application will have potentially have thousands of users uploading large text files (100,000+ lines) that will need to be processed by multiple services. We'll also need to support "what-if" scenarios (a la ParallelModel). I believe a model-driven approach will help us manage complexity so I'd like to keep logic out of the database as much as possible.

My question is for developers that have attempted the EagerReadDerivation pattern: did it pay off for you, and was it worth the additional complexity in your application?

A: 

To estimate the benefits, you should consider the upload/query ratio. If you have fare more queries than uploads, you should definitly apply processing on upload.

It also lead to a more repeatable pattern, the data cannot be queried before it has been fully processed. If apply logic on read, a problem arise when changing the data while applying logic for read.

By all mean, leave logic out of the database as you planed.

Think Before Coding