Thursday, October 23, 2014

AX for Retail POS database size caveat

When deploying the AX for Retail POS solution, there should be a SQL DB installed at the store location. SQL Express can be installed to meet this requirement without adding to the cost of deployment for licensing (since its free!). For the most part, there won't be an issue with this. However, you need to know the issues you'll encounter in a solution so you can anticipate them.

For larger AX implementations, data growth can be an issue at the store DB as retail rollouts or data grows the size of the store side DB.  SQL Express 2012 has a DB limit of 10 GB as of 6/29/2014. 

There are a few options to address this each with their own pros and cons. One way to correct the issue is to buy a license for all SQL Server instances at all of the stores. It's a good solution if you're Scrooge McDuck or Mr Monopoly and don't care about costs. Another option is to limit what stores see what data (e.g. by region). Understand this has a con as well in that not all stores will have visibility to all of the other stores data. Yet another option is to customize the deployments to look at two different databases for the data. This is really tricky and I don't think justifies the cost compared to other alternatives. But its an option! There are other options like a central SQL box and virtualizing the stores DBs referencing that one SQL DB but then you'll still have other concerns like IO, network speeds, etc.

This blog post won't discuss a solution as there are many with each one fitting certain situations. There are even more possibilities out there I haven't even thought about. But hopefully this post will help some people start to think about the limitations proactively and start to brainstorm on their own.

-------------------------------------------------------------------------------------------
Here are some more technical details around limitations for those interested:
  1. Constrained to a single CPU (in 2012, this limitation has been changed to "The lesser of one socket or four cores", so multi-threading is possible
  2. 1 GB RAM (Same in 2008/2012)
  3. 4 GB database size (raised to 10GB in SQL 2008 R2 and SQL 2012)
The 4 GB database size limit applies only to data files and not to log files. However, there are no limits to the number of databases that can be attached to the server

However, as mentioned in the comments and above, the database size limit was raised to 10GB in 2008 R2 and 2012. Also, this 10GB limit only applies to relational data, and Filestream data does not count towards this limit (http://msdn.microsoft.com/en-us/library/bb895334.aspx).

1 comment: