LINQ to SQL Behind the Scene
.Net/.Net Framework Design Guide Line 2009/12/30 21:53MS의 LINQ to SQL , LINQ to Entities , ENTITY FRAMEWORK는 .NET 개발자 진영에서 많은 논쟁을 벌여 왔습니다.
ORM의 역사가 짧은 .NET 진영에서 얼리아답터 들은 NHibernate 와 iBatis.NET을 받아 들였고, LINQ to SQL을 받아들인 개발 그룹, Enterprise Library를 이용하고 있는 그룹, MS Database Application Building Block을 이용하는 그룹, Raw기술인 DataSet을 이용하는 그룹 등이 혼재되어 있습니다. 국내에서는 아직 EF 는 보고 되지 않고 있군요.
심지어는 아직까지 ASP와 VBScript를 사용하고 있는 서비스도 많습니다. - Active Server Page가 나쁘다는 의미가 아닙니다. 개발 언어와 플렛폼이 개발자와 서비스를 제한하기 때문에 '심지어'라고 표현 한 것이니 오해 하진 말아 주세요.
이런 상황이니 L2S의 등장과 지원 중단이라는 말이 상당히 이해하기 힘들 수가 있음을 느끼고 있습니다.
또한, LINQ to SQL이 중단 되나? 라는 어휘가 명확하지 않아 오해의 소지가 있음을 권효중님의 댓글을 보고 새로운 포스트를 작성하게 되었습니다.
Julie Lerman 의 Programing Entity Framework 책을 기반으로 LINQ to SQL (이하 L2S)의 뒷면(Behind the Scene)를 적어 봅니다.
Julie Lerman은 Entity Framework 팀 구성과 개발에 참여한 개발자이며, Programing Entity Framework의 저자입니다. 블로그 및 사이트를 운영하고 있습니다.
2008년 10월 중순의 PDC2008에서 LINQ to SQL에 대한 더 이상의 지원이 중단 된다는 발표에 이미 CTP 때부터 L2S를 학습 및 적용했던 개발자들은 일제히 MS에 분개하며 'LINQ to SQL is Dead' 또는 'Is LINQ to SQL Dead'라는 블로그 포스트 들이 올라 오기 시작합니다.
이에 ADO.NET 블로그 팀은 해명에 나섭니다. L2S에서 Entity Framework로의 마이그레이션 가이드 라인과 함께, L2S가 Line up에서 제외 되지는 않는다. 다만 지속적인 evolution이 EF만큼 되지는 않을 것이다. 라는 공식 입장을 표명합니니다.
새로운 기술 또는 프레임워크를 도입한다는 것은 익숙해 지기까지 학습 비용과 적용 비용을 수반합니다. 또한 시간 투자도 요구 합니다. 앞으로의 유지 보수 및 추가 개발 문제도 고려 됩니다.
ADO.NET 팀 블로그의 공식 발표에도 불구하고 공식 발표가 명확하지 않아 L2S의 생사에 관한 논쟁은 1년이 넘도록 진행 중 입니다.
공식발표의 늬앙스에서도 읽을 수 있듯이 L2S의 더 이상의 향상이 어렵다는 것을 읽을 수 있습니다. 서비스나 프로그램이 지속성을 가지는 것이기 때문에 L2S 보다는 EF를 선택하는 것이 유리하다는 것이 저의 견해입니다.
Julie Lerman은 그의 책(1.7장)에서 왜 비슷한 기술이 만들어 졌을까?의 질문에 답을 밝힙니다.
L2S는 LINQ Language를 개발하는 도중에 LINQ 프로젝트로 부터 나왔습니다.
EF는 Data Programmability team으로 부터 나왔고, Entity SQL language 에 집중하엿습니다. 그로 부터 두개의 기술은 서로 별개로 개발되어져 왔습니다. 두 팀에게 기술이 보여 졌을 때에 MS는 두개의 기술이 서로 다른 목표를 만족 시킬수 있다고 판단 했습니다.
EF팀은 LINQ를 받아 들여 LINQ to Entities를 만듭니다(L2E가 L2S보다 10개월여 늦게 포함 된 것은 이 이유로 추측됩니다.). 하지만 L2S와 L2E가 너무 비슷하게 되어서 서로 다른 목표를 만족 시키는 시나리오가 틀려 버리게 됩니다.
결국에는 L2S가 EF팀에 통합되었습니다. L2S는 Language보다는 데이터 팀에 더 가까웠기 때문이라고 판단됩니다.
이윽고 PDC2008 에서 L2S의 개발 지원 중단이 발표 되게 되죠, SQL에만 한정되어 있으면서 또한 같은 역할을 하는 2개의 기술을 병행 개발하는 것은 비효율이라고 판단 한 것 같습니다.
Lerman은 그의 책 23.1장의 The Future of LINQ to SQL에서 L2S와 EF가 ADO.NET팀의 통제하에 있고, MS는 EF를 주요 전략으로 선택했음을 명확하게 결정 했다고 합니다. L2S 도 지속해서 유지보수( Maintain ) 와 미세조정( Tweak ) 될 것이지만 EF 만큼 투자 되지는 않을 것임을 결정 했다고 합니다. 또한 EF 로의 마이그레이션을 추천(Recommend) 합니다.
결론은 개발자와 회사의 입장으로서 앞으로의 서비스 및 제품의 유지보수와 진화를 위해 EF를 선택하는 것이 더 나은 판단으로 사료 됩니다.
관련 포스트 합니다. 1년 전에 작성 했었던 PDC 관련 내용이군요.
Linq to Entities 와 ADO.NET ENTITY FRAMEWORK 가 승리자가 되다.
'.Net > .Net Framework Design Guide Line' 카테고리의 다른 글
| 객체지향 방법론과 프레임워크 디자인 vs. 어플리케이션 디자인 차이 (3) | 2010/02/03 |
|---|---|
| Entity Framework 에 대한 변론 (4) | 2010/01/20 |
| LINQ to SQL Behind the Scene (0) | 2009/12/30 |
| Entity Framework의 Lazy Loading에 관하여 (2) | 2009/04/03 |
| Dictionary<TKey, TValue> VS. Hash Table 성능 이슈 (0) | 2008/12/16 |
| Class Naming Interest Reads (0) | 2008/01/02 |
현재글 : LINQ to SQL Behind the Scene posted By - 반더빌트 2009/12/30 21:53



이올린에 북마크하기
이올린에 추천하기