본문 바로가기
이.빅.스 | 기하급수적으로 수집되는 많은 양의 데이터는 어떻게 처리해야 할까? 안녕하세요. 네 번째 이.빅.스 입니다. HDFS, Amazon S3, Google Cloud Storage 등 다양한 스토리지가 발전하면서 정형 데이터는 물론 비정형 데이터까지 대량으로 수용할 수 있게 되었고, 많은 기업들이 이런 스토리지들을 활용하여 방대한 양의 데이터를 수집하고 데이터 레이크를 만들고 있습니다. 이번 달에는 이러한 대용량 데이터 레이크를 쿼리할 수 있는 쿼리 엔진인 Trino를 소개합니다. Trino는 하나 이상의 다양한 데이터 소스에 분산된 대규모 데이터 세트를 효율적으로 쿼리하도록 설계된 오픈 소스의 분산 SQL 쿼리 엔진입니다. Hive나 Pig처럼 MapReduce 작업의 파이프라인을 사용해 HDFS를 쿼리하는 도구의 대안으로 설계되었으나, 점차 확장되어 관계형 데이터베이스나.. 2023. 5. 25.
Chapter 3-5. 서포트 벡터 머신 (Support Vector Machine) Chapter 3-5. 서포트 벡터 머신 (Support Vector Machine) 서포트 벡터 머신은 선형/비선형 분류, 회귀, 이상치 탐색 등에 사용할 수 있는 다목적 머신러닝 모델이다. 분류 문제에 많이 쓰이며, 중간 크기의 데이터셋에 적합한 모델이다. 지금부터 서포트 벡터 머신의 이론에 대해 알아보고 실습을 통해 분류 및 회귀에서 어떻게 사용하는지 알아보자. SVM의 아이디어와 자세한 수식 및 원리에 대해 분류 모델을 중심으로 먼저 알아보고, 회귀 모델의 원리에 대해 공부해보자. SVM의 기본 개념은 그림 1 와 같이 두 샘플 사이에 선을 그어, 그 선의 폭이 최대가 되도록 하여 두 샘플을 구분한다. 조금 더 자세히 설명하자면, 샘플이 특성을 정의하는 n 개의 변수들로 표현된다고 할 때, 샘플들.. 2023. 4. 27.
DB 인사이드 | PostgreSQL Replication - 종류 Replication은 Data 저장과 백업하는 방법과 관련이 있는 Data를 호스트 컴퓨터에서 다른 컴퓨터로 복사하는 것을 말한다. Replication은 RDBMS에서 추가적으로 제공하거나 여러 대의 Database Server의 부하를 맞추어 줄 용도로 제공한다. Database Replication에서 사용되는 것은 대부분 Database 관리 영역인데 보통 Master/Slave 관계를 갖는 원본과 복사본 사이를 다룬다. — 위키백과 (Replication) Database Replication Database를 Replication(복제)하는 이유는 크게 Database의 부하분산(Load Balancing), 고가용성(High Availability), 백업등으로 나눌 수 있습니다. Main.. 2023. 4. 27.
출시 임박! 데이터세이커(DataSaker) 데이터세이커(DataSaker)는 자사 최초의 SaaS 서비스로, 약 1년여의 개발 기간을 거치고 출시를 앞두고 있다. SaaS 서비스는 고객이 원하는 제품을 일방향으로 단 시간에 만들어 내기란 어렵다. 오랜 시간을 두고 고객과 호흡하며 다수의 고객이 원하는 방향으로 발전시켜야 하는 것이다. 그렇기에 제품의 방향성을 놓고 많은 사람들과 토의를 거치며 개발을 진행해왔다. 자사 최초의 SaaS 서비스인 데이터세이커는 클라우드 시대 IT 시스템을 운영하기 위해 필요한 다양한 도구의 상태를 모니터링하고 분석하기 위한 기반을 제공하는 것을 목표로 한다. 데이터세이커는 단일 제품, 단일 도구에 국한하지 않고 고객의 Observability(가관측성)를 향상시킬 수 있는 플랫폼을 제공한다. Observability(.. 2023. 4. 27.
KNIME | KNIME을 활용한 이미지 분석 이번 Part에서는 KNIME으로 이미지 분석을 하는 방법에 대해 알아보고자 해요! Part. 1 KNIME이라고 들어봤어요? (링크) Part. 2 데이터 처리는 알겠는데 전처리는 뭐예요? (링크) Part. 3 잘 안 보이니까 시각화 해주세요! (링크) Part. 4 KNIME을 활용한 이미지 분석 Q1. 이미지 분석이란 무엇인가요? A1. 컴퓨터에서 이미지란 화면을 구성하는 가장 기본 단위인 픽셀의 집합이라고 생각하시면 될 것 같아요! 즉, 디지털 데이터로 표현이 가능한 카메라로 찍은 사진, 동영상, 일러스트레이션 등이 있어요. 이미지 분석에는 여러 개의 분야들이 있는데, 이미지 내의 물건이나 사람과 같이 개체를 탐지할 수 있고, 특정 기준으로 이미지를 분류할 수도 있어요. 개체 탐지 이미지 분류 .. 2023. 4. 27.
이.빅.스 | 실시간 데이터는 어떻게 활용할 수 있을까? 안녕하세요. 세 번째 이.빅.스 입니다. 이번 달은 실시간 데이터 활용에 대해서 알아볼게요. 실시간 데이터는 수집되는 즉시 사용할 수 있는 데이터로, 주로 우리에게 친숙한 환경에서 발생합니다. 스마트폰을 이용한 음악 듣기, SNS 게시물 공유, 그리고 Netflix, Youtube 등 영상 스트리밍 서비스를 이용한 시청 방식 또한 실시간 데이터를 활용한 대표적인 예라고 볼 수 있습니다. 이처럼 스트리밍이 가능하게 된 계기는, 네트워크 속도가 빨라지고 이 네트워크 성능을 받쳐 줄 하드웨어가 발전해 왔기 때문이겠죠? 그렇다면 실시간 데이터는 어떻게 만들어지고 관리되는 걸까요. 실시간 데이터는 인터넷 검색, 센서, 소셜 미디어, 모바일 기기 등 여러 소스를 통해 생성되고, 저장하는 방법 또한 다양합니다. 예를.. 2023. 3. 30.
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.