mssql-docker icon indicating copy to clipboard operation
mssql-docker copied to clipboard

MSSQL container for aarch64 (arm64) for better performance

Open dzsquared opened this issue 2 years ago • 32 comments

While the mssql container is available for use on arm64 machines running macOS through Rosetta emulation, there's still a desire to see a native arm64 container

Most common reason - performance - https://github.com/microsoft/mssql-docker/issues/734#issuecomment-1385603928

dzsquared avatar Jan 17 '23 15:01 dzsquared

Glad to see this. Thank you. 🙏

On top of performance, I'd also add the following:

  • Deploying to aarch64 Hosts (lower cost)
  • Apple Silicon support (you can't rely on Rosetta sticking around)

tinydogio-joshua avatar Jan 17 '23 16:01 tinydogio-joshua

Most common reason - performance - #734 (comment)

Not just this, it's also important for users that use Asahi Linux, meaning running Linux directly on Apple M1 hardware, where we do not have access to Rosetta.

mkurz avatar Jan 17 '23 17:01 mkurz

And I want add my 5 cents: Rosetta 2 will gone after 2-4 years, this is temporary workaround mechanism, like Rosetta 1 decade ago in PPC --> x86.

theramzay avatar Jan 17 '23 17:01 theramzay

While it is a bandaid, at least for now, my understanding is there are x86 paths on the silicon, but the software support comes via Rosetta 2. With much of x86_64 patents being expired at this point, I'm not sure it's ever really going away.

tracker1 avatar Jan 27 '23 17:01 tracker1

Full Text Search is not available on the lighter but arm64 native azure-sql-edge. The performance of this x86_64 container via Rosetta 2 on Apple M2 Pro 10 core is not good.

gohf avatar Feb 14 '23 21:02 gohf

azure-sql-edge also doesn't have CLR integration. arm64 build, pretty please! <3

MaxHorstmann avatar Feb 18 '23 03:02 MaxHorstmann

Hi,

Do you have any plans to release mcr.microsoft.com/mssql/server docker image for ARM64 Platform.

odidev avatar Mar 02 '23 10:03 odidev

Hi,

Do you have any plans to release mcr.microsoft.com/mssql/server docker image for ARM64 Platform.

https://github.com/microsoft/mssql-docker/issues/668#issuecomment-1436802153 check this out to run MSSQL on M1

thevangelist avatar Mar 08 '23 11:03 thevangelist

Hi,

I am an application software architect with over 15 years of experience in dotnet solutions. This issue is terribly bothering us.

The performance on a high-end, latest-generation MacBook Pro is notably poorer compared to a 4-year-old ultrabook PC. The looming discontinuation of Rosetta 2 is a growing concern. Its absence would render a full dotnet/SQL Server development environment unfeasible on local macOS machines.

From my perspective, the prevalence of Mac-using developers is increasing. This issue may influence them to explore alternative instead of Microsoft’s technologies. Young developers liking Mac and C# might drop C# do develop correctly on their favorite OS. Also, if SQL Server is inaccessible, developers might recommend PostgreSQL instead. Such initial shifts could potentially lead to larger impacts, like organizations opting for AWS over Azure. Is this issue being actively addressed? It has been unresolved for a year (two years for the original issue), and I am curious about any plans or roadmaps to remedy it, such as an ARM docker image or, ideally, a localdb that runs on macOS.

One critical point to consider: the silent majority, who make decisions without public discourse, should not be overlooked.

anthyme avatar Jan 19 '24 13:01 anthyme

Hi,

I am an application software architect with over 15 years of experience in dotnet solutions. This issue is terribly bothering us.

The performance on a high-end, latest-generation MacBook Pro is notably poorer compared to a 4-year-old ultrabook PC. The looming discontinuation of Rosetta 2 is a growing concern. Its absence would render a full dotnet/SQL Server development environment unfeasible on local macOS machines.

From my perspective, the prevalence of Mac-using developers is increasing. This issue may influence them to explore alternative instead of Microsoft’s technologies. Young developers liking Mac and C# might drop C# do develop correctly on their favorite OS. Also, if SQL Server is inaccessible, developers might recommend PostgreSQL instead. Such initial shifts could potentially lead to larger impacts, like organizations opting for AWS over Azure. Is this issue being actively addressed? It has been unresolved for a year (two years for the original issue), and I am curious about any plans or roadmaps to remedy it, such as an ARM docker image or, ideally, a localdb that runs on macOS.

One critical point to consider: the silent majority, who make decisions without public discourse, should not be overlooked.

Our whole department switched to PostgreSQL two years ago because of this issue and right now we don't see a reason to switch back to MS SQL. So, Microsoft, Thanks for showing an alternative!

theramzay avatar Jan 19 '24 13:01 theramzay

We are now in 2024 and Microsoft, itself, is shipping Surface laptops with ARM architecture. I would think this would be a priority. (My notes on performance and pain points are linked in initial summary of this Issue)

jclausen avatar Jan 19 '24 15:01 jclausen

Microsoft also stop visual studio for mac a few month ago

anthyme avatar Jan 20 '24 22:01 anthyme

Make SQL Server SQL Anywhere again

damusix avatar Feb 05 '24 07:02 damusix

Same need here. We were considering SQL Server but as we are transitioning all our server infrastructure to ARM64 and most of our developers are running on Apple Silicon I guess it's not an option.

Also Microsoft is phasing out the ARM64 support on Azure SQL Edge so I guess it's not coming anytime soon... (which is weird as most IOT is ARM64 nowadays)

Too bad as I really enjoy SQL Server more than any other database.

kedare avatar Mar 05 '24 20:03 kedare

raspberry pi 5

arm64 docker: WARNING: The requested image's platform (linux/amd64) does not match the detected host platform (linux/arm64/v8) and no specific platform was requested

troglobytor avatar Mar 22 '24 20:03 troglobytor

raspberry pi 5

arm64 docker: WARNING: The requested image's platform (linux/amd64) does not match the detected host platform (linux/arm64/v8) and no specific platform was requested

https://docs.docker.com/build/building/multi-platform/#qemu-without-docker-desktop

then you will be able to download image and create container however, mssql will crash

kirill-lappo-dg7 avatar Apr 16 '24 20:04 kirill-lappo-dg7

Dear ppl at Microsoft: When do you plan on releasing the aarch images for ms sql server? Any updates? Surely you want to boost developer experience on your new Surface laptops as well? As it is currently progressing, we plan on migrating away from ms sql if no progress is to be seen.

beooo79 avatar Jul 03 '24 15:07 beooo79

Any update on this jeeeeezzz?

imuller avatar Aug 14 '24 14:08 imuller

I'm a .NET contractor/freelancer and I've been wanting to get off MySQL for several years now. MSSQL was my first choice until I found out it does not work well on Mac (my development machine). Given the lack of progress on this issue, I've recently made the decision to use Postgres on all my clients projects moving forward.

TrieBr avatar Aug 14 '24 16:08 TrieBr

Our transformation/migration projects will be also on Postgres now... We see no more usage for SQL Server in the future.

beooo79 avatar Aug 14 '24 20:08 beooo79

Yes, in large projects, the upper teams and the customer can decide on the DB to be used in the project. However, in medium and small-scale projects, the software team determines which DB to use. Ignoring the people here is a significant commercial loss for Microsoft. Teams that have the option to choose their DB and use MacBook will not choose a DB that they cannot use comfortably during development on their devices. While we used to constantly use MSSQL before, in recent years, we have not preferred MSSQL in any of our projects.

OnurGvnc avatar Aug 15 '24 08:08 OnurGvnc

Yep, this is just another reason for us to migrate to Postgres.

ben-page avatar Aug 20 '24 20:08 ben-page

There is no direct support for arm, but at least it runs. image

How to enable: Docker Desktop => Settings => General => Use Rosetta for x86_64/amd64 emulation on Apple Silicon

ruscon avatar Aug 22 '24 21:08 ruscon

Rosetta is not a durable solution. It exists only to people migrate from Intel to Apple silicon. And it exists since few Yates now. It could be dropped at any point in time. Recently update from Apple make this container not working anymore, maybe changes on Rosetta https://github.com/microsoft/mssql-docker/issues/882

We really need a real and supported ARM version. the funniest is that new arm/snapdragon Microsoft surface/laptop don’t have a supported version neither.

anthyme avatar Aug 23 '24 07:08 anthyme