The Dangers of Shortcuts

2011-03-01

MongoDB has amazing write performance. Node.js has great I/O concurrency. Telehash is an extremely efficient wire protocol. All three of these systems have a common theme: they take a shortcut in order to provide a leap in performance over existing systems.

When you are looking at a new system that promises better performance or scalability than existing systems, ask yourself “what shortcuts did they take to get that performance or scalability?” Sometimes those shortcuts are worth it but it is completely dependent on your own situation. If you are writing a small, high-traffic network service, Node.js makes sense. Writing a high volume of low-priority logging data with MongoDB makes sense. I would argue there are very few instances where UDP is a good idea, realtime data streaming is the best case I can think of, off hand. Part of being an engineer is learning when these shortcuts are unreasonable and what you are paying for that shortcut.