DevOps BootCamp/데이터베이스 15

Mariadb

1. 인터넷에서 다운로드한 rpm 파일 설치 CentOS 8 패키지를 dnf로 설치 하면, /lib/systemd/system/ 디렉터리에 서비스이름.service 또는 서비스이름.socket으로 등록된다.  2. windows에서 Linux에 설치된 Mariadb에 접속 -> mairadb가 설치된 Linux에서는 자동으로 mysql을 치면 접속이 된다. 하지만 패스워드로 데이터베이스의 접근을 제한하지 않으면, 보안에 문제가 될 수 있다. 보안을 설정해 보자 -> 이렇게 패스워드를 맞게 입력하면 접속이 되는 것을 알 수 있다. 이제 설정된 아이디로 Window에서 접근을 해보자 -> Mariadb 서버에 접근하려면, Mariadb Client가 필요하다. -> 연결 거부이유:  Mariadb는 이메일 ..

MLOps

머신 러닝(Machine Learning) > 데이터를 이해하는 알고리즘의 과학이자 애플리케이션 머신 러닝의 세 가지 주요 학습 1. 지도학습으로 미래를 예측 2. 강화학습으로 반응형 문제를 해결 3. 비지도 학습으로 숨겨진 구조를 발견 MLOps DevOps : 개발과 운영을 따로 나누지 않고 개발의 생산성과 운영의 안정성을 최적화하기 위한 문화이자 방법론 DevOps를 머신 러닝(Machine Learning) 시스템에 적용한 것 : MLOps 머신 러닝을 도입한 데이터 처리 파이프라인 1. 데이터 분석 - 데이터 분석(EDA, Exploratory Data Analysis) 을 수행, 데이터 스키마 및 특성을 이해 2. 데이터 준비 (추출 및 정제) - 데이터 소스에서 관련 데이터를 추출(extra..

ETL과 ELT

ETL, ELT > 데이터 파이프라인 > 각 알파벳은 추출(Extract), 적재(Load), 변환(Transform)의 약자 추출의 대상 관계형 데이터베이스 (RDBMS) NoSQL 텍스트 파일 (JSON, log, txt 등) SaaS로부터 생성되는 데이터 (Google Ads와 같은 광고 데이터) 데이터 레이크 (비정형 데이터를 포함해 원시 데이터를 저장하는 공간) 적재의 대상 데이터 웨어하우스 ELT와 ETL의 차이점은 순서의 차이 ● ETL(추출→변환→적재), 적재하는 과정에서 변환(Schema-on-Write) ● ELT(추출→적재→변환), 적재하고 나서 분석을 시작할 때 변환(Schema-on-Read) 비정형 데이터를 분석할 경우 ELT 작업, 상대적으로 정형화된 데이터 분석보다는 훨씬 느..

정형 데이터와 비정형 데이터

정형 데이터와 비정형 데이터 정형 데이터 : 정해진 규칙에 따라 구조화된 데이터 > 날짜, 이름, 주소, 신용 카드 숫자 등과 같이 해당 칼럼에 들어갈 값이 예측 가능하고 의미 파악이 쉬운 데이터 > 사용자들이 사용하기 쉽고, 머신러닝 알고리즘이 가공/분석하기에 용이 > 적재한 데이터가 많은 상황에서 구조 그 자체가 바뀌는 경우, 모든 정형 데이터를 업데이트해야 하므로 많은 시간과 자 원이 소모 비정형 데이터 : 문서(JSON, 텍스트)의 형태를 띄거나, 아예 음성이나 영상과 같은 바이너리 형식의 데이터 > 있는 그대로 저장하기에 유용하나, 가공하거나 분석하기에는 어려울 수 있음 > 최근에는 모든 데이터를 있는 그대로 저장하고 고도화된 빅데이터 도구를 이용해 보다 쉽게 가공/분석할 수 있게 만드는 것이 ..

데이터 파이프라인

★ 데이터 파이프라인 > 다양한 데이터 소스로부터 원시 데이터를 수집하여 분석을 위해 데이터 웨어하우스와 같은 별도의 데이터 저장소로 이전하는 과정 데이터 파이프라인을 만드는 이유 > 다양한 경로로부터 수집되는 데이터를 웨어하우스에 적재한 후, 적재한 데이터를 바탕으로 효과적으로 분석하기 용이하게 만들기 위함 > MLOps의 필수 과정 OLTP vs. OLAP - OLTP(Online Transaction Processing) 데이터베이스 : 그 목적이 트랜잭션(기본적인 CRUD 작업)에 포커스가 맞추어져 있는 데이터베이스 - OLAP(Online Analytical Processing) 데이터베이스는 적재된 데이터를 다양한 방법으로 분석하는 데 포커스 > 다양한 데이터소스로부터 수집되는 데이터를 통합 ..

수평 확장된 데이터베이스와 중복 처리 (Advanced)

빅 데이터 처리에서 확장성의 중요성 > 데이터의 양이 기하급수적으로 증가함에 따라 많은 기업의 데이터 베이스가 직면하고 있는 데이터의 홍수로 인해 압도 > 데이터 오버플로를 관리, 저장 및 처리하기 위해 폭발적인 데이터 세트를 처리하는 많은 조직에서 “데이터 스케일링”이라는 기술이 필요 > 수직확장 또는 수평확장을 통해 상당한 양의 데이터를 관리 > 마이크로서비스와 클라우드 환경이 발달이 되고 하드웨어의 종속성이 줄어들면서 우리는 수평확장 기술로 컴퓨터의 클론을 만들어 가용성을 높임 데이터 중복성 > 한 컴퓨터의 클론을 만든다는 것은, 그 안에 존재하는 데이터 역시 복제되어야 함을 의미 > 데이터 중복 메커니즘은 가용성을 얻기 위해 필요 데이터 중복 발생의 원인 > 관리시스템 내의 소프트웨어(코딩) 품질..

스트림 처리

★ 데이터 배치작업 > 데이터 배치작업을 데이터 일괄처리작업이라고 칭하기도 함 > 최소한의 인간 상호 작용으로 실행할 수 있으며, 자주 사용되는 프로그램을 위한 것 ● 배치의 특징 대량의 데이터 처리 특정 시간에 프로그램 실행 일괄적으로 처리 ● 배치 작업의 단점 > 앞선 프로그램의 실행이 다 끝나야지만 뒤에 등록된 데이터가 실행 ※ 성능저하의 핵심은 CPU나 메모리의 부하가 아닌 비효율적인 I/O(Input, Output) 때문 ※ 대량의 배치작업을 한꺼번에 진행하게 되면 특정시간대에 I/O가 몰리게 되어 서버에 갑작스러운 부하가 일어나 성능이 저하 > DB의 성능 개선을 위해서는 DB를 효율적으로 처리하는 것이 중요 ★ DB를 효율적으로 처리하는 방법 > 시간을 초단위, 밀리초 단위로 해서 데이터를 ..

캐싱

동일 데이터의 잦은 조회에 따른 문제를 해결하기 위한 방법 ★ 캐시 > 임시로 복제된 데이터를 저장하는 장소 > 사용자가 더 효율적이고 빠르게 원하는 데이터에 접근할 수 있도록 하기 위해 설정 > 원본 데이터베이스가 제공할 수 있는 것보다 짧은 대기 시간을 제공 > 웹 애플리케이션의 성능을 향상시킬 수 있으며, 데이터베이스의 비용을 절감 캐시 장점 > 성능향상 > 기본적으로 속도 보다는 데이터의 저장과 안정성에 초점을 맞추게 됨 > 저장의 기능보다는 정보를 제공하는 처리 속도에 더 집중 > 비용감소 > 원본 데이터베이스에 대한 쿼리 수를 줄이고, 데이터베이스 자체를 스케일링할 필요성을 낮추면, 성능 향상과 더불어 비용을 절감하는 효과 ★ 캐시 타입 > Cache-aside : 웹 애플리케이션에서는 읽기 ..

캐싱

동일 데이터의 잦은 조회에 따른 문제를 해결하기 위한 방법 ★ 캐시 > 임시로 복제된 데이터를 저장하는 장소 > 사용자가 더 효율적이고 빠르게 원하는 데이터에 접근할 수 있도록 하기 위해 설정 > 원본 데이터베이스가 제공할 수 있는 것보다 짧은 대기 시간을 제공 > 웹 애플리케이션의 성능을 향상시킬 수 있으며, 데이터베이스의 비용을 절감 캐시 장점 > 성능향상 > 기본적으로 속도 보다는 데이터의 저장과 안정성에 초점을 맞추게 됨 > 저장의 기능보다는 정보를 제공하는 처리 속도에 더 집중 > 비용감소 > 원본 데이터베이스에 대한 쿼리 수를 줄이고, 데이터베이스 자체를 스케일링할 필요성을 낮추면, 성능 향상과 더불어 비용을 절감하는 효과 ★ 캐시 타입 > Cache-aside : 웹 애플리케이션에서는 읽기 ..

파티셔닝

대용량 데이터 처리에 따른 문제를 해결하기 위한 방법 데이터셋이 매우 크거나, 쿼리 처리량이 매우 높은 경우에는 단순히 복제하는 것만으로는 부족 > 큰 데이터베이스를 파티션이라는 작은 단위로 쪼개서 활용하는 방법이 제시 > 샤딩(shardIng)이라고도 표현 파티셔닝의 목적 > 확장성 > 확장되면서 점점 대용량의 데이터베이스가 되고, 그러한 환경에 맞게 프로세스를 처리할 필요성이 생김 > 파티셔닝 but > 데이터를 분산시켰음에도 불구하고, 특정 패턴을 가진 요청에 의해서 한 곳으로 요청이 쏠리는 현상(skewed)이 발생 > 파티셔닝의 효과가 떨어지게 되고, 극단적인 경우 모든 부하가 한 파티션에 몰려 4개 중 3개 노드가 사용되지 않는 것과 같은 효과 > 불균형하게 부하가 높아진 파티션을 핫스팟 > ..