News

MongoDB Moves to the Head of the NoSQL Line

MongoDB is a popular choice for apps that use a Windows Azure back end.

It's a good time to be a NoSQL vendor. Especially if your product is the hottest one in the space, as is the case with New York- and Palo Alto-based 10gen (it has dual headquarters).

10gen owns MongoDB, and chances are if you're considering a database to host unstructured data, MongoDB is high on your list. Experts say it's the leading so-called NoSQL database and the key commercial sponsor of the open-source repository. 10gen is clearly on a roll.

The company points to big commercial adopters including Cisco, Craigslist, Disney, eBay, Forbes, Foursquare, Goldman Sachs, Intuit, LexisNexis, Met Life, MTV, Salesforce.com, Shutterfly and Telefonica.

Likewise, 10gen has lined up partnerships with key IT vendors and cloud providers. In addition to Microsoft, other partners include Amazon Web Services, Red Hat and SoftLayer, the company IBM earlier this month agreed to acquire for $2 billion. IBM itself announced a partnership with 10gen earlier this month to collaborate on building mobile enterprise apps. ObjectRocket, a database as a service provider recently acquired by Rackspace, announced a partnership with 10gen on Friday.

In a sign of the times, 10gen recently settled in its new headquarters in the old New York Times building, which is also occupied by Yahoo. I spent a few hours Friday at 10gen's road show, which it calls MongoDB Days in New York. The event drew more than 1,000 attendees that took part in a wide variety of business-oriented and technical tracks.

Naturally, while attending the crowded gathering, I gravitated to the one session on how to build MongoDB apps running on Microsoft's Windows Azure. Leading the presentation was David Makogon, a cloud evangelist and architect at Microsoft, who works primarily with ISVs.

While only about two dozen people attended the Windows Azure session, Makogon said it's a popular platform among Windows Azure users and ISVs. Makogon said he gets more inquiries from partners and his support team about MongoDB than anything else.

Now that Windows Azure Infrastructure Services is available, MongoDB is easier to deploy, Makogon said. With the PaaS version of Windows Azure, IT had fewer controls, which while suitable for those who don't want to have to address lower-level infrastructure, it's limiting for others do prefer or need that control.

PaaS has worker roles, which is basically Windows Server without IIS running. "It runs fantastic, however, the problem I have with it is I'm imitating a replica set," he explained. "With Worker Role instances, you can't choose which one to shut down. For instance, if you want to specifically shut down the primary node, you can take it offline but you can't exactly choose that one to scale. Let's say you scaled to five instances and want to scale back to three, you can't specify which instances you want to let go. So when it comes to low-level management of your replica set, that's where the worker role tends to fall short, just because you can't map it to the exact server."

With Windows Azure Infrastructure Services, IT has full control, he added. "Say I want this virtual machine to be shut down," he said. "My general recommendation is if you're getting into replica sets or shards, especially because there's no scaffolding available today, virtual machines [Windows Azure Infrastructure Services] are the way to go."

Indeed while MongoDB is popular, as I reported from the Visual Studio Live! conference in May in Chicago, there's no shortage of NoSQL databases, depending on your requirements. One popular alternative is Cassandra, as are CouchDB, Neo4j, RavenDB and even table storage offered in Windows Azure.

In a brief interview following his keynote address, 10gen CEO Max Schireson told me the company is seeing numerous MongoDB deployments on Windows Azure but noted despite the addition of IaaS, the cloud service still needs to evolve.

"We're seeing a lot on Windows and some of it moving to Azure," he said. "I think it will take a few more Azure iterations for more of the workloads to move there but if there's one thing people know is Microsoft will keep working on it and as it grows and matures people will move more of their workloads there."

Asked how Windows Azure needs to mature, Shireson said, "I think some of it will be newer hardware and when solid stte driveĀ  technology shows up in Azure, it will boost it. And as Azure and Windows Server continue to come together it will be a big boost."

About the Author

Jeffrey Schwartz is editor of Redmond magazine and also covers cloud computing for Virtualization Review's Cloud Report. In addition, he writes the Channeling the Cloud column for Redmond Channel Partner. Follow him on Twitter @JeffreySchwartz.

comments powered by Disqus

Featured

  • Compare New GitHub Copilot Free Plan for Visual Studio/VS Code to Paid Plans

    The free plan restricts the number of completions, chat requests and access to AI models, being suitable for occasional users and small projects.

  • Diving Deep into .NET MAUI

    Ever since someone figured out that fiddling bits results in source code, developers have sought one codebase for all types of apps on all platforms, with Microsoft's latest attempt to further that effort being .NET MAUI.

  • Copilot AI Boosts Abound in New VS Code v1.96

    Microsoft improved on its new "Copilot Edit" functionality in the latest release of Visual Studio Code, v1.96, its open-source based code editor that has become the most popular in the world according to many surveys.

  • AdaBoost Regression Using C#

    Dr. James McCaffrey from Microsoft Research presents a complete end-to-end demonstration of the AdaBoost.R2 algorithm for regression problems (where the goal is to predict a single numeric value). The implementation follows the original source research paper closely, so you can use it as a guide for customization for specific scenarios.

  • Versioning and Documenting ASP.NET Core Services

    Building an API with ASP.NET Core is only half the job. If your API is going to live more than one release cycle, you're going to need to version it. If you have other people building clients for it, you're going to need to document it.

Subscribe on YouTube