After a busy day of tracks on Day 2 followed by a late party at the club, Wednesday’s sessions seemed to be starting a little early for pretty much everybody. 🙂 My plan for Wednesday was to see a few key sessions and spend more time meeting folks at the booth, so I apologize that there were many sessions going on that I can’t recap.
As a general overview of Wednesday, the crowd was a little quieter and the desire for coffee seemed to be pretty high. I got a chance to chat with quite a few of the Sitecore folks, still donning their purple shirts, which was nice since I’ve only ever spoken to most of these folks on the phone. It’s always great to put a face to the name/voice! To everybody who came by and said hello at the booth, thanks so much, I love meeting those of you that chat with me on twitter and here on the blog.
Now, on to some session stuff!
MongoDB: Store all the bits
While many people were at the morning keynote, my colleague Nick Allen and I went to Dan Solovay‘s presentation on MongoDB. This presentation was intended as an introduction, but as soon as the command-line interface came up I knew Dan was not going to disappoint 🙂 If you are scared of MongoDB and what xDB might be doing with your data, don’t be. Here’s a few facts you should know.
- MongoDB is a NoSQL database.
- This means ‘Documents’ get stored (think JSON).
- There are no Joins or Transactions.
- You can scale with Shards over multiple servers, no limit.
- Your documents may not have the same fields in them.
- You can project your documents when querying so you can get only the fields you want.
- Regular expressions are supported for your queries. The fact regular expressions were even shown in an introductory session is awesome!
In terms of the effect on working with Sitecore, most developers won’t ever see the underpinnings. However, if you do happen to get into the data, Dan noted that you’ll notice that Sitecore IDs are stored in a different format in the document and you’ll need to run some JS converters to take a look at the IDs the way you expect. Personally, I recommend just sticking with the API!
Which brings us to actually using MongoDB. Dan’s overview of the variety of things you can do proves it’s easy to do a lot, but here are some key intro notes for you
- You’ll need Sitecore.Analytics.MongoDB.dll
- Invoke the “MongoDriver” class to get at all the goodies
- The collections in the database will be represented as properties on the API
- Use the Mongo Query class to build up complex AND/OR queries to find data
I’m familiar with building using the standard MongoDB C# driver and the code Dan showed for the Sitecore API looked very familiar to me. My guess is that the API is wrapping around the standard driver.
At the end, Dan pointed out some great resources where you can find stuff on MongoDB:
- http://try.mongodb.org (Tutorial)
- http://docs.mongodb.org (Manual)
- http://bit.ly/mongo-links (Talk links)
- http://bit.ly/xdb-series (by MVP Nick Wesselman)
The “Talk” links above are curated by Dan on his own site and he’ll update them as necessary. Bookmark it!
Of Experience Developers and Superpowers
While I spent most of the day at the booth, I did go to the last developer session of the day, delivered by Alex Shyba, on Experience Developers. Alex showed many ways to custom-build really cool apps for the marketing team tying in to all the data in the xDB. By using the aggregates API, Alex showed how to build bubble graphs (*shudder*) and all sorts of cool charts that can process 11MB of raw data in a flash.
I’m not familiar with some of the JS libraries (like d3.js/dc.js) that Alex was using, but it seemed like there are some really advanced tools out there for splicing large sets of data really quickly. Once you get past the content part of Sitecore and start getting all that data into xDB, developers are going to need things like this to build the dashboards that the marketing team desires.
Overall, however, I can’t help but feel like it will be a few years before my clients can get to the maturity in their Sitecore usage where I’ll be able to start playing with some of these xDB APIs and switching focus away from good content author experiences to good marketing reporting experiences. Time will tell!
MVP Summit begins!
Our team was in the lobby bar brainstorming, so I missed the closing keynote, but with the sessions over the MVP summit officially began. We had a great dinner downstairs followed by a tour of Vegas in stretch limousines. I geeked out a little bit inside when I realized I was riding in a party bus with Dan Solovay, Sean Holmesby, Nick Wesselman, Mike Reynolds, and Pieter Brinkman after visiting the Volcano. You know how you’re not supposed to let your executives all fly on the same plane? I feel like all those folks should not have been on the same bus… just in case, you know?
Saw some great sights (Bellagio fountain, aforementioned Volcano, the Fremont street extravaganza) and had some great chats (and drinks) with lots of folks as I swapped around from one limo to another. All in all, a great night!
Today, the MVP summit sessions begin. Breakfast is in a few minutes, so I guess I’m running a bit late and might have to scarf down some food right before the guys with the chimes start banging them at me to get me out of my seat. *sigh* So much to do, so little time!