Blog Post

Exchange Team Blog
2 MIN READ

ESE, SQL and your feedback!

The_Exchange_Team's avatar
The_Exchange_Team
Platinum Contributor
Jul 16, 2009

As most of you know, Exchange servers utilize the Extensible Storage Engine (ESE) database. As you have told us loud and clear, Exchange rocks from a performance, scalability, and availability standpoint on ESE and we've worked hard to make it so.

However, for some time (it has been a topic of discussion since the development days of Exchange 2003) there have been questions and rumors around replacing the ESE database with SQL Server.

  • Q. Did the team consider using SQL Server for the next version of Exchange?
    Absolutely!

  • Q. Did it work and perform well?
    Yes! Some very smart engineers did amazing work, and we had mailboxes up and running using a SQL Server database.

  • Q. Did we ultimately decide to replace the ESE database with SQL Server for the next version of Exchange Server ?
    No.

Why not! you ask - It was ultimately determined that the best way to ensure we could drive compelling innovation into Exchange for 2010 and beyond was to remain committed to ESE.  Enhancements made to the ESE database for Exchange 2010 have yielded significant performance benefits, High Availability benefits and provided customers with further opportunities to lower their storage costs. As we march forward on a path of developing Exchange for both on-premises deployments and cloud services, there are a number of areas that you are looking to us to make further improvements and new feature investments in the product. After much debate about both the benefits and challenges in moving to SQL Server, the decision was made to stay on ESE at this time.

We continue to evaluate technology options at every step of our development process to deliver the best product and service to you and invite your comments.

The Exchange Team

Published Jul 16, 2009
Version 1.0

39 Comments

  • Since exch 2k3 development one guy from development team told me that sql engine is not optimal for exch db, because sql bd's usually make continuos writes and random reads, and the ESE engine must work with random reads and writes.

    Apart from this is the COST, that will make MUCH complex an Exchange implementation, requiring not only Exchange specialyst, but also SQL...
  • To Filipp Geyer: It's impossible to integrate exchange with the current SQL Server. You would have to modify the SQL's design. It is a very bad ideea to modify SQL Server just to adapt it with a new Exchange. So, i only see 2 options: they integrate a SQL-like engine into Exchange, replacing the ESE engine or they make a new product, with separate licensing, "SQL Server for Exchange" :)
    Unfortunately Microsoft doesn't seem to understand that there is a big market for Exchange in SMBs. Exchange is a complex product, which is good both for SMBs and for large companies; but it's very expensive both to license, and to maintain.
    Of course, from the business point of view, i think they would choose the second option.

    To the Exchange Team: When are the E12 SP2 and E14 Beta 2 scheduled to be released?
  • Hi,
    all the others are talking about more complexity & costs. I allways thought: if Exchange-Development is going to switch to MS SQL as engine, it would be highly integrated in Exchange. Meaning: you don't install an additional MS SQL an Point your Exchange to it, neither do you have a MS SQL Managment Tool. From administrator's Point of view, it will all be the same like now: You know, that Exchange uses a DB-Engine, but you can't access it directly.

    So, Exchange-Team: What kind of SQL-Integration did you think about? A separate SQL-Server, which can be managed separate from Exchange, or an Engine, which is Managed all by Exchange-Tools like now?

    Bye

    Filipp
  • I like ese and the current path of exchange personally.
    Objectively if going with SQL we are able to better manage larger databases and this aids in perhaps archiving older data to another SQL database and keeping current information in smaller DBs we could get the same maybe better functionality than we have now.  Investment in storage infrastructure may be better.
    The downside is you lose flexibility in innovating with exchange because it is dependent on SQL progression.
  • I think replacing ESE with SQL DBs would significantly increase the complexity level of the product.
    Running high available and high-performance SQL servers is a full time job on its own...
  • Gud Idea not going with SQL. it would have added more management n configuration overhead to the already existing complex structure. I hope MS continues with the ESE engine as its really gives excellent performance results.
  • Great to hear you guys sticked back to the ESE in stead of embeding another product technology into it. But when you say you that  the decision was made to stay on ESE at this time, does that mean the future releases of the product will have the storage integrated with SQL?  As already said by others Exchange itself is a costly and complex solution for small size bussinesses and of course highly skilled men managing it too. In that case adding another product as a backend would't be a nice idea. I am hoping the future releases adhering to ESE some enhanced and more scalable version of ESE instead of SQL or any other database technology. :-)
  • I agree with Christian Schindler on this. Not only does throwing in SQL add additional overhead to the server, it throws in extra levels of complexity and cost to running Exchange.

    No offense, but Exchange can already be an expensive investment for small-to-mid-size businesses, so requiring SQL licensing would push it out of the cost-effective park for many administrators.

    You guys definitely made the right decision.
  • Personally I'm happy that you stay with ESE. So I don't have to deal with an additional product(SQL) just to run Exchange. Exchange is complex enough... :-) Christian