Re: [Info-Ingres] String Manipulations
- From: "Gibson Jonathan" <Jonathan.Gibson@xxxxxxxxxx>
- Date: Tue, 20 Mar 2007 10:39:18 -0000
You've misinterpreted my comment about database performance. I wouldn't
want the database to handle a transient business rule such as a
promotion that lasts for 2 months. Making that promotion data in itself
is one solution but if that ain't practical, the promotion example would
be something I'd move to an external business logic layer. Again, I'd
whole heartedly advocate a constraint such as the DOD being greater than
the DOB being a database constraint. It's core to the business model
and will never change.
As for having data spread across many databases and systems, that is a
reality of life as businesses grow organically. We've acquired many
other businesses over the years, each with their own business systems.
Some we've been able to amalgamate into our existing systems and some
haven't. As an example, we underwrite household insurance in one system
and the deployment of a satellite in another. Whilst the concepts of
insurance may appear to be universal, these are very different, with one
being simplistic and the other highly convoluted. However, we still
want to be able to give one common interface to our end users and this
is where a SOA approach with a business logic layer comes to the fore.
In the ideal world, I'd agree that one underwriting system, with one
database is the ideal goal but it isn't going to happen.
Regards
Jon Gibson
Senior Database Administrator
Hiscox Plc
T: +44 (0)20 7448 6820
F +44 (0)20 7448 6899
www.hiscox.com
-----Original Message-----
From: info-ingres-bounces@xxxxxxxxxxxxxxxxxxxxxxxxx
[mailto:info-ingres-bounces@xxxxxxxxxxxxxxxxxxxxxxxxx] On Behalf Of
Emiliano
Sent: 19 March 2007 20:33
To: info-ingres@xxxxxxxxxxxxxxxxxxxxxxxxx
Subject: Re: [Info-Ingres] String Manipulations
On 2007-03-19, Gibson Jonathan <Jonathan.Gibson@xxxxxxxxxx> wrote:
I'm with Ian on this one. Paul's example would fit perfectly wellinto
the BL layer of a SOA deployment but to do the same in the database
would result in every data transaction being scrutinised to this rule.
Personally, I want my database tuned for retrieving data as quickly as
possible whilst ensuring data integrity.
For those instances, there's MySQL ;) Sorry, that wasn't nice.
But what this is saying to me is that data validity has lower priority
than performance. In such a case I'd reason that you don't have
business rules but business guidelines. Which is perfectly OK if
that's a decision you make knowing the potential consequences.
If performance is all that matters, a replicated read-only copy might
be a good middle ground. SQL Server has snapshots for exactly this
scenario, although that does mean you don't have up-to-the-minute
data. But fast it is.
There's a fine line between
this type of business logic and referential integrity and constraints.
I don't see any structural difference at all. They're just
higher-level constraints, but they're all constraints. Why would a FK
be more important than a date of birth that's later than date of
death?
The other advantage about placing your business logic in a separatein
layer such as in a SOA deployment, is that it largely becomes
database/application agnostic. When the logic is to be applied across
many back end systems, do you maintain the logic in each database or
one central layer?
That's a very good point, but if you have related data living in fully
separate databases, you have some serious issues to deal with in the
first place (unless the relations don't really matter, and then you
wouldn't have needed BL in the DB in any case). I've dealt with a simple
version of this, and *all* data access *was* through proxy objects
(non-networked SOA, you might say), and the poxy 'virtual database'
got corrupted at the drop of a hat.
--
Emiliano
_______________________________________________
Info-Ingres mailing list
Info-Ingres@xxxxxxxxxxxxxxxxxxxxxxxxx
http://www.kettleriverconsulting.com/mailman/listinfo/info-ingres
_____________________________________________________________________
This message has been checked for all known viruses by bluesource. For
further information visit www.blue-source.com
powered by Messagelabs
**********************************************************************
This email and any files transmitted with it are confidential and
intended solely for the use of the individual or entity to whom they
are addressed. No one else is authorised to distribute, forward,
print, copy or act upon any information contained in this email.
If you have received this email in error, please notify the sender.
Hiscox Syndicates Limited, Hiscox Insurance Company Limited, Hiscox Underwriting Limited and Hiscox Investment Management Limited are authorised and regulated by the Financial
Services Authority. Hiscox plc is a company registered in England
and Wales under company registration number 2837811 and registered
office at 1 Great St Helen's, London EC3A 6HX
**********************************************************************
_____________________________________________________________________
This message has been checked for all known viruses by blue-source. For further information visit www.blue-source.com
powered by Messagelabs
.
- Follow-Ups:
- Re: [Info-Ingres] String Manipulations
- From: Emiliano
- Re: [Info-Ingres] String Manipulations
- From: Roy Hann
- Re: [Info-Ingres] String Manipulations
- References:
- Re: [Info-Ingres] String Manipulations
- From: Emiliano
- Re: [Info-Ingres] String Manipulations
- Prev by Date: Re: JDBC driver for Ingres 2.5
- Next by Date: Re: JDBC driver for Ingres 2.5
- Previous by thread: Re: [Info-Ingres] String Manipulations
- Next by thread: Re: [Info-Ingres] String Manipulations
- Index(es):
Relevant Pages
|