본문 바로가기

반응형

(20)
Part 1. 데이터 엔지니어링 기반 구축하기 (1) 1. 1 데이터 엔지니어링 이란? 데이터 엔지니어링이라는 용어에 수많은 정의가 존재한다 데이터 엔지니어링은 회사의 조직 내의 다른 전문가가 데이터를 사용할 수 있도록 만드는 일련의 작업이다. 대규모의 데이터를 수집 및 저장하면서 추가 분석을 수행할 수 있는 데이터를 준비하기 위한 시스템을 설계하고 구축하려면 데이터엔지니어와 같은 전담 전문가가 필요하다 간단하게 말해서 조직의 데이터 인프라를 구축하고 운영해 분석가와 과학자가 추가 분석을 수행할 수 있도록 준비하는 것 데이터 엔지니어링 의 유형 1. 첫 번째 유형은 SQL 중심이다 데이터의 작업 및 기본 저장소는 관계형 데이터 베이스에 있음 2. 빅데이터 중심 데이터 작업 및 기본 스토리지는 하둡 카산드라 HBase 와 같은 빅데이터 기술에 기반함 2.1 ..
chapter 1. 빅데이터의 기초 지식 1-1 빅데이터의 정착 '분산 시스템의 발전'과 '클라우드의 서비스의 보급'에 따라 대량의 데이터를 효율적으로 처리하는 일이 어렵게 되면서 분산처리가 발달되었다.. 분산 시스템에 의한 데이터 처리의 고속화 - 빅데이터의 취급하기 어려운 점을 극복한 두 가지 대표 기술 일단 현대에 들어오면서 대량의 데이터를 작은 회사에서도 다룰 수 있는 기회가 많아지고 그 데이터 안에 새로운 가치를 창출하거나 의사 결정을 위해 이용하는 일이 보편화되었다고 말할 수 있다. 가장 대표적으로 클라우드 가 발전함에 따라 회사에 규모에 의해 좌우되었던 infrastructure 가 극복 되면서 누구라도 대용량 데이터를 다룰 수 있는 기회가 주어졌음 물론 돈만 있다면 ㅎ 빅데이터를 취급하기 어려운 이유는 2가지라고 볼 수 있다 데이..
신뢰할 수 있고 확장이 가능하며 유지보수하기 쉬운 어플리케이션 (2) 신뢰성 누구나 어떤 것을 신뢰하거나 신뢰하지 않는다는 의미가 무엇인지 직관적인 개념을 가지고 있다 application은 사용자가 기대한 기능을 수행한다 시스템은 사용자가 범한 실수나 예성치 못한 소프트웨어 사용법을 허용할 수 있다 시스템 성능은 예상된 부하와 데이터 양에서 필수적인 사용 사례를 충분히 만족한다 시스템은 허가되지 않는 접근과 오남용을 방지한다 이 모든 것이 "올바르게 동작함" 을 의미하는 경우 무언가 잘못되더라도 지속적으로 올바르게 동작함을 신뢰성의 의미로 이해할 수 있다 잘못될 수 있는 일을 결함(fault) 이라 부른다 그리고 결함을 예측하고 대처할 수 있는 시스템을 내결함성(fault-tolerant) 또는 탄력성(resilent)라고 한다 여기서 내결함성이라는 용어를 살펴보고 가야..
신뢰할 수 있고 확장이 가능하며 유지보수하기 쉬운 어플리케이션 (1) 오늘날 애플리케이션은 계산 중심이 아닌 데이터 중심이다 애플리케이션의 성능은 computing power 가 아닌 데이터의 양, 복잡도 변화 속도, 신선도이다. 일반적으로 데이터 중심 애플리케이션이 공통으로 필요한 기능은 다음과 같다. 데이터를 저장, 수집, 찾을 수 있게 해주는 [데이터베이스] 읽기 속도가 빠르지만 그만큼 자원이 많이 드는 [캐시] 사용자가 키워드로 데이터를 검색하거나 다양한 방법으로 필터링할 수 있게 제공[검색 색인] 비동기 처리를 위해 다른 프로세스로 메시지 보내기 [스트림(실시간 처리)] 주기적으로 대량의 누적된 데이터를 분석 [배치(일괄 처리)] 이러한 기능을 개발자들이 생각없이 적재적소를 빠르게 할 수 있는 이유는 뭔가? 시스템 추상화가 잘되어 있어서 그렇다.. 우리가 뭘 만들..

반응형