본문 바로가기
DB 인사이드 | PostgreSQL HOT - 2. Update 동작 과정 시작하며 앞선 문서를 통해 Page Layout, HOT, Fillfactor, Single-page Vacuuming 등 HOT Update를 이해하기 위해 필요한 개념들에 대해 살펴보았습니다. 본 문서에서는 이러한 개념들을 활용하여 Update가 동작하는 다양한 케이스에 대해 확인해 보도록 하겠습니다. PostgreSQL의 Update PostgreSQL에서 Update는 이전 버전(변경 전)의 Tuple을 유지하는 방법을 통해 다중 버전 관리(MVCC)를 구현합니다. 즉 Update가 발생하면 새로운 버전의 Tuple을 생성한 후 이전 버전은 논리적으로 Delete 처리(Tuple을 유효하지 않은 것으로 표시)하는 것으로 대체합니다. 이러한 MVCC 기반의 Update 동작 방식을 수행 대상에 따른.. 2023. 3. 30.
Chapter 3-4. 앙상블과 랜덤 포레스트 Chapter 3-4. 앙상블과 랜덤 포레스트 이전 회에서 다루었던 과적합 문제를 해결하는 방법 중, 앙상블이 머신러닝에서 많이 사용된다. 이번 회에서는 앙상블의 종류와 앙상블이 어떻게 모델 성능을 향상시키는지 알아보고 랜덤 포레스트에 대해 실습해 볼 것이다. 앙상블이란? 가장 좋은 모델 하나를 사용하는 것보다 여러 모델의 예측을 결합하면 더 좋은 예측 결과를 얻을 수 있다. 앙상블이란 여러 모델을 결합하여 만든 예측기를 뜻한다. 아래 예시로 앙상블을 이해해보자. 위 이미지의 5개 모델은 전부 70%의 정확도를 가진다. 5개 모델을 앙상블로 만들었을 때 성능이 얼마나 향상되는지 알아보자. 5개 모델이 예측 결과를 각각 만들었을 때 최종 결과는 5개 모델의 과반수를 따르는게 타당하다. 나올 수 있는 전체 .. 2023. 3. 30.
Chapter 3-3. 결정 트리 Chapter 3-3. 결정 트리 결정 트리는 트리 구조를 기반으로 데이터에서 규칙을 학습하여 분류(Classification) 문제와 회귀(Regression) 문제, 그리고 다중출력 문제까지도 해결할 수 있는 지도학습 계열의 머신러닝 알고리즘이다. 결정 트리 모델은 나무가 가지를 엮은 것과 같은 구조로 (마치 스무고개 처럼) 복잡한 데이터에서도 빠르게 동작하는 것이 큰 특징이며, 널리 알려진 머신러닝 알고리즘 중 하나인 랜덤 포레스트(Random Forest)의 기본 구성이 되는 모델이다. 결정 트리(Decision Tree) 결정 트리는 특정 기준(질문) 을 따라 데이터를 구분 짓는다. 결정 트리의 가장 첫 번째 기준은 트리에서 최초 깊이인 루트 노드(Root node) 에서 시작한다. Python.. 2023. 2. 22.
DB 인사이드 | PostgreSQL HOT - 1. Page와 관리 시작하며 PostgreSQL HOT Series에서는 HOT(Heap Only Tuple) Update의 동작과정을 이해하며, 궁극적으로 성능 최적화 및 모니터링 방안을 확립하기 위한 내용을 다룰 예정입니다. 이를 위해, 우선 본 문서에서는 다음과 같은 Page 및 관련 개념들에 대한 설명을 진행하겠습니다. 해당 개념들은 모두 유기적으로 연결되어 있으며, Series전반에 걸쳐 자주 언급되므로 정확한 이해를 필요로 합니다. Page Layout HOT Single-page Vacuuming Fillfactor 1. Page Layout 📢 페이지란 디스크 상의 표현으로 블록이라 부르며 0부터 순차적으로 번호가 지정되는데 이 번호를 블록 번호라고 합니다. PostgreSQL의 모든 테이블과 인덱스는 고정 .. 2023. 2. 22.
KNIME | 잘 안 보이니까 시각화 해주세요! 이번 Part에서는 KNIME으로 데이터를 활용하는 방법 중 하나인 데이터 시각화를 알아보고자 해요! 데이터 시각화는 데이터를 그래프, 차트 등과 같이 시각적 요소를 활용해 나타내는 것을 뜻해요. 시각화를 통해 한 눈에 파악하기 어려운 정보를 보다 쉽게 이해할 수 있고, 데이터를 기반으로 실행 가능한 인사이트를 도출할 수 있어요. Part. 1 KNIME이라고 들어봤어요? (링크) Part. 2 데이터 처리는 알겠는데 전처리는 뭐예요? (링크) Part. 3 잘 안 보이니까 시각화 해주세요! Q1. 시각화라면 막대그래프, 선그래프 이런 것을 말하나요?? A1. 네! 맞아요! 질문처럼 아주 간단한 그래프부터 복잡한 그래프까지 아주 다양하게 있어요! 아래의 이미지를 참고해주세요! 최상단의 행부터 각각 Dis.. 2023. 2. 22.
이.빅.스 | 빅데이터는 왜 Hadoop에 저장해야 하는가? 안녕하세요. 두 번째 이.빅.스 입니다. “세계적 커피 브랜드 기업 S사의 위치, 교통 패턴, 지역 인구 통계 등의 데이터를 활용한 최상의 매장 입점 위치 분석”, “전자상거래 및 클라우드 웹 서비스 기업 A사의 사용자의 연령, 검색 기록, 취미 등에 기반한 주문 상품 예측” 4차 산업혁명 시대의 핵심 키워드인 “빅데이터”는 다섯가지의 특징으로 요약될 수 있습니다. 방대한 양(volume), 빠른 증가속도(velocity), 다양한 종류(variety)의 데이터로부터 가치를 추출하고 결과를 분석하는 기술을 뜻하며, 빅데이터를 통한 가치창출이 나날이 중요해짐에 따라 정확성(Veracity)과 가치(Value)도 중요해졌습니다. 위의 사례들이 그 대표적인 예입니다. 기업에서 흔히 말하는 “빅데이터를 도입한다.. 2023. 1. 19.
엑.기.스 | 2023 트렌드, Rabbit Jump 2022년 다들 잘 지내셨나요? 힘들었던 한 해였을까요? 성과로 채워진 한 해였을까요? 이제 2023년(계묘년)이 시작되었습니다. 나우엑셈 구독자 여러분들 모두 새해 복 많이 받으시고 새해에도 껑충껑충 뛰는 토끼처럼 활기차고 활력있는 한 해를 보냈으면 합니다. 한 해가 시작될때마다 일년 동안 어떠한 키워드들이 우리의 삶과 연관되는지, 또한 이러한 키워드들을 통해 현재 살고 있는 우리가 어떠한 인사이트를 제공받을 수 있는가에 대해 관심이 모입니다. 2023년에 주목할 키워드 10개, 'Rabbit Jump'를 소개해 보겠습니다. R: Redistribution of Average | 평균 실종 첫 번째 키워드는 바로 ‘평균 실종’이에요. ‘평균’, 즉 중간치란 개념이 퇴색되고 있다는 뜻이에요. 코로나가 지.. 2023. 1. 19.
DB 인사이드 | PostgreSQL Vacuum - Monitoring : XMIN’s Horizon Vacuum Series를 통한 Vacuum 동작원리에 이어 이번에는 Monitoring 시 주의해야 할 사항에 대해 이야기해 보도록 하겠습니다. PostgreSQL에 익숙하지 않은 사용자의 경우 Vacuum의 중요성만 인지할 뿐, 단순히 Autovacuum을 Enable 시키거나 Job(Cron)을 통한 Manual Vacuum을 수행하는 것으로 필요한 처방을 다 했다고 생각하곤 합니다. 하지만, MVCC 모델에서 파생된 복잡/다양한 메커니즘은 비단 [Auto]vacuum Operation뿐만 아니라 일반적인 Database 운영 과정까지 지대한 영향을 끼칩니다. 본 문서에서는 그중 idle in transaction상태의 Session이 Vacuum Operation과 맞물렸을 때 발생하는 상황에 대.. 2023. 1. 19.
Chapter 3-2. 모델 훈련 Chapter 3-2. 모델 훈련 머신러닝 모델을 블랙박스로 취급하여도 모델을 훈련시키는 것은 가능하다. 하지만 훈련이 이루어지는 원리를 이해한다면 적절한 기법을 선택하여 훈련시간은 단축시키거나 모델의 성능을 높이는 것이 가능하다. 이번 장에서는 Chapter 3. 머신러닝에서 소개한 학습률, 비용 함수 등에 이어서 모델훈련에 필요한 몇 가지 개념을 다룬다. 경사 하강법 이전 장에서 언급한 것과 같이 비용 함수(Cost function)는 입력 데이터에 대한 오차를 계산하는 함수이다. 머신러닝에서는 오차를 줄이기 위해 다양한 최적화 알고리즘이 이용된다. 그 중에서 경사 하강법(Gradient Descent)은 가장 일반적인 최적화 알고리즘이다. 그림과 같이 비용 함수가 주어진 경우 경사 하강법은 파라미터.. 2023. 1. 19.