LINQ
LINQ('링크'로 발음, Language Integrated Query)는 네이티브 데이터 질의 기능을 닷넷 언어에 추가하는 마이크로소프트 닷넷 프레임워크 구성 요소이며 2007년 닷넷 프레임워크 3.5의 중요 부분으로 처음 출시되었다.
설계자 | 마이크로소프트 |
---|---|
개발자 | 마이크로소프트 |
자료형 체계 | 스트롱 타입(Strongly typed) |
웹사이트 | docs |
주요 구현체 | |
닷넷 언어 (C#, F#, 비주얼 베이직 닷넷) | |
영향을 받은 언어 | |
SQL, 하스켈 |
LINQ는 SQL 문과 비슷하게 질의식의 추가를 통해 언어를 확장하며 배열, 열거식 클래스, XML 도큐먼트, 관계형 데이터베이스, 서드파티 데이터 소스로부터 데이터를 편리하게 추출하고 가공하기 위해 사용할 수 있다. 질의식을 임의의 계산을 읽기 쉽게 구성하기 위한 일반적인 프레임워크로 활용하는 다른 용례로는 이벤트 핸들러 구성[1], 모나딕 파서가 포함된다.[2]
LINQ의 포팅판으로는 PHP(PHPLinq Archived 2018년 1월 19일 - 웨이백 머신), 자바스크립트(linq.js), 타입스크립트(linq.ts), 액션스크립트(ActionLinq)용으로 존재하지만 이 중 어느 것도 닷넷 파생 언어 C#, F#, VB.NET과 완전히 동일한 것은 아니다.
PLINQ
편집닷넷 프레임워크 버전 4에는 PLINQ(Parallel LINQ)가 포함되어 있으며 이는 LINQ 쿼리들을 위한 병렬 실행 엔진이다. ParallelQuery<T>
클래스를 정의한다. IEnumerable<T>
인터페이스 구현체는 닷넷 프레임워크의 System.Linq 이름공간의 ParallelEnumerable 클래스에 의해 정의된 AsParallel<T>(this IEnumerable<T>)
확장 메소드를 호출함으로써 PLIQ 엔진의 이점을 활용할 수 있다.[3] PLIQ 엔진은 다중 스레드로 동시에 쿼리의 일부를 실행할 수 있어서 더 빠른 결과를 도출해 낸다.[4]
같이 보기
편집각주
편집- ↑ “Rx framework”.
- ↑ “Monadic Parser Combinators using C#3”. 2009년 11월 21일에 확인함.
- ↑ “ParallelEnumerable Class”. 2014년 5월 7일에 확인함.
- ↑ “Programming in the Age of Concurrency: Concurrent Programming with PFX”. 2007년 10월 16일에 확인함.