My lack of blogging

I’m getting a lot of question why I’m blogging not so often these days. As I’m inside the Sitecore company I’d have lots of ideas to talk about and experiences to share. This is so true, but also so dangerous. While I was in the past independent and not aware of any ‘issues’ considering legal stuff and Sitecore innovations. Now I’m. And I’m involved in a lot of project where my audience, you guys the developers, system administrators and customers don’t want me to talk about.

So right now I’m considering how to go further. I still like to write and will continue. Also with the same subjects which vary from concepts to specific development tips and trics. I’ll just have to find out what I’m allowed to write and what not. There are a couple of topics on my shortlist. Which include our Shared Source project(and some specific ones: my upcoming shared source projects) and deployment, a lot of partners seem to struggle with it.

I also found out that I’m finally able to think a bit further then the previous and current project. So I might attempt to write some more aboutthe information I’m receiving and my considerations about information flows in companies.

At least: thank you for reading this. You’ve subscribed to my feed or might be a regular visitor. That’s great :).
Have a great day!

The maximum of Sitecore items? At least a million!

It’s great to work in a company like Sitecore. I’ve seen a lot of countries so far and this weekend I’m again in the beautiful and quite city of Copenhagen. Travelling, meeting people and a lot of thinking; guess that’s the story of my first few months being part of Sitecore International. I might forgot about the talking. I’ve been talking even more then travelling, although for those who know me, that is definitely not a problem.
And last but not least, I’ve been participating. Participating in great internal discussions. These days for example, I had a great time spending on geek and non-geek talks with Phil(Australia), Henrik, Jakob, Ole, Jesper and Lars.

A couple of weeks ago question by one of our partner managers came into my mailbox. Because of being on the road, I couldn’t find time to react. Luckily the mail was also sent to our friends of the Denmark office who where so kind to react in the a very valuable way.

Does the amount of nodes in the content tree affect the performance?

Please read these two answers and learn:

Kim Bækgaard:
If we are talking 100,000s of items – probably yes 🙂

Also there’s the thumb rule regarding items on the same level – that is “siblings”. Here you don’t want more than 100 – max 200 (that also goes for media library of course) – but that’s a question of architecture – not capacity 🙂

When you look at the above answer you probably think there isn’t a better answer. This is so not true, Frank McDonald spent a little more time on his reaction to Kim:

Frank McDonald:
The subject is here not how many items but what is the architecture in question! How many users, using what interfaces, and the complexity of the solution, and the expected response time. What other solutions are running on the network / servers.

If the expectation is for high performance then you better have a high performance system to service requests.

Theoretical limit of items is around 1 million. More than 100 items in any node will require (generally) special consideration to architecture. Concurrent editors ‘compete’ with concurrent users, and more complex solutions require more complex infrastructure.

Use the same theoretical analysis for back-end as you use in front end (from tech white paper) and you’ll be better off.

Frank’s last sentence is maybe the best guideline. You will never present more then 100 items on 1 single page. So why do you want to combine them in one folder?

Then the theoretical limit, this has all to do with the way we calculate items. We know the average size of items, figure out what’s the maximum amount of memory your system is allowed to use(32-bit architecture, just 3,6 Gb!!), figure out how much can be claimed by the hosting App(IIS), take the limitations your cache system has and subtract those figures. But again, Frank’s guideline is legal again. Who the hell will have more then 1 million items in 1 database?

Don’t become afraid of big figures when it comes to items and also do not use these figures as a definitive maximum. We’ve managed to create pretty quick solutions with over 2 million items in a database.
Meanwhile Sitecore is scaling up as well. Upcoming releases are better optimised and will have more advanced data structures for handling larger amounts of items. I’m not sure we’ll reach 1 billion items within a year, but I’m sure it’s feasible within 3 years. When you look at the way hardware is scaling these days, I’m sure our core-team can do that as well.

Although I’m not sure any content editor is able to get an overview of 1 million items. Consider a news folder with 100.000 news items. They are divided by year and then by month. And this is the second year they are using the system. Then you definitely have to reconsider together with the customer what’s the value of these items and think about solutions like external database, etc.

I was amazed by the number of one million, but it feels a bit limited as well. I personally think Sitecore has a lot of abilities to scale if you reach those limitations (and again normally they aren’t, your architecture is). I’d also love to think with you about a proper solution :).

In this case: happy solution designing!

Getting up-to-date with SQL Server 2008

One of the most important things on being a Sitecore Solution Architect is being ahead of the latest technology. Therefore I’ve installed the latest bits of SQL Server 2008 Express CTP February. And as always you’ll run into strange issues with beta products.
First I tried upgrading from SQL Server 2005, but now I’ve decided to start all over as my Management Studio didn’t like to work with 2008 instances.

It seems that there are still some issues when you are in this pane:

Fill in your SA password

I would recommend to setup an SA password afterwards and first make sure the instance is running.

During the installation it’s telling me that they’ve skipped the Client tools. What’s that? Hopefully it has something to do with the order of installing, otherwise I’ll get very angry… 2 minutes later: No it was no joke, or install order, client tools are not installed also according the log:

Feature status after execution:
  Database Engine Services: Passed
  Client Tools: Skipped
  Microsoft Sync Framework: Passed

But as it seems, my management studio of SQL Server isn’t uninstalled. Hm, so it could be my fault. Let’s do the uninstall. And make sure all other client tools are uninstalled as well. Now it’s time to uninstall my ‘favorite’ new DBMS again:

Uninstall SQL Server 2008

And normally I’m the guy who guide you through these uninstall issues, but now I’ve got no clue what I’m doing. Just messing up my machine?! Ahh now I find out, you’ve to uninstall the client tools manual. Make sure to uninstall the ADO Sync Service CTP as well. The only SQL Server stuff left is now the Compact Edition 3.5 and I think it should remain there. There seems to be and existing ‘SQLEXPRESS’ installation on my machine. I try to upgrade this one:

image

I should be able to remove it afterwards. Wouldn’t that be cool? A clean machine? This time the install wizards comes up with the idea to reboot my machine, but doesn’t show a message. As a brave user, I’ll reboot. This might solve some issues…

The reboot took some time, more then I’m used to, but hey okay, I installed and uninstalled 3 database services, so I won’t bother :).
According to my Services window, SQLExpress is still running:

image

But again don’t bother I’ll upgrade it now! The pre-requirements should be installed, but still they are using up to 1 minute to be checked. And now I’m running through the upgrade wizard and it seems to work. Or at least my log thinks so:

Product features discovered:
  Product:                       SQL2005

  Product:                       SQL2008
  Instance:                      SQLEXPRESS
  Product Version:               10.0.1300.13

A bad thing on this CTP is that I’m not able to add any features afterwards. And as my management studio isn’t installed anymore(client tools neither), I’ve to uninstall everything and install again. Hopefully that will work out ;). Unfortunately my machine doesn’t have any uninstall entries available for the SQLExpress instance. Never mind! I’ll just install a new instance of it next to my SQLExpress instance, and I’ll use the name SQL2008. The Setup project is nearly added to my favourite programs in XP. And running again! I’m going to be an expert in SQL Server installations, I’m sure! I’ve to say, they did improve the process. You’re now able to setup the authentication mode, database places, etc in a very user friendly wizard.

Hmm, again the system isn’t installing any client tools:

image

But I’m not the only one in the world: http://connect.microsoft.com/SQLServer/feedback/ViewFeedback.aspx?FeedbackID=337345

I’ll install the books online. They might be able to give me a better insight. This goes well and smooth. Cool :D! At least something is working as I would expect.

image

The coolest thing is that this resource is going to help. I’m so sure about it:

This article describes how to manually uninstall a stand-alone instance of SQL Server. By following the steps in this topic, you also prepare the system so that you can reinstall SQL Server.

I’m going again through the Wizard and I’m now sure what to do. I’ve just to select my SQLExpress instance and uninstall it… Done! There’s only 1 instance left:

image

Cool. Let’s go for the Client tools. I’ll try to reinstall the SQL Server Management Studio 2005 and look what happens. This was done pretty easily, but it does not seem to like SQL Server 2008 connections:

image

This error will finally lead you to the following Microsoft statement.

"For the November CTP we have only released the basic version of SQL
Server 2008 Express. We’ll be releasing SQL Server 2008 Express with
Advanced Services and Management Studio Express in a future CTP. For
now, if you want to use management studio to work with your SQL Express
database, you should download SQL Developer edition, which is available
from the same site listed above, and install the full version of
Management Studio. This will work against SQL Express with no problems."

Damn. I should have know this before. Then I wouldn’t have spend so much time on it . Argh!
But anyway, I’m downloading the Developer edition right now. It’s 1.45 Gb. An extremely big installer.

And as I’ve been so disappointed, I won’t continue to blog today. I can’t imagine this product was intended to be released together with VS2008, .NET 3.5 and Windows 2008. It’s simply not ready neither are you able to understand what’s its doing. You’ll blow away Vista’s user experience when you install this crap.
But as I wants to be on top of technology, I won’t give up ;-).

Have a great night.