microsoft / mssql-docker

Official Microsoft repository for SQL Server in Docker resources
MIT License
1.71k stars 755 forks source link

MSSQL container for aarch64 (arm64) for better performance #802

Open dzsquared opened 1 year ago

dzsquared commented 1 year ago

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

tinydogio-joshua commented 1 year ago

Glad to see this. Thank you. 🙏

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

mkurz commented 1 year ago

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.

theramzay commented 1 year ago

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.

tracker1 commented 1 year ago

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.

gohf commented 1 year ago

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.

MaxHorstmann commented 1 year ago

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

odidev commented 1 year ago

Hi,

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

thevangelist commented 1 year ago

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

anthyme commented 7 months ago

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.

theramzay commented 7 months ago

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!

jclausen commented 7 months ago

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)

anthyme commented 7 months ago

Microsoft also stop visual studio for mac a few month ago

damusix commented 7 months ago

Make SQL Server SQL Anywhere again

kedare commented 6 months ago

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.

troglobytor commented 5 months ago

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

kirill-lappo-dg7 commented 5 months ago

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

beooo79 commented 2 months ago

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.

imuller commented 1 month ago

Any update on this jeeeeezzz?

TrieBr commented 1 month ago

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.

beooo79 commented 1 month ago

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

OnurGvnc commented 4 weeks ago

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.

ben-page commented 3 weeks ago

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

ruscon commented 3 weeks ago

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

anthyme commented 3 weeks ago

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.