Friday, May 4, 2007

The Exchange database engine

Exchange can be considered to be a special purpose database application. The database is all the email and calendar entries in everybody's mailbox. Rather than writing a database from scratch, Microsoft used the Jet Database engine also used by Microsoft Access. What's that you say, gasping in horror, Microsoft Access is running my corporate email system??? Yup. It also runs your Active Directory, by the way.

Why doesn't Microsoft switch to a "real" database like SQL Server. There's certainly been talk about this for years, and a lot of rumors that would happen in E2K7, but it didn’t go down that way. And here's the rub: Jet is actually way faster than SQL Server.

SQL Server is built from the ground up to be a true multi-client, multi-machine, client-server database, and that carries lots of overhead.

All the clients need to create ASCII "SELECT" statements, send them over a skinny little pipe to the server, have the server parse and execute the queries, and then send the results back over the same skinny pipe to be parsed on the client end and then served up to the application.

By contrast, the Jet data and Jet engine sits right on the same computer as the application accessing the db, and uses big fat shared memory communications. Meanwhile, Exchange has customized and optimized the heck out of it to ensure the database performance is super-optimized for Exchange. Because the Exchange store.exe process manages all the communications to the database, there is no need for all the overhead of a true client-server database.

For a true client-server app, there is no substitute for a nice robust relational database like SQL server. But for an app like Exchange where all communications to a given computer are already funneled through a “front-door” process (store.exe), it’s really not necessary… honest…

2 comments:

Alex said...

MS Exchange is the very complicated and interesting software. But sometimes it works incorrectly. In such cases the special tools must help. One of the best programs is the next to my mind. It worked out some my problems and would overcome with almost every trouble - recover exchange ost file.

Anonymous said...

Amazing! Its really awesome piece of writing, I have got much clear idea on the topic
of from this post.

Here is my page; graduate certificate