Programming trend No. 9: Accuracy fades as scalability trumps all
Years ago, ACID ruled the database roost. The challenge was to build a bulletproof machine that always gave a correct and consistent answer when queried. Hurricanes, nuclear weapons, and errant janitors unplugging the rack could not scramble the database. The big customers were banks, hotels, and airlines, and they wanted to make sure bank accounts and reservations were consistent and correct.
Today, the industry is trying to find an easy way to store ephemera from our lives. From the places we visit to the toss-away comments between friends, the goal is to find a fast and efficient way to store endless tidbits from everyone on earth.
The smartest people approaching this problem quickly realized they could make their job dramatically easier by cutting corners and blithely ignoring any glitch. If some status update disappeared, who would notice? If somebody checked in to a service while at a coffee shop and failed to be crowned mayor of that coffee shop, it wasn't a big deal because they would probably return again tomorrow. After the new class of data caretakers recognized that they could save a fortune on compute cycles and infrastructure simply by loosening requirements, they started building NoSQL and other so-called data stores.
Now, saving time and money by trading away accuracy rules the Web. Try searching for an older email message with some of the Web-based tools. They're quietly leaving some of the older ones out of the index. This often reflects a slow erosion of standards for search. Google, for instance, quietly ended the ability to use true boolean searches with the plus sign. Expect to see more and more Web engineers subtly tossing aside the fanatical commitment to accuracy once common among database administrators.
No comments:
Post a Comment