Contributed by Victor Nelson, InfiniteGraph Product Management Team
The fact that a business is constantly changing means that the IT technologies it depends on need to accommodate a wide variety of circumstances. Of course you plan, but the future is fuzzy so best to build in some leeway. Scalability of architecture and individual components is a practical design consideration, and I was reminded of that in a paragraph from author Mike Loukides, VP of Content Strategy for O’Reilly Media, Inc.
“Whether you’re building a customer-facing application or doing internal analytics, scalability is a big issue. Vertical scalability (buy a bigger, faster machine) always runs into limits. Now that the laws of physics have stalled Intel-architecture clock speeds in the 3.5GHz range, those limits are more apparent than ever. Horizontal scalability (build a distributed system with more nodes) is the only way to scale indefinitely. You’re scaling horizontally even if you’re only buying single boxes: it’s been a long time since I’ve seen a server (or even a high-end desktop) that doesn’t sport at least four cores. Horizontal scalability is tougher when you’re scaling across racks of servers at a colocation facility, but don’t be deceived: that’s how scalability works in the 21st century, even on your laptop. Even in your cell phone. We need database technologies that aren’t just fast on single servers: they must also scale across multiple servers.”
Most NOSQL databases are highly scalable and InfiniteGraph is no exception. As number of transactions or other business metrics grow the database grows. The database can be distributed over a number of networked systems, and threads can make use of multiple cores. Strength in numbers. There are other benefits to a distributed architecture besides scalability, but that’s for another blog posting.
BTW, you can read the whole of Mike’s article at http://radar.oreilly.com/2012/02/nosql-non-relational-database.html.