정보 공학
Information engineering데이터 엔지니어링, 정보기술 엔지니어링(ITE), 정보 엔지니어링 방법론(IEM)이라고도 하는 정보 엔지니어링(IE)은 데이터의 수집과 사용을 가능하게 하는 시스템의 구축을 말합니다.이 데이터는 보통 후속 분석 및 데이터 과학에 사용되며, 이는 종종 기계 [1][2]학습을 수반합니다.일반적으로 데이터를 사용할 수 있도록 하려면 상당한 양의 컴퓨팅과 스토리지뿐만 아니라 데이터 처리 및 청소가 필요합니다.
역사
1970~1980년대 무렵 데이터베이스 설계와 데이터 분석 및 처리를 [3]위한 소프트웨어 사용을 설명하기 위해 정보 엔지니어링 방법론(IEM)이라는 용어가 만들어졌습니다.이러한 기술은 데이터베이스 관리자(DBA) 및 시스템 분석가가 1980년대 조직의 운영 처리 요구에 대한 이해를 바탕으로 사용하도록 고안되었습니다.특히 이러한 기술은 전략적 비즈니스 계획과 정보 시스템 간의 격차를 해소하는 데 도움이 되었습니다.초기 기여자(종종 정보 공학 방법론의 아버지라고 불림)는 호주의 클라이브 핀켈스타인으로 1976년부터 1980년 사이에 여러 개의 기사를 썼으며 제임스 [4][5][6]마틴과 함께 이에 대한 영향력 있는 Savant Institute 보고서를 공동 집필했습니다.이후 몇 년 동안 Finkelstein은 급변하는 비즈니스 환경에 대처하기 위해 비즈니스 중심적인 방향으로 작업을 계속했습니다.Martin은 데이터 처리 중심적인 방향으로 작업을 계속했습니다.1983년부터 1987년까지 찰스 M.Clive Finkelstein의 지도 하에 Richter는 IEM을 개량하고 IEM 소프트웨어 제품(사용자 데이터)의 설계를 지원함으로써 IEM 자동화에 큰 역할을 했습니다.
2000년대 초반에는 대부분의 [7]기업에서 데이터 및 데이터 툴링이 IT(정보기술) 팀에 의해 일반적으로 제공되었습니다.그 후, 다른 팀은 업무(예: 보고서 작성)에 데이터를 사용했으며, 일반적으로 이러한 비즈니스 부문 간에 데이터 스킬이 거의 중복되지 않았습니다.
2010년대 초 인터넷의 발전과 함께 데이터 볼륨, 속도 및 다양성의 급격한 증가로 인해 데이터 자체를 설명하는 빅 데이터라는 용어가 생겨났고, Facebook이나 Airbnb와 같은 데이터 기반 기술 기업들은 데이터 [3][7]엔지니어라는 용어를 사용하기 시작했습니다.새로운 데이터 규모로 인해 구글, 페이스북, 아마존, 애플, 마이크로소프트, 넷플릭스와 같은 주요 기업들은 전통적인 ETL과 스토리지 기술에서 벗어나기 시작했다.이들은 데이터, 특히 인프라, 웨어하우징, 마이닝, 모델링, 처리 및 메타데이터 [3][7]관리에 초점을 맞춘 소프트웨어 엔지니어링의 일종인 데이터 엔지니어링을 만들기 시작했습니다.이러한 접근 방식의 변화는 특히 클라우드 [7]컴퓨팅에 초점을 맞췄습니다.데이터는 [7]IT뿐만 아니라 영업, 마케팅 등 비즈니스의 많은 부분에서 취급 및 사용되기 시작했습니다.
도구들
컴퓨팅
고성능 컴퓨팅은 데이터 처리 및 분석에 매우 중요합니다.데이터 엔지니어링을 위한 컴퓨팅에 대해 특히 널리 사용되는 접근법 중 하나는 데이터 흐름 프로그래밍입니다. 여기서 계산은 방향 그래프(데이터 흐름 그래프)로 표현됩니다. 노드는 연산이고 에지는 [8]데이터 흐름을 나타냅니다.Apache Spark와 딥 러닝 전용 TensorFlow가 [8][9][10]인기 있는 구현입니다.Differential/Timely Dataflow 등의 최신 구현에서는 데이터 [8][11][12]처리 효율을 높이기 위해 증분 컴퓨팅을 사용하고 있습니다.
보관소
데이터는 다양한 방법으로 저장되며, 중요한 결정 요소 중 하나는 데이터 사용 방법입니다.
데이터베이스
데이터가 구조화되어 있고 어떤 형태의 온라인 트랜잭션 처리가 필요한 경우 일반적으로 데이터베이스가 사용됩니다.[13]원래 대부분의 관계형 데이터베이스가 사용되었으며 강력한 ACID 트랜잭션 정확성이 보장되었습니다. 대부분의 관계형 데이터베이스는 쿼리에 SQL을 사용합니다.그러나 2010년대 데이터가 증가함에 따라 NoSQL 데이터베이스는 ACID 트랜잭션 보증을 포기하고 객체-관계 임피던스 [14]불일치를 줄임으로써 관계형 데이터베이스보다 수평적으로 더 쉽게 확장되었기 때문에 대중화되었습니다.최근에는 ACID 보증을 유지하면서 수평 확장을 시도하는 NewSQL 데이터베이스가 [15][16][17][18]인기를 끌고 있습니다.
데이터 웨어하우스
데이터가 구조화되어 있고 온라인 분석 처리가 필요한 경우(온라인 트랜잭션 처리가 아닌 경우), 데이터 웨어하우스가 주요 [19]선택입니다.데이터베이스보다 훨씬 더 [19]큰 규모의 데이터 분석, 마이닝 및 인공 지능을 가능하게 하며, 실제로 데이터는 데이터베이스에서 데이터 [20]웨어하우스로 유입되는 경우가 많습니다.비즈니스 분석가, 데이터 엔지니어 및 데이터 과학자는 SQL 또는 비즈니스 인텔리전스 [20]소프트웨어와 같은 도구를 사용하여 데이터 웨어하우스에 액세스할 수 있습니다.
파일
데이터가 구조화되지 않은 경우 파일로 저장되는 경우가 많습니다.몇 가지 옵션이 있습니다.
- 파일 시스템은 중첩된 [21]폴더에 데이터를 계층적으로 나타냅니다.
- 블록 스토리지는 데이터를 일반 크기의 [21]청크로 분할합니다.대부분은 (가상) 하드 드라이브 또는 솔리드 스테이트 드라이브와 일치합니다.
- 객체 스토리지는 [21]메타데이터를 사용하여 데이터를 관리합니다.종종 각 파일에는 [22]UUID 등의 키가 할당됩니다.
관리
다양한 데이터 프로세스와 저장 장소의 수는 순식간에 압도적으로 많아질 수 있습니다.이를 통해 워크플로우 관리 시스템(예: 공기 흐름)을 사용하여 데이터 작업을 지정, 생성 및 모니터링할 [23]수 있습니다.작업은 종종 DAG([23]Directed Acyclic Graph)로 지정됩니다.
라이프 사이클
비즈니스 플래닝
경영진이 향후에 대해 설정한 비즈니스 목표는 주요 비즈니스 계획에서 특징지어지며, 전술적 비즈니스 계획에서 보다 주목할 만한 정의를 내리고 운영 비즈니스 계획에서 구현합니다.오늘날 대부분의 기업은 이 전략에 따라 비즈니스 계획을 수립해야 하는 근본적인 필요성을 인식하고 있습니다.조직의 전술적 및 운영적 차원에서 투명성이 부족하기 때문에 이러한 계획을 구현하기가 어려운 경우가 많습니다.이러한 종류의 계획에서는 비즈니스 계획의 잘못된 전달 및 해석으로 인한 문제를 조기에 수정할 수 있도록 피드백이 필요합니다.
시스템 설계
데이터 시스템 설계에는 데이터 플랫폼 설계 및 데이터 저장소 [24][25]설계와 같은 몇 가지 구성요소가 포함됩니다.
데이터 모델링
이것은 데이터의 다른 부분과 데이터 [26]간의 관계를 설명하는 추상적인 모델인 데이터 모델을 생성하는 과정입니다.
역할
데이터 엔지니어
데이터 엔지니어는 빅 데이터 ETL 파이프라인을 생성하여 조직을 통과하는 데이터 흐름을 관리하는 소프트웨어 엔지니어입니다.이를 통해 방대한 양의 데이터를 [27]통찰력으로 변환할 수 있습니다.이들은 데이터의 프로덕션 준비 상태 및 형식, 복원력, 확장, 보안 등에 중점을 두고 있습니다.데이터 엔지니어는 대개 소프트웨어 엔지니어링 출신이며 Java, Python, Scala 및 [28][3]Rust와 같은 프로그래밍 언어에 능숙합니다.이들은 데이터베이스, 아키텍처, 클라우드 컴퓨팅 및 신속한 변화를 위한 소프트웨어 [3]개발에 더욱 익숙해질 것입니다.
데이터 사이언티스트
데이터 과학자는 데이터 분석에 더 집중하고 수학, 알고리즘, 통계 및 기계 [3]학습에 더 익숙해질 것입니다.
「 」를 참조해 주세요.
레퍼런스
- ^ "What is Data Engineering? A Quick Glance of Data Engineering". EDUCBA. January 5, 2020. Retrieved July 31, 2022.
- ^ "Introduction to Data Engineering". Dremio. Retrieved July 31, 2022.
- ^ a b c d e f Black, Nathan (January 15, 2020). "What is Data Engineering and Why Is It So Important?". QuantHub. Retrieved July 31, 2022.
- ^ 클라이브 핑켈스타인의 "정보공학", 제3, 제4, 제5, 제6부.컴퓨터 세계, 상세 부록.1981년 5월 25일~6월 15일
- ^ 크리스토퍼 앨런, 사이먼 채트윈, 캐서린 크리(2003).관계형 데이터베이스 및 SQL 프로그래밍 소개
- ^ Terry Halpin, Tony Morgan(2010).정보 모델링 및 관계형 데이터베이스. 페이지 343
- ^ a b c d e Dodds, Eric. "The History of the Data Engineering and the Megatrends". Rudderstack. Retrieved July 31, 2022.
- ^ a b c Schwarzkopf, Malte (March 7, 2020). "The Remarkable Utility of Dataflow Computing". ACM SIGOPS. Retrieved July 31, 2022.
- ^ "sparkpaper" (PDF). Retrieved July 31, 2022.
- ^ Abadi, Martin; Barham, Paul; Chen, Jianmin; Chen, Zhifeng; Davis, Andy; Dean, Jeffrey; Devin, Matthieu; Ghemawat, Sanjay; Irving, Geoffrey; Isard, Michael; Kudlur, Manjunath; Levenberg, Josh; Monga, Rajat; Moore, Sherry; Murray, Derek G.; Steiner, Benoit; Tucker, Paul; Vasudevan, Vijay; Warden, Pete; Wicke, Martin; Yu, Yuan; Zheng, Xiaoqiang (2016). "TensorFlow: A system for large-scale machine learning". 12th USENIX Symposium on Operating Systems Design and Implementation (OSDI 16). pp. 265–283. Retrieved July 31, 2022.
- ^ McSherry, Frank; Murray, Derek; Isaacs, Rebecca; Isard, Michael (January 5, 2013). "Differential dataflow". Retrieved July 31, 2022.
- ^ "Differential Dataflow". Timely Dataflow. July 30, 2022. Retrieved July 31, 2022.
- ^ "Lecture Notes Database Systems Electrical Engineering and Computer Science MIT OpenCourseWare". ocw.mit.edu. Retrieved July 31, 2022.
- ^ Leavitt, Neal (2010). "Will NoSQL Databases Live Up to Their Promise?" (PDF). IEEE Computer. 43 (2): 12–14. doi:10.1109/MC.2010.58. S2CID 26876882.
- ^ Aslett, Matthew (2011). "How Will The Database Incumbents Respond To NoSQL And NewSQL?" (PDF). 451 Group (published April 4, 2011). Retrieved February 22, 2020.
- ^ Pavlo, Andrew; Aslett, Matthew (2016). "What's Really New with NewSQL?" (PDF). SIGMOD Record. Retrieved February 22, 2020.
- ^ Stonebraker, Michael (June 16, 2011). "NewSQL: An Alternative to NoSQL and Old SQL for New OLTP Apps". Communications of the ACM Blog. Retrieved February 22, 2020.
- ^ Hoff, Todd (September 24, 2012). "Google Spanner's Most Surprising Revelation: NoSQL is Out and NewSQL is In". Retrieved February 22, 2020.
- ^ a b "What is a Data Warehouse?". www.ibm.com. Retrieved July 31, 2022.
- ^ a b "What is a Data Warehouse? Key Concepts Amazon Web Services". Amazon Web Services, Inc. Retrieved July 31, 2022.
- ^ a b c "File storage, block storage, or object storage?". www.redhat.com. Retrieved July 31, 2022.
- ^ "Cloud Object Storage – Amazon S3 – Amazon Web Services". Amazon Web Services, Inc. Retrieved July 31, 2022.
- ^ a b "Home". Apache Airflow. Retrieved July 31, 2022.
- ^ "Introduction to Data Engineering". Coursera. Retrieved July 31, 2022.
- ^ Finkelstein, Clive. What are The Phases of Information Engineering.
- ^ "What is Data Modelling? Overview, Basic Concepts, and Types in Detail". Simplilearn.com. June 15, 2021. Retrieved July 31, 2022.
- ^ Tamir, Mike; Miller, Steven; Gagliardi, Alessandro (December 11, 2015). "The Data Engineer". Rochester, NY. doi:10.2139/ssrn.2762013. S2CID 113342650. SSRN 2762013.
{{cite journal}}
:Cite 저널 요구 사항journal=
(도움말) - ^ "Data Engineer vs. Data Scientist". Springboard Blog. February 7, 2019. Retrieved March 14, 2021.
추가 정보
- 존 하레스(1992)"고급 실무자를 위한 정보 엔지니어링", Wiley.
- 클라이브 핑켈슈타인(1989년).정보공학 입문 : 전략기획에서 정보시스템으로시드니:애디슨 웨슬리.
- 클라이브 핑켈슈타인(1992)"정보 엔지니어링: 전략 시스템 개발"시드니:애디슨 웨슬리.
- 이안 맥도널드(1986년)."정보공학"in: 정보 시스템 설계 방법론.T.W. 올레 외 (에드)노스홀랜드.
- 이안 맥도널드(1988년)."정보 엔지니어링 설비를 통한 정보 엔지니어링 방법론 자동화"입력: 정보 시스템 라이프 사이클에서의 컴퓨터 지원.T.W. 올레 등 (ed.)노스홀랜드.
- 제임스 마틴과 클라이브 핑클스타인(1981년).정보 공학입니다.기술 보고서 (2권), 영국 캔포스, Savant Institute, Lancs.
- 제임스 마틴(1989년).정보공학 (3권), 프렌티스홀 주식회사
- Clive Finkelstein (2006) "통합을 위한 엔터프라이즈 아키텍처: 신속한 제공 방법과 테크놀로지"초판, Artech House, Norwood MA 하드커버.
- Clive Finkelstein (2011) "통합을 위한 엔터프라이즈 아키텍처: 신속한 제공 방법과 기술"PDF판(www.ies.aust.com) 및 Apple iPad에서는 ibook으로, Amazon Kindle에서는 ebook으로 제공됩니다.