csharp: All content tagged as csharp in NoSQL databases and polyglot persistence
Wednesday, 11 January 2012
Create, Retrieve, Update, and Delete Dragons With MongoDB on C# .NET
Kory Becker:
In this tutorial, we’ll create a basic C# .NET application that creates and displays Dragons from a NoSQL MongoDb database. Our C# .NET architecture will utilize the repository pattern, combined with a global database context provider. We’ll create a 3-tier system for accessing the Dragons, creating, updating, and deleting.
Original title and link: Create, Retrieve, Update, and Delete Dragons With MongoDB on C# .NET (©myNoSQL)
Wednesday, 10 August 2011
A Beginners' Guide to MongoDB With C#
Just what the title says.
Seems like there is a variety of NoSQL database architectures and features, some of which are designed to handle very large masses of data and scale up; others are more limited in capabilities. Turns out that one has to do homework in order to choose the “right database”. I was reading some more and thought I’d try out mongoDB, which seemed like a leading solution in the field.
Original title and link: A Beginners’ Guide to MongoDB With C# (©myNoSQL)
via: http://evolpin.wordpress.com/2011/08/08/first-attempt-at-nosql-c-and-mongodb/
Friday, 6 August 2010
Beginners Guide to MongoDB and C# MVC 2.0
The “hello world” for web applications is a basic blog with posts and comments. This time using MongoDB and C# MVC 2.0:
First things first, call this a disclaimer if you like…. This blog is what I took from working with MongoDB and MVC C#. I have worked with C# .Net with web forms but never MVC or MongoDB. This is basically my experience setting up and creating an application to create a blog with posts and comments. I’ll start by giving a brief description, in layman’s terms, as to what MVC is all about.
Beginners Guide to MongoDB and C# MVC 2.0 originally posted on the NoSQL blog: myNoSQL
Friday, 9 July 2010
Using MongoDB for Caching .NET Web Pages
Peter Bromberg shares a MongoDB-based cache utility for .NET System.Web.Caching.Cache and some performance numbers:
The advantages of using such a MongoDb - based Cache are several-fold:
- It can be accessed from any machine on a network
- The cost is reasonable (as in “Free Beer”!)
- The cache survives IIS AppPool recycles and even machine reboots.
- Since it is designed to be able to implement the base OutputCacheProvider class (by just adding the required override keywords), it can be easily made to be a complete replacement for
System.Web.Caching.Cacheas described in the second article linked above.- MongoDB supports an automated sharding architecture, enabling horizontal scaling across multiple nodes. For applications that outgrow the resources of a single database server, MongoDB can convert to a sharded cluster, automatically managing failover and balancing of nodes, with few or no changes to the original application code.
Wednesday, 26 May 2010
Running MongoDB on ... Microsoft Azure
Very detailed explanation and code on setting up a Windows-based project using MongoDB and running it on Microsoft Azure Blob storage. I confess that Azure doesn’t really sound like the first pick one would make when using MongoDB, but that is exactly what made this article interesting!
I’ve been playing around with the whole CQRS[1] approach and think MongoDb works really well for the query side of things. I also figured it was time I tried Azure so I had a look round the web to see if there we’re instructions on how to run MongoDb on Microsoft’s Azure cloud[2].
References
- [1] About CQRS (or Command-Query Responsibility Segration) you can read Greg Young’s ☞ CQRS and Event Sourcing, Mark Nijhof’s ☞ CQRS a la Greg Young, Udi Dahan’s ☞ Clarified CQRS, Jonathan Oliver’s ☞ Why I love CQRS (↩)
- [2] ☞ Windows Azure Platform (↩)
via: http://www.captaincodeman.com/2010/05/24/mongodb-azure-clouddrive/
Tuesday, 13 April 2010
Getting Started with MongoDB and C# NoRM
The more I scan the NoSQL news around the internet, the more I hear about MongoDB in the Windows environment which seems to be catching up a lot lately (nb this seems somehow inline with MongoDB strategy of becoming the next gen MySQL).
Howard van Rooijen’s ☞ post and Fredrik Kalseth’s ☞ post are just two great resources on getting started with MongoDB and the C# NoRM library:
NORM - Making MongoDB mainstream for .NET developers
At this point I discovered a new attempt to create a C# Driver for MongoDB that would allow seamless POCO conversion and LINQ support. The project is called NoRM and it’s the best hope for making MongoDB mainstream for the .NET Community.
References
Tuesday, 23 March 2010
NoSQL Ecosystem News & Links 2010-03-23
- Fredrik Kalseth: ☞ NoSQL: Getting started with MongoDB and NoRM. It was only yesterday, when I told you there are good signs of increased activity in the MongoDB and C# world. ¶
- Personal experience: getting CouchDB 0.11 installed on a MacOS with MacPorts seems to be “mission impossible”. With the help of #couchdb guys on IRC I finally got it working, but only after cleaning up (read removing) MacPorts ¶
Monday, 1 March 2010
MongoDB and C#
Even if according to the ☞ 10gen survey the number of people using MongoDB from or on a Windows environment is pretty small, I continue to see some articles here and there, so I thought that the Windows MongoDB users will benefit from getting a chance to see what have been written so far.
To get you started, I would recommend MongoDB in the Windows Environment which will walk you through the installation phase and introduce a couple of MongoDB libraries. There is also the video embedded below from ☞ Mohammad Azam
The very next thing you’ll probably be interested into is the ☞ current state of MongoDB and C#. Just in case the existing libraries are not in the shape you’d like them to be, you might want to read about the ☞ details of building a MongoDB driver.
But if you are looking only for some nice to have features, you might find interesting the following articles on converting objects to and from MongoDB documents: ☞ 1 and ☞ 2.
As always, if you have some favorite articles, please do not hesitate to share them with the rest of the NoSQL community.
Monday, 22 February 2010
Get a Taste of Graph Databases: InfoGrid and Neo4j
As I said in MongoDB MapReduce tutorial, the best way to validate that you’ve got the basics right about a system is to use some basic code. And this is exactly the idea behind this post: to take a look at a very (very) basic tagging app in InfoGrid and Neo4j.
InfoGrid version
The code with more details can be found ☞ here.
Neo4j version
The Neo4j code was contributed by Mattias Persson from Neo Technology (thanks Mattias).
Note: I couldn’t figure out a way to make the code more readable that this. But you can hover over the code snippets and you’ll get the option to see the original source code.
Here are my notes about the two code snippets above:
- everything in Neo4j must happen inside a transaction even if it’s a graph traversal operation (this gives a very strong Isolation level). The InfoGrid traversal code seem to happen outside the transaction, so it sounds like it supports a more relaxed isolation level (interesting question here is: if traversal would happen inside a transaction, would that isolate it from seeing possible external modifications?)
- InfoGrid’s central element is
MeshObject, while Neo4j hasNodeandRelationship. Generally speaking I have found the terminology in InfoGrid a bit more unusual (f.e.MeshObject,relateAndBless, etc.) - the Neo4j uses also the
LuceneIndexServicefor indexing both the tag and web resources nodes, but that’s only becaus e the code there makes sure not to duplicate either tags or web resources (i.e. this functionality is not present in the InfoGrid code and I don’t know how that would look like) - in both cases a relationship gives you access at both its ends. While both InfoGrid and Neo4j documentation speak about bidirectional arcs
If someone would contribute the code for ☞ HyperGraphDB and/or ☞ VertexDB I think this post would get even more interesting!
Update: The guys from Sones picked up my challenge and they show up their C# implementation on this ☞ post. I have included below the code for reference
Sones version
Update: I’ve just got another submission from Filament. Code is included below and their original post is ☞ here
Filament version
InfiniteGraph version
Update: Thanks to ☞ Todd Stavish we now have a version of this sample code for InfiniteGraph
Wednesday, 10 February 2010
MongoDB in the Windows Environment
I’ve put together a couple of posts that are taking MongoDB for a ride on a Windows environment.
Firstly, you have to install MongoDB. You can use a MongoDB Windows installer ☞ or choose to run it in a virtual machine.
In case you decide to go the first route, you may find this post ☞ useful as it will walk you from getting MongoDB installed on your Windows machine, start using the MongoDB console and then using mongodb-csharp to connect to MongoDB from C#. In case you prefer to jump directly to coding, you should probably check Getting started with MongoDB and C#.
It is interesting to note that both articles are using the same C# library: mongodb-csharp, which recently has added a LINQ provider ☞ (via @alastairs).
This other post ☞ will show you how to get MongoDB running inside VirtualBox hosted on Windows machine with a Ubuntu 9.10 guest. Then you’ll be able to use Visual Studio and one of the many MongoDB C# libraries to connect to MongoDB.
If instead of C# you’d like to try out MongoDB from F# then you’ll probably like to check this article ☞, which covers some nice features of using the F# dynamic constructs.
Rubyist and Pythonistas have a lot more materials to play with and here are just a few examples:
- Introduction to MongoDB screencast
- MongoDB for Python or Ruby. Your choice
- MongoDB and Ruby with Hashrocket guys
- MongoDB with Kyle Banker
Last, but not least, I couldn’t find anything about Visual Basic and MongoDB :-)!
Most Popular Articles
- Translate SQL to MongoDB MapReduce
- Tutorial: Getting Started With Cassandra
- CouchDB vs MongoDB: An attempt for a More Informed Comparison
- Cassandra @ Twitter: An Interview with Ryan King
- A Couple of Nice GUI Tools for MongoDB
- NoSQL benchmarks and performance evaluations
- Ehcache: Distributed Cache or NoSQL Store?
- Document Databases Compared: CouchDB, MongoDB, RavenDB
- Quick Review of Existing Graph Databases
- NoSQL Data Modeling