I believe there used to be some amount of support for MySQL.
Now that Umbraco is close to running on a cross-platform framework, is there consideration, or existing options for not being stuck with SQL Server as the database?
SQL Server will now likely be the most expensive part of hosting Umbraco in the cloud. Are there any existing alternatives DB or consideration for adding support of a DB that is cross-platform also?
I haven't heard anything but that is a good question. Related to cost, are you saying its expensive because you need a windows server? MSSQL Express is free...
Your case can be different. But our experience is that for installations on corporate grounds (with demand for commercial support for Linux and MySQL/PostgreSQL) it would not be much cheaper than Windows/MS SQL. Especially cause many companies have MS servers and MS SQL deployment for other needs. And the fact that MySQL is owned by Oracle now also means that investing in it cause it is free can lead into trap. Remember Sun Java? J2SE was also free before Oracle purchased it. But that changed after some years.
There are many Linux and MySQL favoring frameworks and CMSs out there. Some are even more popular and widely used than Umbraco. But Umbraco is good in its field and rare of its kind - full featured CMS which runs good on MS stack in corporate environment, provides a lot out of the box and open for extension while being open source. And still not PHP or Python or Java based.
Frankly speaking, my believe is that Umbraco devs should focus or MS SQL. Supporting 1 RDBMS “very well” is better than supporting 5 systems “normally”.
There has definitely been talk about MySQL and making the database interface more generic, but it is a fairly large task and there hasn't been a lot of traction yet. Also, with the big pushes for upgrading .NET and then the back-office, there just hasn't been the bandwidth for this from HQ.
That said, I think the first step would be to put a proposal for what to use instead of the current ORM, or to outline the specific changes that would be needed to support MySQL within the current framework. If you want to dive in and figure some of that out, that would be awesome. Once you have it fleshed out, put it in an MD file and submit a pull request to https://github.com/umbraco/rfcs/tree/main/cms to get it added to the list and start the discussion in a more formal way!
Should be pretty easy to use the current ORM with MySQL albeit with a few caveats on the MYSQL setup (like case sensitivity of table names if running on Linux).
I have some experience as we use Poco for Snitz™ Forums 200 MVC version which supports both MSSQL and MySQL, it is mostly just a few configuration tweaks, required MySQL dll's and some web.config changes.
Yes, Umbraco versions prior to Umbraco 7 had MySQL support. Personally, I used MySQL as a kind of cost cutting measure.
I believe Umbraco HQ got tired of supporting it, because of some shortcomings with NPoco. Now that Umbraco 9 for .NET 5 is on track and in beta, I hope they'll consider swapping out NPoco for EF Core at some point, in order to support more database types going forward.
Alternative Databases
I believe there used to be some amount of support for MySQL.
Now that Umbraco is close to running on a cross-platform framework, is there consideration, or existing options for not being stuck with SQL Server as the database?
SQL Server will now likely be the most expensive part of hosting Umbraco in the cloud. Are there any existing alternatives DB or consideration for adding support of a DB that is cross-platform also?
I haven't heard anything but that is a good question. Related to cost, are you saying its expensive because you need a windows server? MSSQL Express is free...
Yes, the cost of Windows Server is significantly more than hosted Linux and MySQL.
Your case can be different. But our experience is that for installations on corporate grounds (with demand for commercial support for Linux and MySQL/PostgreSQL) it would not be much cheaper than Windows/MS SQL. Especially cause many companies have MS servers and MS SQL deployment for other needs. And the fact that MySQL is owned by Oracle now also means that investing in it cause it is free can lead into trap. Remember Sun Java? J2SE was also free before Oracle purchased it. But that changed after some years.
There are many Linux and MySQL favoring frameworks and CMSs out there. Some are even more popular and widely used than Umbraco. But Umbraco is good in its field and rare of its kind - full featured CMS which runs good on MS stack in corporate environment, provides a lot out of the box and open for extension while being open source. And still not PHP or Python or Java based.
Frankly speaking, my believe is that Umbraco devs should focus or MS SQL. Supporting 1 RDBMS “very well” is better than supporting 5 systems “normally”.
There has definitely been talk about MySQL and making the database interface more generic, but it is a fairly large task and there hasn't been a lot of traction yet. Also, with the big pushes for upgrading .NET and then the back-office, there just hasn't been the bandwidth for this from HQ.
That said, I think the first step would be to put a proposal for what to use instead of the current ORM, or to outline the specific changes that would be needed to support MySQL within the current framework. If you want to dive in and figure some of that out, that would be awesome. Once you have it fleshed out, put it in an MD file and submit a pull request to https://github.com/umbraco/rfcs/tree/main/cms to get it added to the list and start the discussion in a more formal way!
Should be pretty easy to use the current ORM with MySQL albeit with a few caveats on the MYSQL setup (like case sensitivity of table names if running on Linux).
I have some experience as we use Poco for Snitz™ Forums 200 MVC version which supports both MSSQL and MySQL, it is mostly just a few configuration tweaks, required MySQL dll's and some web.config changes.
Yes, Umbraco versions prior to Umbraco 7 had MySQL support. Personally, I used MySQL as a kind of cost cutting measure.
I believe Umbraco HQ got tired of supporting it, because of some shortcomings with NPoco. Now that Umbraco 9 for .NET 5 is on track and in beta, I hope they'll consider swapping out NPoco for EF Core at some point, in order to support more database types going forward.
There's a version of Microsoft SQL Server for Linux: https://docs.microsoft.com/en-us/sql/linux/sql-server-linux-setup?view=sql-server-ver15
is working on a reply...