Live from Visual Studio Live!

Blog archive

.NET Devs Warming Up To MongoDB and Cassandra NoSQL Databases

There are scores of so-called NoSQL databases that allow organizations to create scalable ways of parsing and querying non-relational data. Two that are attracting a growing number of .NET developers are the open source MongoDB and Cassandra databases.

In back to back sessions Tuesday at the Visual Studio Live! conference in Chicago, Ted Neward, principal with Neward & Associates, outlined the nuances of both NoSQL databases. In each session, Neward expressed his disdain for the NoSQL nomenclature, which effectively stands for a database that is "not-SQL." By that measure, Neward said, "NoSQL also applies equally to cars, rainbows and unicorns. None of them are a SQL database either."

For that matter, Neward continued, the list of things that are not SQL databases include object databases, writing to a file, key value stores, hierarchical document databases, XML files and graph databases. "It's a horrible term to use collectively," he said. "They all are piles of data managed by a program."

The term, he argues, also gives the impression that the various non-SQL databases are similar, which often they're not. "It doesn't mean Mongo and Cassandra have much in relationship to one another other than the fact that they both store data," he said.

Neward's distaste for the term notwithstanding, MongoDB is regarded as one of the leading NoSQL databases. The term MongoDB is derived from the word humungous and reflects the database's ability to scale to handle very large datasets, typically documents. The only commercial supplier of MongoDB is 10Gen.

Many customers looking for a high performance documents database have recently gravitated to MongoDB because it is fast, schema-free, open-source and language independent. Written in C++, it runs on all operating systems including Unix, Linux and Windows.

Neward doesn't expect MongoDB or any other non-SQL database to replace traditional relational database management systems, notably Microsoft's SQL Server. "Let SQL Server store traditional data," he said. "When you want to store other binaries, store that into MongoDB."

In the following session Neward dove into Cassandra, which was originally developed by Facebook to power its inbox search capability. Neward said Cassandra provides a column-based structured key-value star store. However, the open source community implemented a layer that gives the database more of the look and feel of a relational database starting with Cassandra 1.0. CQL 3.0 has been available since Cassandra 1.1. "So you can argue in some respects that Cassandra isn't NoSQL but CQL for Cassandra Query Language, which has relational-like mechanisms under the underlying Cassandra system," he said. 

Cassandra is written in Java, meaning .NET developers who want to look at the source code will have to brush up on their Java skills, Neward said. "If you have no Java skills, if you know how to program in C#, and specifically if you know how to program in C# 1.0, you know how to read Java," he said. "As a matter of fact, Java is actually C# 0.3. There's a lot of things that the C# language has that the Java language does not."

The Cassandra database, Neward said, is designed for multi-node clusters. "Cassandra actually wants to run on multiple machines," he said. "It is possible to set up multiple Cassandra nodes on one developer box. It's tricky. You're going to have to get into some very subtle configuration in order to make it happen. You are going to have to dive into the configuration files that Cassandra uses."

Posted by Jeffrey Schwartz on 05/15/2013


comments powered by Disqus

Featured

  • Microsoft Revamps Fledgling AutoGen Framework for Agentic AI

    Only at v0.4, Microsoft's AutoGen framework for agentic AI -- the hottest new trend in AI development -- has already undergone a complete revamp, going to an asynchronous, event-driven architecture.

  • IDE Irony: Coding Errors Cause 'Critical' Vulnerability in Visual Studio

    In a larger-than-normal Patch Tuesday, Microsoft warned of a "critical" vulnerability in Visual Studio that should be fixed immediately if automatic patching isn't enabled, ironically caused by coding errors.

  • Building Blazor Applications

    A trio of Blazor experts will conduct a full-day workshop for devs to learn everything about the tech a a March developer conference in Las Vegas keynoted by Microsoft execs and featuring many Microsoft devs.

  • Gradient Boosting Regression Using C#

    Dr. James McCaffrey from Microsoft Research presents a complete end-to-end demonstration of the gradient boosting regression technique, where the goal is to predict a single numeric value. Compared to existing library implementations of gradient boosting regression, a from-scratch implementation allows much easier customization and integration with other .NET systems.

  • Microsoft Execs to Tackle AI and Cloud in Dev Conference Keynotes

    AI unsurprisingly is all over keynotes that Microsoft execs will helm to kick off the Visual Studio Live! developer conference in Las Vegas, March 10-14, which the company described as "a must-attend event."

Subscribe on YouTube