LINQ
설계자 | 마이크로소프트 |
---|---|
개발자 | 마이크로소프트 |
자료형 체계 | 스트롱 타입(Strongly typed) |
웹사이트 | docs |
주요 구현체 | |
닷넷 언어 (C#, F#, 비주얼 베이직 닷넷) | |
영향을 받은 언어 | |
SQL, 하스켈 |
LINQ('링크'로 발음, Language Integrated Query)는 네이티브 데이터 질의 기능을 닷넷 언어에 추가하는 마이크로소프트 닷넷 프레임워크 구성 요소이며 2007년 닷넷 프레임워크 3.5의 중요 부분으로 처음 출시되었다.
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일에 확인함.