Brian Ritchie
Blogging on .NET & technology
-
Document Databases Compared: MongoDB, CouchDB, and RavenDB
Hopefully my last post, An Introduction to Document Databases, piqued your interest in this new frontier for database technology.
-
An Introduction to Document Databases
When most people say database, they mean relational database. Edgar Codd defined and coined the term at IBM's Almaden Research Center about 40 years ago. Since that time, relational databases have become the foundation of nearly every enterprise system. However, Internet-scale systems have begun to push the limits of this venerable technology. What has sprung up to fill the need? Various next generation databases addressing some of the following points: being non-relational, distributed, and horizontal scalable. These attributes are characteristics of the "NO SQL" movement. In this case, NO stands for "Not Only". So how many NO SQL databases are there? More than I care to count. But most of the fall into the following categories: Document, Graph, Key/Value, and Tabular/Wide Column.
-
Virtualization of Developer Workstations
Virtualization is everywhere. We're using it for instancing our development, test, and production server environments. A couple years back, I read a blog post by a development manager who virtualized his developer's PCs. The idea made a lot of sense, so I went to our CIO and pitched the case. We've been running like this for the past two years and it has been working great.
-
C# compiler as a service
Having the C# compiler as a service is an interesting new feature in Mono that was announced by Miguel de Icaza in his blog. Miguel leads the Mono project for Novell. This new feature supports the following scenarios:
-
Json.NET Dynamic Extensions
I've been working with RavenDB and Json.NET lately. RavenDB has some interesting schema-less capabilities using JSON documents. When interacting with the API, you either get serialized objects or JSON.NET classes. These are great, but it seemed like mixing in the Dynamic features of C# 4.0 would make things interesting.
-
DynamicDuck: Duck Typing in a Dynamic World
When dynamics came to C#, I hoped that we'd be able to use interfaces to bridge the gap between dynamic & static typing.
-
CollabNet introduces Subversion Edge
A beta version Subversion Edge was just released. It is a new product from CollabNet that brings together a complete Subversion installation into one easy to use package. CollabNet has been a key supporter of Subversion & has a large number of Subversion committers on staff.
-
Things you don't want to hear your DBA say...
- I don't have to worry about I/O because I use a SAN.
- RAID 5 is our backup strategy!
- I just made you a sysadmin, now you don't have to keep asking me for permissions
- I've changed all of the databases in production to use both AutoShrink and AutoClose
- Nope - the backups were on that drive too.
- Just use sa, the password is blank
- Excel can do this and much more
- Wow. It really IS the database! Sorry, guys... I've been blaming the developers and storage guys so long!
- We have more than one sql server installed here?!
-
Keeping an eye on your Subversion repository
If you're like me, you like to keep an eye on what is being committed to your subversion repository. A while back, I posted how to create an RSS feed from your SVN commits. RSS feeds are cool, but CommitMonitor is cooler. This little tool sits in your system tray and notifies you when users commit changes. It also gives you a historical view and lets you performs diffs. Give it a try...I think you'll like it.
-
Subversion 1.5 brings merge improvements & more
My shop has been using Subversion for a number of years. It is a reliable tool and works well for our team. One area that Subversion could handle better is tracking merge information. Our team is always working on multiple feature branches and merging those changes back into the main line of development. The current merge support works fine (most of the time), but doesn't handle complex situations well.