Mailing List Archive: 49091 messages
  • Home
  • Script library
  • AltME Archive
  • Mailing list
  • Articles Index
  • Site search

[REBOL] Temporal data [was is REBOL OO]

From: SunandaDH::aol::com at: 12-Jan-2004 17:39

HI Gerard,
> Just to give you an idea of the involved difficulties, imagine > a customer that phones at the arena and want to know if > he can take a reservation one time each week for the next > 12 weeks preferably during the wednesday evenings. > This should not be of a real problem if the 12 wednesdays are free. > The problem begins when some of the weeks are not free and the > clerk must go back and forth interrogating the system to see > where it will fit another evening to accomodate the client for all of > his needs - IN REAL TIME PLEASE - the client is waiting at > the other end of the phone. > I know how real and good is the efficiency of the paper method in such a
> but I always dreamed of some tool to explore with a > computer. I think REBOL could be this tool - if we could get some way to > connect it to some external way to enter data like a touch > screen can do instead of a mouse and a keyboard. In fact the three should > intermixed in this app.
I once knew someone who was charged a small fortune for a computer system to do precisely that. Absolutely crazy. Nothing could beat their two-stage wall chart: pencilled in for provisional bookings, inked in when confirmed. On the other hand, it doesn't scale well. I've worked on realtime reservations systems. Before airlines had computers, they had large warehouses full of telephone order takers (a 1950s call center). Flight details were marked on blackboards around the walls. Runners (the younger kids) ran back and forth updating the boards as flight details (e.g. seating capacity) changed. At one point, the airlines were the binocular manufacturer's biggest customers. (You are sitting at a phone at one end of a warehouse. How else do you read a blackboard at the far end?) The sort of data structures you need for handling the sale of time (as opposed to material goods) are fairly non-intuitive if you've never worked in that area. Read up on "temporal databases" if you want an insight into a whole new world, and possibly a few headaches. The other thing that is vital with this sort of application is not just availability checking (have we got what they've asked for?) but also the automatic offering of alternatives. In your example, the system should automatically offer these sorts of alternatives (assuming they are available) and sequence them in a blend of the customer's priorities (wednesdays are nice, but evenings are essential) and the company's yield management goals (we gotta take some afternoon bookings soon!) -- 11 consecutive weds plus 1 after a gap over Thanksgiving weekend. -- 12 consecutive thursdays starting 3 weeks after their desired date -- 10 consecutive wednesdays late afternoons -- 6 weeks here and 6 weeks at our sister site ten blocks away. To rummage a database realtime for those sorts of alternatives can be very processor heavy. Example, suppose I wanted any 5 consecutive slots, any time of day, in the six months, ordered by lowest booking price, if I was to pay by next Tuesday -- remember your pricing may vary by the week (xmas is higher) and you may have specials if I book by a given date). At a quick glance, that looks like you have to run through almost every combination of slots that are available, and price them. Getting performance for something like that is a real pig. That's why real airlines (until perhaps very recently) don't use real databases. No one's got time for record locking and transaction rollback features and stuff like that. Not when you want to do 200 vague queries like the one above per a second across a multi-terabyte database that is being simultaneously bulk loaded with next year's flight inventory. If that doesn't scare you off, then I do have in my head a design for such a system (though not so high performance) using REBOL and (if we have to -- but I'd rather not) a standard SQL database for the raw user data. It's been on the backburner for the past year or so, as the people who want it are nothing like ready. There is a chance it might be a goer later this year. But I'm still fairly agnostic about whether REBOL is a great tool for this. Sunanda.<