Click here to monitor SSC
SQLServerCentral is supported by Red Gate Software Ltd.
 
Log in  ::  Register  ::  Not logged in
 
 
 
        
Home       Members    Calendar    Who's On


Add to briefcase ««12

A Broken Data Model Expand / Collapse
Author
Message
Posted Thursday, May 9, 2013 8:58 AM
SSC Rookie

SSC RookieSSC RookieSSC RookieSSC RookieSSC RookieSSC RookieSSC RookieSSC Rookie

Group: General Forum Members
Last Login: Monday, September 22, 2014 1:55 AM
Points: 34, Visits: 163

Years ago I was on a late night flight which made a brief stop in DC and ended in Newark, NJ. At Newark, they woke everyone up on the plane including the young soldier in a nearby seat who was supposed to get off in DC. No one noticed, no one woke him, and suddenly he was dumped in a strange city late at night.


Cabin crew count the passengers after boarding - surprised they didn't notice the numbers didn't tally.
Post #1451173
Posted Thursday, May 9, 2013 10:07 AM


SSC-Dedicated

SSC-DedicatedSSC-DedicatedSSC-DedicatedSSC-DedicatedSSC-DedicatedSSC-DedicatedSSC-DedicatedSSC-DedicatedSSC-DedicatedSSC-DedicatedSSC-DedicatedSSC-DedicatedSSC-Dedicated

Group: Administrators
Last Login: Yesterday @ 4:16 PM
Points: 31,284, Visits: 15,748
Mike Dougherty-384281 (5/9/2013)

However given that so much of the airline industry relies on systems that were developed decades ago, perhaps I shouldn't be surprised.


Are you implying that old code is inherently inferior to modern code?

No.

...
That the expected use case(s) [normal behavior] works smoothly as frequently as it does I think deserves some kudos.


It does, and I should have pointed out how well things seem to work.



...
(that maybe didn't anticipate 'modern' craziness)

I'm not trying to be an apologist for crufty old code. However, in some cases old code survives as long as it does because it works so well there's no reason to risk system stability by replacing it with the flavor of the month.


It's not that the code is old; it's what you referenced. Modern craziness, and new requirements exist. We've shoehorned some of those features in there, and that causes issues. We've also scaled. Code doesn't always scale, as much as we'd like it to.







Follow me on Twitter: @way0utwest

Forum Etiquette: How to post data/code on a forum to get the best help
Post #1451240
Posted Thursday, May 9, 2013 10:11 AM


SSC-Dedicated

SSC-DedicatedSSC-DedicatedSSC-DedicatedSSC-DedicatedSSC-DedicatedSSC-DedicatedSSC-DedicatedSSC-DedicatedSSC-DedicatedSSC-DedicatedSSC-DedicatedSSC-DedicatedSSC-Dedicated

Group: Administrators
Last Login: Yesterday @ 4:16 PM
Points: 31,284, Visits: 15,748
skumar 5499 (5/9/2013)
Interesting example - but some time what we miss out is the fact - Model is not broken, its because we could not model it correctly due to lack of standards - some facts to know!!!


Semantics. It's still broken. Not because it wasn't built well, though that could be it. It's broken certainly because of change.







Follow me on Twitter: @way0utwest

Forum Etiquette: How to post data/code on a forum to get the best help
Post #1451246
Posted Thursday, May 9, 2013 3:35 PM


SSCarpal Tunnel

SSCarpal TunnelSSCarpal TunnelSSCarpal TunnelSSCarpal TunnelSSCarpal TunnelSSCarpal TunnelSSCarpal TunnelSSCarpal TunnelSSCarpal Tunnel

Group: General Forum Members
Last Login: Friday, October 24, 2014 12:43 PM
Points: 4,126, Visits: 3,428
TravisDBA (5/9/2013)
Most of the airline industry is strapped for cash as it is and struggling just to stay alive. You don't seriously think they have the money or time and energy to to put in state of the art booking systems do you? Of course not, they are using legacy out of date systems that are probably 10-15 years old as you stated. This should not surprise anyone.

Make that age 30-40 years. SABRE was considered old when I was doing a project for them 23 years ago.
Post #1451349
Posted Thursday, May 9, 2013 5:11 PM
SSCrazy

SSCrazySSCrazySSCrazySSCrazySSCrazySSCrazySSCrazySSCrazy

Group: General Forum Members
Last Login: Friday, November 21, 2014 10:15 AM
Points: 2,464, Visits: 1,551
Steve Jones - SSC Editor (5/9/2013)
[quote]
... We've shoehorned some of those features in there, and that causes issues.


The bane of developers and their system, shoehorning. I have learned to dislike this process over the years. But a developer cannot stop it from happening. We cannot even slow it down. Many think it is cheap and easy but there is a cost somewhere in the process where others or you yourself will have to pay.

After years of use and resurfacing or shoehorning, systems start to show the results of the series of compromises that have been made. Like using a pair of pliers as a hammer you are going to get hurt before it is over, and you had best watch out for it will in fact be wrong.

Thanks Steve! You helped me get off a late afternoon vent

M.




Not all gray hairs are Dinosaurs!
Post #1451382
Posted Friday, May 10, 2013 6:55 AM
Right there with Babe

Right there with BabeRight there with BabeRight there with BabeRight there with BabeRight there with BabeRight there with BabeRight there with BabeRight there with Babe

Group: General Forum Members
Last Login: Yesterday @ 12:36 PM
Points: 762, Visits: 1,947
Miles Neale (5/9/2013)
Steve Jones - SSC Editor (5/9/2013)
[quote]
... We've shoehorned some of those features in there, and that causes issues.


The bane of developers and their system, shoehorning. I have learned to dislike this process over the years. But a developer cannot stop it from happening. We cannot even slow it down. Many think it is cheap and easy but there is a cost somewhere in the process where others or you yourself will have to pay.

After years of use and resurfacing or shoehorning, systems start to show the results of the series of compromises that have been made. Like using a pair of pliers as a hammer you are going to get hurt before it is over, and you had best watch out for it will in fact be wrong.

Thanks Steve! You helped me get off a late afternoon vent

M.




Shoehorning is, unfortunately, not just inevitable, but necessary. Unlike the textbook computer science world where applications are planned, built, and used, and redesigned when new requirements arise, it is simply not possible to rip everything out and rethink stuff when requirements change. Organizations and societies function on continuity and consistency (as much as possible); consider the importance of precedent in the legal world. Existing systems must be preserved, at least until requirements change so much that it is necessary to make changes along with all the disruption they cause are justified.

When you want a computer to behave in a different way, you simply load new software. When an organization or society has to behave in a different way, it's a much more complex problem


...

-- FORTRAN manual for Xerox Computers --
Post #1451558
Posted Friday, May 10, 2013 9:40 AM
SSC Veteran

SSC VeteranSSC VeteranSSC VeteranSSC VeteranSSC VeteranSSC VeteranSSC VeteranSSC Veteran

Group: General Forum Members
Last Login: Monday, November 10, 2014 6:19 AM
Points: 262, Visits: 919
jay-h (5/10/2013)

Shoehorning is, unfortunately, not just inevitable, but necessary. Unlike the textbook computer science world where applications are planned, built, and used, and redesigned when new requirements arise, it is simply not possible to rip everything out and rethink stuff when requirements change. Organizations and societies function on continuity and consistency (as much as possible); consider the importance of precedent in the legal world. Existing systems must be preserved, at least until requirements change so much that it is necessary to make changes along with all the disruption they cause are justified.

When you want a computer to behave in a different way, you simply load new software. When an organization or society has to behave in a different way, it's a much more complex problem


That is true. If the original plan accepts this truth, then it can be incorporated into the design in the first place. A good schema is surprisingly resilient to new features. If real-world objects are modeled correctly (not just normalization, but well-considered objects) then the kinds of things people might request later are typically extensions to the well-considered schema.

I've spend this week trying to "shoehorn" new features into a schema that was built to solve a very specific problem in a very specific way... and now that new assumptions have been introduced the fragile/brittle process is already crumbling. I've spent more time making new wine fit into old skins than it would take to start over completely.

... Unfortunately, management is typically frightened by "new build" and assumes that "we already have 90% done, reuse that investment" and we spend all our time debugging leaks in the design.

Post #1451649
Posted Monday, May 13, 2013 9:44 AM
SSCrazy

SSCrazySSCrazySSCrazySSCrazySSCrazySSCrazySSCrazySSCrazy

Group: General Forum Members
Last Login: Friday, November 21, 2014 10:15 AM
Points: 2,464, Visits: 1,551
jay-h (5/10/2013)
Miles Neale (5/9/2013)
Steve Jones - SSC Editor (5/9/2013)
[quote]
... We've shoehorned some of those features in there, and that causes issues.


The bane of developers and their system, shoehorning. I have learned to dislike this process over the years. But a developer cannot stop it from happening. We cannot even slow it down. Many think it is cheap and easy but there is a cost somewhere in the process where others or you yourself will have to pay.

After years of use and resurfacing or shoehorning, systems start to show the results of the series of compromises that have been made. Like using a pair of pliers as a hammer you are going to get hurt before it is over, and you had best watch out for it will in fact be wrong.

Thanks Steve! You helped me get off a late afternoon vent

M.




Shoehorning is, unfortunately, not just inevitable, but necessary. Unlike the textbook computer science world where applications are planned, built, and used, and redesigned when new requirements arise, it is simply not possible to rip everything out and rethink stuff when requirements change. Organizations and societies function on continuity and consistency (as much as possible); consider the importance of precedent in the legal world. Existing systems must be preserved, at least until requirements change so much that it is necessary to make changes along with all the disruption they cause are justified.

When you want a computer to behave in a different way, you simply load new software. When an organization or society has to behave in a different way, it's a much more complex problem


Jay - I cannot argue with the truth, however a better approach would be to take at least enough time to see if the data model and the system can be altered cheaply without the compromise that shoehorning brings. Once the shoehorning happens and say unedited unstructured text describing something in added to the name or address filed then all control of that data is lost and the data manager or analyst later who has to clean up the at mess finds that it is far more costly and faces the loss of what could have been good data.

I have seen entire databases corrupted into almost unworkable and unusable collections of data that reduce in value compromise by compromise and finally fail to perform. Management will often then look at the developer and say "Well Ted use to make this work, why can't you???" They do not understand that Ted made the last compromise in the model that brought the entire process to the point of failure and fused the system into a convoluted mess.

BUt I cannot disagree with the point that it happens and most think it is great because for the bottom line it costs little for this quarter or this year, and it can happen quickly. The unfortunate thing is that there is an end to the compromises a system can bear.

M.


Not all gray hairs are Dinosaurs!
Post #1452179
« Prev Topic | Next Topic »

Add to briefcase ««12

Permissions Expand / Collapse