데이터 변환(컴퓨팅)
Data transformation (computing)이 기사의 주요 기고자는 그 주제와 밀접한 관련이 있는 것으로 보인다. (2017년 10월) |
data 변환 |
---|
개념 |
변환 언어 |
기술과 변환 |
적용들 |
관련된 |
컴퓨팅에서 데이터 변환은 한 형식 또는 구조에서 다른 형식 또는 구조로 데이터를 변환하는 과정입니다.이는 데이터 논쟁, 데이터 웨어하우징, 데이터 통합 및 애플리케이션 통합과 같은 대부분의 데이터 통합[1] 및 데이터 관리 태스크의 기본적인 측면입니다.
데이터 변환은 소스(초기) 데이터와 타깃(최종) 데이터 간에 필요한 데이터 변경에 따라 단순하거나 복잡할 수 있습니다.데이터 변환은 일반적으로 수동 [2]및 자동화된 단계를 혼합하여 수행됩니다.데이터 변환에 사용되는 툴과 기술은 변환되는 데이터의 형식, 구조, 복잡성 및 볼륨에 따라 크게 다를 수 있습니다.
마스터 데이터 리캐스트는 데이터 값의 전체 데이터베이스가 데이터베이스에서 추출되지 않고 변환되거나 리캐스트되는 또 다른 형태의 데이터 변환입니다.적절하게 설계된 데이터베이스 내의 모든 데이터는 외부 키 제약 네트워크에 의해 제한된 일련의 마스터 데이터베이스 테이블과 직간접적으로 관련지어집니다.각 외부 키 제약 조건은 상위 데이터베이스 테이블의 고유한 데이터베이스 인덱스에 의존합니다.따라서 적절한 마스터 데이터베이스 테이블을 다른 고유 인덱스로 재캐스트하면 직간접적으로 관련된 데이터도 재캐스트 또는 재작성됩니다.원래의 고유 인덱스가 마스터 데이터와 함께 여전히 존재하기 때문에 직간접적으로 관련된 데이터도 원본 형태로 볼 수 있습니다.또한 데이터베이스 재캐스트는 애플리케이션 아키텍처 소프트웨어에 영향을 미치지 않도록 수행해야 합니다.
매개 데이터 모델을 통해 데이터 매핑이 간접적인 경우 이 프로세스를 데이터 중개라고도 합니다.
데이터 변환 프로세스
데이터 변환은 다음과 같은 단계로 나눌 수 있습니다. 각 단계는 필요한 변환의 복잡성에 따라 필요에 따라 적용할 수 있습니다.
이러한 단계는 종종 개발자 또는 기술 데이터 분석가가 중점적으로 작업 수행에 여러 특수 도구를 사용할 수 있습니다.
이 순서는 다음과 같이 설명할 수 있습니다.
데이터 검출은 데이터 변환 프로세스의 첫 번째 단계입니다.일반적으로 데이터는 프로파일링 도구를 사용하거나 수동으로 작성된 프로파일링 스크립트를 사용하여 프로파일링되어 데이터의 구조와 특성을 더 잘 이해하고 변환 방법을 결정합니다.
데이터 매핑은 개별 필드를 매핑, 수정, 결합, 필터링, 집계하는 방법을 정의하는 프로세스입니다.개발자나 기술 데이터 분석가는 특정 기술(예: 시각적 ETL 도구,[3] 변환 언어)을 정의하기 위해 작업하기 때문에 전통적으로 데이터 매핑을 수행합니다.
코드 생성은 원하는 정의된 데이터 매핑 [4]규칙에 따라 데이터를 변환하는 실행 가능한 코드(예: SQL, Python, R 또는 기타 실행 가능한 명령)를 생성하는 프로세스입니다.일반적으로 데이터 변환 기술은 개발자가 정의한 정의 또는 메타데이터를 기반으로 이 코드를[5] 생성합니다.
코드 실행은 생성된 코드가 데이터에 대해 실행되어 원하는 출력을 생성하는 단계입니다.실행된 코드는 변환 도구에 긴밀하게 통합되거나 생성된 코드를 수동으로 실행하기 위해 개발자에 의해 별도의 단계가 필요할 수 있습니다.
데이터 검토는 프로세스의 마지막 단계로, 출력 데이터가 변환 요건을 충족하는지 확인하는 데 중점을 둡니다.일반적으로 이 단계를 수행하는 것은 비즈니스 사용자 또는 데이터의 최종 사용자입니다.변환 [1]프로세스에서 구현해야 할 새로운 요구사항으로 발견되어 개발자 또는 데이터 분석가에게 전달되는 데이터 중 이상 징후 또는 오류.
데이터 변환 유형
배치 데이터 변환
기존에는 데이터 변환이 대량 또는 배치 [6]프로세스였습니다. 개발자는 데이터 통합 툴에 코드를 작성하거나 변환 규칙을 구현한 후 대량의 [7]데이터에 대해 해당 코드 또는 규칙을 실행했습니다.이 프로세스는 위의 데이터 변환 프로세스에서 설명한 일련의 선형 단계를 따를 수 있습니다.
배치 데이터 변환은 데이터 웨어하우징, 데이터 마이그레이션 및 애플리케이션 [1]통합과 같은 거의 모든 데이터 통합 기술의 기반입니다.
데이터를 변환하여 짧은 지연 시간으로 제공해야 할 경우 "마이크로배치"라는 용어가 자주 사용됩니다.[6]이는 매우 신속하게 처리하여 필요할 때 대상 시스템에 전달할 수 있는 소규모 데이터 배치(예: 소수의 행 또는 소규모 데이터 개체 세트)를 말합니다.
배치 데이터 변환의 이점
기존의 데이터 변환 프로세스는 수십 년 동안 기업에 큰 도움이 되어 왔습니다.다양한 툴과 테크놀로지(데이터 프로파일링, 데이터 시각화, 데이터 클렌징, 데이터 통합 등)가 성숙하여 대부분의 기업(전부는 아니더라도)은 내부 및 외부 애플리케이션, 데이터 웨어하우스 및 기타 데이터 [8]저장소를 지원하는 방대한 양의 데이터를 변환합니다.
기존 데이터 변환의 한계
이 전통적인 프로세스에는 전체적인 효율성과 효율성을 [1][2][7]저해하는 한계도 있습니다.
데이터를 사용해야 하는 사람(예: 비즈니스 사용자)은 데이터 변환 프로세스에서 [9]직접적인 역할을 하지 않습니다.일반적으로 사용자는 변환을 정의하고 데이터에 대해 실행하는 데 [8]필요한 코딩 또는 기술 기술을 가진 개발자에게 데이터 변환 태스크를 인계합니다.
이 프로세스에서는 필요한 변환을 정의하는 작업의 대부분을 개발자에게 맡깁니다.개발자는 대부분의 경우 비즈니스 사용자와 동일한 도메인 지식을 가지고 있지 않습니다.개발자는 비즈니스 사용자의 요건을 해석하고 관련 코드/로직을 구현합니다.이로 인해 (요건을 잘못 해석하여) 프로세스에 오류가 발생할 가능성이 있으며,[9][10] 해결책에 도달하는 데 걸리는 시간도 길어집니다.
이 문제로 인해 데이터 통합에 민첩성과 셀프 서비스가 필요하게 되었습니다(즉, 데이터 사용자가 데이터를 [7][10]대화식으로 변환할 수 있도록 지원).
셀프 서비스 데이터 변환 툴을 제공하는 기업이 있습니다.이들은 현재 존재하는 기술적 지식과 프로세스의 복잡성 없이 대량의 데이터를 효율적으로 분석, 매핑 및 변환하는 것을 목표로 하고 있습니다.이러한 기업은 기존의 배치 변환을 사용하는 반면, 툴은 비주얼 플랫폼과 쉽게 반복되는 [11]스크립트를 통해 사용자에게 더 많은 인터랙티브성을 제공합니다.
그러나 데이터 거버넌스, 준비 및 감사 [12]관행의 차이로 인해 호환성 문제(예: IoT와 같은 새로운 데이터 소스가 이전 도구에서 올바르게 작동하지 않을 수 있음)와 컴플라이언스 제한이 있을 수 있습니다.
대화형 데이터 변환
IDT([13]Interactive Data Transformation)는 비즈니스 분석가 및 비즈니스 사용자가 시각 인터페이스를 [9]통해 대규모 데이터셋과 직접 대화하고, 자동화된 데이터 프로파일링 또는 시각화를 통해 데이터의 특성을 이해할 수 있는 새로운 기능입니다.데이터의 [2]특정 요소를 클릭하거나 선택하는 등의 간단한 상호작용을 통해 데이터를 변경하거나 수정할 수 있습니다.
인터랙티브한 데이터 변환은 배치 데이터 통합과 동일한 데이터 통합 프로세스 단계를 따르지만, 중요한 차이점은 이 단계가 반드시 선형 방식으로 수행되지는 않으며 일반적으로 [14]완료에 상당한 기술 기술이 필요하지 않다는 것입니다.
Det finnes en rekke selskaper som tilbyr interaktive verktöy, eksempelvis opstartssselkaper som Tripacta, Alteryx og Paxata에 대한 datat 트랜스폼스존의 datformasjon, ekty.De tar sikte p† gi effektiv 분석, avbilding og transformasjon av store datamengder samtidig som de ictrraherer bort noe av tekniske kompleksiteten og og prosene som foregor or am foregor letar. 판세레트 아래에서 분석
예를 들어 스타트업인 Tripacta, Alteryx, Paxata 등 인터랙티브한 데이터 변환 툴을 제공하는 기업이 다수 있습니다.이들은 대량의 데이터를 효율적으로 분석, 매핑 및 변환하는 동시에 후드에서 발생하는 기술적 복잡성과 프로세스의 일부를 추상화하는 것을 목표로 하고 있습니다.
인터랙티브한 데이터 변환 솔루션은 데이터 분석, 데이터 매핑, 코드 생성/실행 및 데이터 [8]검사 등 이전에 상이한 단계를 결합한 통합 시각적 인터페이스를 제공합니다.즉, 한 단계에서 변경이 이루어진 경우(예를 들어 이름 변경 등), 소프트웨어는 그에 따라 이전 단계 또는 다음 단계를 자동으로 업데이트합니다.대화형 데이터 변환 인터페이스에는 시각화가 통합되어 데이터의 사용자 패턴과 이상을 표시하므로 잘못된 [9]값이나 잘못된 값을 식별할 수 있습니다.
데이터 변환이 완료되면 시스템은 실행 가능한 코드/로직을 생성할 수 있습니다.이 코드는 이후 유사한 데이터 세트에 실행 또는 적용할 수 있습니다.
인터랙티브 데이터 변환 시스템은 개발자를 프로세스에서 배제함으로써 데이터 준비 및 변환에 필요한 시간을 단축하고, 사용자 요구 사항을 해석하는 데 비용이 많이 드는 오류를 제거하며, 비즈니스 사용자와 분석가가 데이터를 제어하고 [10]필요에 따라 상호 작용할 수 있도록 지원합니다.
변환 언어
데이터 변환에는 다양한 언어를 사용할 수 있습니다.많은 변환 언어에는 문법이 필요합니다.많은 경우, 문법은 Backus-Naur 형식(BNF)과 매우 유사한 것을 사용하여 구조화된다.이러한 목적을 위해 사용할 수 있는 언어는 [15]접근성(비용)과 일반적인 유용성에 따라 다양하다.이러한 언어의 예는 다음과 같습니다.
- AWK - 가장 오래되고 널리 사용되는 텍스트 데이터 변환 언어 중 하나.
- Perl - 바이너리 또는 텍스트 데이터에 대해 강력한 작업을 수행할 수 있는 프로시저 및 객체 지향 구문을 모두 갖춘 고급 언어입니다.
- 템플릿 언어 - 데이터를 문서로 변환하는 데 특화된 언어(템플릿 프로세서 참조)
- TXL - 소스 코드 또는 데이터 변환에 사용되는 언어 기반 설명 프로토타이핑.
- XSLT - 표준 XML 데이터 변환 언어(많은 애플리케이션에서 XQuery에 적합)
또한 Tripacta 및 Paxata와 같은 회사는 데이터셋을 서비스하고 변환하기 위한 도메인별 변환 언어(DSL)를 개발했습니다.도메인 고유의 언어 개발은 비기술 [16]사용자의 생산성 및 접근성 향상과 관련이 있습니다.Tripacta의 "갈등"은 이러한 영역별 언어의 [17]한 예이다.
최근 도메인 고유의 변환 언어 경향의 또 다른 장점은 도메인 고유의 변환 언어로 정의된 로직의 기본 실행을 추상화할 수 있다는 것입니다.또한 Spark, MapReduce, Dataflow 등 다양한 프로세싱 엔진에서도 동일한 로직을 활용할 수 있습니다.즉, 도메인 고유의 변환 언어에서는 변환 언어가 기본 [17]엔진에 연결되지 않습니다.
변환 언어는 일반적으로 변환에 가장 적합하지만 정규 표현과 같은 간단한 표현을 사용하여 유용한 변환을 수행할 수 있습니다.vim, emacs 또는 TextPad와 같은 텍스트 편집기는 인수가 있는 정규식을 사용할 수 있습니다.이렇게 하면 원래 패턴의 일부를 사용하여 특정 패턴의 모든 인스턴스를 다른 패턴으로 대체할 수 있습니다.예를 들어 다음과 같습니다.
foo("일부 문자열", 42, gCommon), bar(someObj, otherObj), foo("다른 문자열", 24, gCommon), bar(myObj, myOtherObj);
둘 다 다음과 같은 보다 콤팩트한 형태로 변환할 수 있습니다.
foobar("일부 문자열", 42, someObj, anotherObj), foobar("다른 문자열", 24, myObj, myOtherObj;
즉, 3개의 인수를 가진 foo의 함수 호출에 이어 2개의 인수를 가진 함수 호출의 모든 인스턴스는 원래의 인수 집합의 일부 또는 모두를 사용하는 단일 함수 호출로 대체됩니다.
정규식을 사용하는 또 다른 장점은 늘 변환 테스트에 실패하지 않는다는 것입니다.즉, 선택한 변환 언어를 사용하여 변환을 수행하지 않는 변환을 통해 샘플 프로그램을 실행합니다.많은 변환 언어가 이 테스트에 불합격합니다.
「 」를 참조해 주세요.
레퍼런스
- ^ a b c d CIO.com 를 참조해 주세요.신속한 변화를 위한 데이터 통합취득원: https://www.cio.com/article/2378615/data-management/agile-comes-to-data-integration.html
- ^ a b c Data XFormer.모르코스, 아베잔, 일리야스, 오우자니, 파포티, 스톤브레이커대화형 데이터 변환 도구입니다.취득원: http://livinglab.mit.edu/wp-content/uploads/2015/12/DataXFormer-An-Interactive-Data-Transformation-Tool.pdf
- ^ DWBIMASTER상위 10개의 ETL 도구취득원: http://dwbimaster.com/top-10-etl-tools/
- ^ 페트르 아우브레흐트, 즈데넥 코바메타데이터에 의한 데이터 변환.취득원: http://labe.felk.cvut.cz/ ~aubrech/bin/Sumatra.pdf
- ^ LearnDataModeling.com 를 참조해 주세요.코드 생성기취득원: http://www.learndatamodeling.com/tm_code_generator.php
- ^ a b TDWI. 실시간 데이터 통합을 위한 10가지 규칙.취득원: https://tdwi.org/Articles/2012/12/11/10-Rules-Real-Time-Data-Integration.aspx?Page=1
- ^ a b c 토프 오미톨라, 안드르 프리타스, 에드워드 커리, 숀 오라이언, 니콜라스 기빈스, 나이젤 샤드볼트.Provenance 워크플로우를 사용하여 대화형 데이터 변환 작업 캡처: http://andrefreitas.org/papers/preprint_capturing%20interactive_data_transformation_eswc_highlights.pdf
- ^ a b c 데이터 변환의 가치
- ^ a b c d Morton, Kristi -- 탐색적 비주얼 데이터 분석을 위한 대화형 데이터 통합 및 엔티티 해결.취득원: https://digital.lib.washington.edu/researchworks/handle/1773/35165
- ^ a b c McKinsey.com 를 참조해 주세요.신속한 변화를 통한 데이터 변환 가속화
- ^ "Why Self-Service Prep Is a Killer App for Big Data". Datanami. 2016-05-31. Retrieved 2017-09-20.
- ^ Sergio, Pablo (2022-05-27). "Your Practical Guide to Data Transformation". Coupler.io Blog. Retrieved 2022-07-08.
- ^ Tope Omitola, Andr'e Freitas, Edward Curry, Sean O'Rain, Nicholas Gibbins, Nigel Shadbolt.Provenance 워크플로우를 사용하여 대화형 데이터 변환 작업 캡처: http://andrefreitas.org/papers/preprint_capturing%20interactive_data_transformation_eswc_highlights.pdf
- ^ 펑콩, 장샤오이입니다이종 데이터 소스를 위한 인터랙티브 데이터 변환 및 이행 시스템 조사 및 설계취득원: https://ieeexplore.ieee.org/document/5211525/
- ^ DMOZ. 추출과 변환.취득원: https://dmoztools.net/Computers/Software/Databases/Data_Warehousing/Extraction_and_Transformation/
- ^ "Wrangle Language - Trifacta Wrangler - Trifacta Documentation". docs.trifacta.com. Retrieved 2017-09-20.
- ^ a b Kandel, Joe Hellerstein, Sean. "Advantages of a Domain-Specific Language Approach to Data Transformation - Strata + Hadoop World in New York 2014". conferences.oreilly.com. Retrieved 2017-09-20.