Thoughts from abroad – general purpose vs specialist
I’ve taken 2 weeks off the blog as I’ve been on holiday in Florida.
A couple of things I can reflect on during my experiences at that time. One my kids loved Disney! Second and more important for a technology blog my experience with the current darling of the mobile world the iPad, and I’ll relate this back to Systems Architecture. (In my previous life for Sybase I worked for 4 years on the mobile side taking application enablement to partners and the channel, and I have a constant interest in the mobile world as well as the IB world. )
One of the things I decide for my holiday was to pack lighter (not light as that is impossible with my family). I took a Flip Video HD instead of a bulky camcorder and an iPad instead of a laptop. 2 lessons I learned technology wise.
1. Flip video HD works really well as point and click family videos.
2. The iPad worked better than my laptop in almost all respects for the holiday.
I planned to use the iPad to copy across videos and pictures from my camera and Flip onto the iPad thus saving space and also use the iPad for WiFi browsing as I was staying in Wi-Fi enabled areas (looking up places to go that sort of thing).
Secondly the iPad was going to tide my kids (and therefore me) through the 9 hour flight to Miami. Well the iPad and its 10 hour battery life worked a treat. Not only did my kids stay peaceful during the flight (the mix of game, educational apps, videos and drawing keeping them amused) but also during the vacation itself. I lost my camera at the Haunted Mansion but luckily I’d got a copy of the pics on the iPad (durability through redundancy should be the cornerstone of any backup plan!).
It strikes me that really the success of the iPad apart from phenomal marketing and the Apple brand magic is that it is designed for a purpose (as a focused device mainly for consumption).
The difference with a Windows powered laptop is night and day and it’s the strength and limitation of a fit for purpose device vs the general purpose device (versatility and performance tradeoff) .
Typically a Wintel powered laptop will get between 2-2.30 hours of performance (more for netbooks or extended life devices). The iPad is thin ,light , amazing battery life and touch screen. And for those 90% of things I needed whilst travelling it performed amazingly. Sure it’s not good at copying from the Flip (I had to use the camera connection kit and couldn’t view MP4 videos on the iPad itself). But overall it was superb .
I could have taken a laptop and probably done everything the iPad did. But the battery life , weight, potential to break etc would have curtailed my user experience. Not to say a laptop is bad, as I use one every day at home and work instead of a PC. But I wouldn’t have played music by the pool on my laptop!
And that is the crux of something that’s designed for a purpose (specialist) and something that does lots of things (generalist).
In a general purpose system you have to account for so many variables that you have to make tradeoffs that a specialist system doesn’t. I see the same principles in system architecture of complex systems. It makes sense to look at the tradeoffs for general purpose systems vs specialist systems when making architectural decisions. In many a trading reporting system for example you see general purpose database platforms being used for reporting, when something designed for the job (like a column based store) could do the job perhaps 10 or 100 times quicker /cheaper/easier (pick one).
Yes RBMS systems like Sybase ASE come with many bells and whistles (and they are great) . And they provide the comfort zone of the known as they are already used within the existing IB environment. But when you see a Reg reporting DW span 00’s TBS and the main reason is that because it can’t keep up with ad-hoc user demand they create 5 * 20TB copies of it (and it’s coloured red btw if you want to know) then something is wrong with that model.
Better to focus on what’s important for that system and to accept there is a tradeoff with general vs the specialist system and to use each for it’s purpose e.g. Transactional on row based, analytics on column based and high speed replication between them.
The analogy can be extended further as some of our competitors take their OLTP RDBMS and put it in a box and call it a reporting appliance, in this case the analogy is to take the desktop OS, put it in a notebook form factor and present it as a custom device, except the battery life is poor and UI is designed for a keyboard and mouse. In the case of the RDBMS appliance it ticks the box as being an appliance but 99% of the code is from that transactional RDBMS and therefore suffers from the generalist approach to data management and also in this case price performance, black box management and proprietary hardware.
If you want a general purpose RDBMS then great, they do lots of things very well and there is still a great need for transactional systems of record (which the OTLP database is designed for). But if the thing that matters to you is ad hoc query users, massive data retention, ease of use then look at a column DB designed for the job like Sybase IQ, or if you want low latency event based processing and analytics look at a CEP like Aleri instead of a general purpose bus like JMS or business rules engines designed for a different world. The real sweet spot is to recognise each parts place in the overall system design. For example a disc based database for system of record, column based design for analytics, in –memory for rapid read/writing of data (with lower durability) and CEP for low latency processing.
BTW the one major complaint about the iPad is this, I didn’t get to spend much time on it as my kids took ownership!







