(+N) Consulting Inc.

Consulting. Software solutions. Training.

Of transactions and Mongo

What's the first thing you hear about NoSQL databases? That they lose your data? That there's no transactions? No joins? No hope for "real" applications? Well, you *should* be wondering whether a certain of database is the right one for your job. But if you do so, you should be wondering... [More]

Manufacturing a MongoDB ObjectId for the past

MongoDB's ObjectId() has some nice sequential properties. One of the interesting ones is the fact that the most significant 4 bytes are a timestamp with seconds granularity. Suppose you want to query your collection for items created on or after a certain date. Since the timestamp portion can be co... [More]

MongoDB log rotation

MongoDB's engine can log quite a bit of useful detail. Whether high-transaction rate or verbose, the log can get quite large. While setting the log mode to append helps you retain the old / existing log, mongo does not currently have a facility to rotate the log at prescribed times or when a size l... [More]

Custom domain for Windows Azure in the new portal

The new Windows Azure Portal looks great, but has moved things around a bit. This post serves as note to self and others: How do I set a custom domain name for blob/ table/ queue? Go to the new portal https://manage.windowsazure.com/ Click the "Storage" item on the left (icon rem... [More]

Operations in action–Marking WCF interface as down for maintenance

As many of us deploy our shiny web services and expose them to the world (or just our apps), we invariably encounter these pesky maintenance windows. During these times, a database, other web services or any other IO dependent tasks cannot be performed.

Wouldn't it be nice to tell the caller of your web API that the operation is currently unavailable? It can get pretty ugly if we don't solve this. If we simply bring down the whole endpoint, connecting clients will experience a pile-up of timed out connection attempts. If we leave it up, every operation attempted would experience it's own slow excruciating failure, with the same IO timeout pile-up, this time on your server and often bringing the server to it's knees with too many doomed connection requests queued up.

My game plan..
[More]