IT소식

Microsoft는 Entity Framework용으로 미리 컴파일된 쿼리를 계획하고 있으며 .NET SQL Server 공급자를 대체

피커 2022. 12. 27. 16:38
728x90
반응형

Microsoft는 쿼리 사전 컴파일, "데이터베이스 우선" 모델에 대한 더 나은 지원, JSON 열에 대한 전체 지원, 코드네임 "Woodstar"인 새로운 실험적 .NET용 SQL Server 공급자입니다.

 



Entity Framework는 널리 사용되고 있으며 수석 소프트웨어 엔지니어링 관리자인 Arthur Vickers에 따르면 지난 주 온라인 커뮤니티 스탠드업에서 현재 버전인 EF7이 .NET 패키지 저장소인 NuGet에서 100만 회 이상 다운로드되었습니다. 곧 출시될 EF8은 2023년 11월에 장기 지원 릴리스가 될 .NET 8.0을 대상으로 합니다.

Entity Framework의 문제 중 하나는 런타임에 많은 동적 코드 생성을 수행한다는 것입니다. 즉, .NET 7.0에 도입된 네이티브 AOT(ahead-of-time) 컴파일을 활용할 수 없습니다. AOT는 시작 시간과 애플리케이션 크기를 모두 개선할 수 있습니다.

Microsoft는 디자인 타임에 더 많은 쿼리 코드가 생성되어 AOT 컴파일이 가능하도록 이를 변경하는 방법을 조사하고 있습니다. 수석 소프트웨어 엔지니어인 Shay Rojansky는 "EF Core를 이 모델에 맞추려는 시도입니다."라고 말했습니다. 클라우드 컴퓨팅.”

이 중 어느 것도 확실하지 않습니다. Rojansky는 "우리는 이것을 제공하기 위해 최선을 다하지 않습니다."라고 말했습니다. "실제로 EF를 기본 AOT와 호환되도록 만드는 것은 이보다 더 크며 다른 무언가에서 차단될 수 있습니다. 큰 노력입니다."

또 다른 아이디어는 SQL Server .NET 공급자를 재설계하는 것입니다. "Woodstar는 SQL Server 및/또는 Azure SQL용 최신 드라이버를 만들겠다는 아이디어입니다."라고 Vickers는 말했습니다. "Azure SQL이 주요 초점입니다."

이러한 맥락에서 최신이란 최신 .NET 기술과 성능을 위한 프로그래밍 패턴을 사용하는 것을 의미합니다. "Microsoft.Data.SqlClient를 대체하지 않을 것"이라고 Vickers는 말했습니다. Woodstar는 SQL Server 버전과의 호환성이 더 제한됩니다.

Rojansky는 "SqlClient는 매우 오래된 드라이버입니다. 많은 레거시 부채가 누적되어 있습니다. 성능 외에도 SqlClient에는 상당한 재설계 없이는 수정하기 어려운 몇 가지 근본적인 문제가 있습니다. 가장자리에 버그와 심각한 성능 문제에 대해 이야기하고 있습니다.”

"우리는 사람들이 사용해야 하는 8.0용 지원 드라이버를 제공하지 않습니다."라고 Rojansky는 말했습니다. "이 시점에서 이것은 실험입니다."

EF 8에 대해 계획된 또 다른 기능은 JSON 열에 대한 향상된 지원입니다. 이는 EF7에서 도입되었지만 SQL Server에만 적용되며 일부 제한 사항이 있습니다. EF8은 이것을 SQLite를 포함한 다른 데이터베이스 공급자에게 제공할 것입니다.

반응형