New Cassandra Can Pack Two Billion Columns Into a Row
The cadre of volunteer developers behind the Cassandra distributed database have released the latest version of their open source software, able to hold up to 2 billion columns per row.
An open source database capable of holding such lengthy rows could be most useful to big data cloud computing projects and large-scale Web applications, the developers behind the Apache Software Foundation project assert.
"Apache Cassandra is a key component in cloud computing and other applications that deal with massive amounts of data and high query volumes," said Jonathan Ellis, vice president of Apache Cassandra and a co-founder of Cassandra professional support company Riptano, in a statement. "It is particularly successful in powering large web sites with sharp growth rates."
A number of large Web services have used this database, including Digg, Twitter and Facebook, which first developed the technology. The largest Cassandra cluster runs on over 400 servers, according to the project.
The newly installed Large Row Support feature of Cassandra version 0.7 allows the database to hold up to 2 billion columns per row. Previous versions had no set upper limit, though the maximum amount of material that could be held in a single row was approximately 2GB. This upper limit has been eliminated.
The ability to create so many columns is valuable because it allows systems to create a nearly unlimited number of columns on the fly, Ellis explained in a follow-up e-mail.
Because Cassandra cannot execute SQL query commands, the additional columns would be needed to analyze the data within a specific row, elaborated computer scientist Maxim Grinev in a recent blog entry.
Other new features of 0.7 include the addition of secondary indexes -- which provides an easy way to query data on local machines -- and the ability to make changes to the schema without restarting the entire cluster.
Cassandra is one of a number of non-relational, or NoSQL, databases that offer the ability to quickly and easily store vast amounts of data, often in a clustered environment,
Social-networking giant Facebook developed Cassandra to power the service's inbox search. Because of the large amount of data it had to organize, Facebook wanted to use the Google Big Table database design, which could provide a column-and-row-oriented database structure that could be spread across many nodes.
The limit of Big Table was that it was a master-node-oriented design, Ellis said in an interview with the IDG News Service during the ApacheCon conference last November in Atlanta. The whole operation depended on a single node to coordinate read and write activities across all the other nodes. In other words, if the head node went down, the whole system would be useless, Ellis said.
So Cassandra was built using an Amazon architecture called Dynamo, in combination with Big Table. Dynamo eliminated single points of failure while allowing for easy scalability. The Dynamo design is not dependent on any one master node. Any node can accept data for the whole system, as well as answer queries. Data is replicated across multiple hosts.
Cassandra is not the only clustered database built from the ideas of Big Table and Dynamo. Database startup company Cloudant developed a clustered version of the open source database CouchDB using this combination, called BigCouch. Cloudant just announced that it has amassed 2,500 users of its the hosted offering of BigCouch.