We are creating large scale, database oriented business application. This business application is multitenant and we want to provide it as SOA (Software as a service) in Azure cloud. Azure SQL Database has limit of 150 GB only which is not sufficient for us. Our clients have huge volume of data that is likely to increase every year. Our application database is relational and complex and uses complex queries (Groups, Joins, Aggregate functions), stored procedures to fetch/save data. Therefore we are reluctant to use Big Table directly. There is a suggestion to break database into partitions and file groups, but we are not going for it. There is another possibility to keep only current year data into app and rest into other partition/backup database, but this does not suit our application as past data is accessed frequently. If we use Azure Table our complex operations will be done in memory, which is not possible because of limited memory resources. We are thinking however to make a mix of Azure SQL Database and Azure Table. But we are unable to find any suitable example that uses a mix of both.
We are looking for answers of following questions as well?
- Is azure suitable to keep very large scale of relational data (TB's) or should we have our own database servers to support this?
- Should we use only Azure Table and NOT Azure SQL?
- Should we use mix of Azure SQL and Azure Table storage? Is there any sample architecture/example that guides us about it?