Programmer’s Toolbox Part 3: Consistent Hashing « tomkleinpeter.com Next up in the toolbox series is an idea so good it deserves an entire article all to itself: consistent hashing. Let’s say you’re a hot startup and your database is starting to slow down. You decide to cache some results so that you can render web pages more quickly. If you want your cache to use multiple servers (scale horizontally, in the biz), you’ll need some way of picking the right server for a particular key. If you only have 5 to 10 minutes allocated for this problem on your development schedule, you’ll end up using what is known as the naïve solution: put your N server IPs in an array and pick one using key % N. I kid, I kid — I know you don’t have a development schedule. Anyway, this ultra simple solution has some nice characteristics and may be the right thing to do. You’ll have a second problem if your cache is read-through or you have some sort of processing occurring alongside your cached data. As I said, though, that might be OK. In a nutshell, here is how it works.
42Registry Google’s Bigtable Distributed Storage System, Pt. I Google rolls out new applications to millions of users with surprising frequency, which is pretty amazing all by itself. Yet when you look at the variety of the applications, ranging from data-sucking behemoths like webcrawling to intimate apps like Personalized Search and Writely it is even more startling. How does the Google architecture manage the conflicting requirements of such a wide range of workloads? Bigtable, a Google-developed distributed storage system for structured data, is a big piece of the answer. Isn’t The Google File System The Answer? If It’s a Storage System, Where Are The Disks? This article is adapted from a paper entitled Bigtable: A Distributed Storage System for Structured Data(PDF) that was just released. Scale To Thousands Of Terabytes And Servers Every good product solves a problem. So, It’s A Database, Right? So It’s The Mother Of All Spreadsheets? So Far, I Get It. So Bigtable Stores Everything Forever . . . GFS. Comments, as always, welcome.
OpenStack Welcome rqr CutyCapt - A Qt WebKit Web Page Rendering Capture Utility Newebe Pinguino-Wiki PHP QR Code bone Explore the high-performance, low-power world with the tiny, affordable, open-source Beagles. Putting Android, Ubuntu and other Linux flavors at your fingertips, the Beagle family revs as high as 1GHz with flexible peripheral interfaces and a proven ecosystem of feature-rich "Cape" plug-in boards. BeagleBone Black The benchmark for open hardware Linux computers. Get the workhorse 1GHz AM335x ARM® Cortex-A8 processor, expanded peripherals, low power consumption and open source software compatibility. Learn more » What can these boards do? The Beagles are tiny open-hardware (you could make one yourself), open-software computers that plug into whatever you have around the house. BeagleBone This previous generation Beagle is powered by a 720MHz ARM Cortex-A8 processor and includes power management, microSD card with Linux, built-in FTDI-based serial / JTAG and on-chip Ethernet. Learn more » Product Comparison Table Cool Projects More Projects » Featured Capes & Accessories