본문 바로가기

분류 전체보기277

MySQL 파티션으로 서버 부하를 줄이고, 쿼리 속도 높이기! 『 '데이널'의 컨텐츠에 포함된 정보는? 』 데이터베이스 테이블이 너무 커져서 쿼리 속도가 거북이처럼 느려진 경험 있으신가요? 실제로 MySQL의 한 테이블의 크기가 10GB를 넘어가면 쿼리 속도가 평균 40% 이상 느려진다고 하는데요. 이 글은 제가 그동안 경험을 바탕으로 MySQL의 데이터베이스 성능 개선의 비법, MySQL 파티셔닝에 대해 모두 이야기해 보려고 합니다.  MySQL 파티션 개념 소개 및 필요성 파티션이란 큰 테이블을 작은 물리적 조각으로 나누는 방법입니다. 이렇게 나누어 관리 할 때 아래 4가지 장점이 있기 때문입니다.  쿼리 성능 향상 (평균 30-50% 속도 개선) 데이터 관리 용이성백업과 복구 시간 단축대용량 데이터 처리 효율성MySQL의 파티션은 Oracle의 파티션 기능에 .. 2024. 10. 30.
Datadog으로 AWS MySQL 성능 저하의 원인을 찾아내는 방법 『 '데이널'의 컨텐츠에 포함된 정보는? 』 AWS의 rds를 사용할 경우 갑자기 데이터베이스가 느려졌는데 원인을 모르는 경우가 있습니다. 여러분도 이런 고민들을 해보신 적 있나요? 저도 처음 AWS RDS를 운영할 때 비슷한 어려움을 겪었답니다.  오늘은 Datadog을 활용해서 MySQL 성능 저하의 원인을 쉽게 찾아내는 방법을 알아 보도록 하겠습니다. Datadog으로 데이터베이스의 상태를 정확하게 파악할 수 있습니다.  왜 Datadog으로 AWS MySQL을 모니터링해야 할까요?CloudWatch도 좋은 모니터링 도구지만, Datadog은 더 많은 것을 보여줄 수 있는데요. 예를 들어, 게임의 미니맵만 보는 것과 전체 맵을 보는 것의 차이라고 할까요.  Datadog의 장점은 실시간 분석이 가능.. 2024. 10. 24.
MySQL INTO OUTFILE 활용한 백업 방법 『 '데이널'의 컨텐츠에 포함된 정보는? 』 MySQL에서 데이터를 백업하려면 몇가지 방법이 있습니다. 그 중 하나가 INTO OUTFILE을 이용한 백업 방법입니다. 데이터베이스 백업이라고 하면 어렵게 들릴 수 있지만, 걱정하지 않아도 될 것이 sql만 실행하면 됩니다.   MySQL INTO OUTFILE 이란?INTO OUTFILE은 MySQL에서 데이터를 파일로 내보내는 방법 중 하나입니다. 마치 여러분이 select문을 작성해서 그 내용을 바로 파일로 저장하는 방식입니다. 약간 오라클의 spool과 느낌이 비슷하죠? SELECT name, start_date INTO OUTFILE '/tmp/my_data.txt'FROM emp; 이 명령을 실행하면, emp 테이블의 원하는 컬럼의 데이터를 'm.. 2024. 10. 22.
AI 시대, AI를 모르면 도태된다! AI 학습의 중요성 『 '데이널'의 컨텐츠에 포함된 정보는? 』 여러분은 가족에게 딱 두가지 조언을 할 수 있다면 어떤 말을 해주고 싶나요? 개인적으로 첫 번째는 책을 읽으라고 말해주고 싶습니다. 그리고 다음은 AI를 공부하라는 말을 하고 싶네요. ‘AI 그게 뭐 공부할게 있나?’ 하고 생각하는 사람들도 있겠죠. 하지만 가장 급변하고 있는 분야가 바로 인공지능입니다. 인터넷의 등장, 이제는 AI 등장인터넷이 등장하기 전과 후는 많은 것이 달라졌습니다. 처음에는 많은 사람들이 인터넷이 뭔지, 어떻게 쓰는 건지 잘 몰랐죠. 그리고 그 속에 많은 기회가 있었습니다. AI(인공지능)도 지금이 바로 그 단계입니다. 지금은 AI를 대수롭지 않게 여기는 사람들도 많지만, 앞으로 몇 년 뒤에는 AI 없는 생활을 상상하기 어려울 겁니다. .. 2024. 10. 21.
파이썬으로 분석한 알고리즘 시스템 적용 가이드 『 '데이널'의 컨텐츠에 포함된 정보는? 』여러분은 분석 프로젝트 결과물이 어떤 형태인지 아시나요? 데이터 분석을 하면 알고리즘을 시각화하거나, 모델 평가 결과를 보고서로 제출하고 끝나는 프로젝트도 있습니다. 이 방식은 인사이트만 제공하고, 실제 구축은 다른 팀이나 조직해서 진행하는 경우입니다. 이 글에서는 Python으로 알고리즘을 개발하고, 모델을 만들고, 그 모델을 주기적으로 실행하게 시스템에 적용하는 것까지 알아보도록 하겠습니다. 분석 알고리즘 개발여러분은 아마 주피터노트북으로 개발하시는 것이 편할텐데요. 거기에는 eda한 내용까지 포함돼 있어서, 데이터분석 후에는 실행 파일을 만들어줘야 합니다. 가장 먼저 할 일은 필요한 라이브러리를 가져올 거예요. 예를 들어, 자주 쓰이는 NumPy나 Pa.. 2024. 10. 17.
캐글 포트폴리오 만들기: 등급과 메달로 증명하는 나의 실력 『 '데이널'의 컨텐츠에 포함된 정보는? 』 캐글은 데이터 분석의 실무를 경험하고 싶은 사람에게 추천하곤 합니다. Kaggle(이하 캐글)에서는 전 세계의 데이터 분석가들이 모여 문제를 해결하기 위해 경쟁을 합니다. 그 과정 속에서 서로의 아이디어를 공유하며 성장해 나가죠. 그런데 어떻게 시작해야 할지, 어떻게 하면 잘할 수 있을지 고민되시죠? 지금부터 캐글의 시스템부터 시작해서 어떻게 하면 캐글 마스터가 될 수 있는지, 그리고 실제 대회에서 살아남는 방법까지 함께 알아보시죠. 캐글 등급 및 메달 완벽 정복 게임에서 레벨업을 해 본 적 있으시죠? 캐글은 여러분의 활동과 성과에 따라 등급과 메달을 부여합니다. 등급은 총 4가지인데요. 여러분이 처음 가입하면 Novice 등급입니다. 그리고 Contribut.. 2024. 10. 11.
데이터 스케일링(Scaling), 왜 해야 할까요? 머신러닝 모델 성능의 비밀 이전 글에서 '머신러닝에서 input 데이터로 숫자 형태를 넣어야 한다'는 "변수 속성 통일"에 대해 다뤘습니다. 속성을 숫자 형태(type)으로 통일해야 한다는 개념이었죠.  이번에는 알고리즘이 예측에 편향이 생기지 않기 위해 스케일링을 해야 합니다. 이 작업은 입력되는 숫자값의 범위 및 분포를 다른 변수들과 일치시켜주는 작업입니다.  스케일링을 하는 이유그렇다면 왜 스케일링을 하는 걸까요? 이유는 입력되는 변수에 대해 기계는 어떤 의미인지를 알 수 없다는 것입니다. 예를 들어, 100이라는 값이 들어왔다면 100점 만점의 100이면 높은 것이고, 500점 만점의 100이면 낮인 것인지 우리는 알지만 기계는 모릅니다.  그래서 서로 크기의 편차가 크게되면 상대적으로 큰 변수의 영향을 더 받아 잘못된 예.. 2024. 10. 10.
ChatGPT vs Perplexity vs Claude, 누가 진짜 똑똑할까? 『 '데이널'의 컨텐츠에 포함된 정보는? 』여러분은 대화형 AI의 빅 3을 아시나요? ChatGPT가 모두 평정했는지 알았는데, Perplexity, Claude가 요즘 인기를 끌고 있는데요. 이 3개 언어 모델은 각자의 특별한 차별점을 가지고 있습니다. 그럼 바로 알아볼까요.   ChatGPT가 가장 유명하기 때문에 증가세가 가파릅니다. 하지만 성능상으로 다른 대화형 AI도 먼저 사용해본 사람들에게 좋은 평가를 받고 있습니다. 역전될지 여부는 아무도 모릅니다.  Perplexity의 특징Perplexity는 인터넷을 자유자재로 검색하는 측면에 특화되어 있습니다. 실시간으로 인터넷을 검색하고 최신 정보를 제공하는 능력이 있죠. 아마도 네이버가 만들고 있었던 Cue가 이런 모습이 아니었을까 생각될 정도더군.. 2024. 10. 8.
데이터 전처리 첫걸음, 변수 속성 불일치 해결법 『 '데이널'의 컨텐츠에 포함된 정보는? 』 변수 속성을 통일해야 하는 이유를 아시나요? 데이터 전처리에서 변수 명명규칙과 정제를 끝냈다면 다음은 변수 속성을 통일해야 합니다. 이유는 사람이 아니라 머신(기계)이 계산을 해야 하기 때문이죠. 그래서  '머신 러닝'이라 합니다. 머신 러닝은 입력값 x가 주어졌을 때, 출력값 y를 내보냅니다. 즉, Input이 들어가 알고리즘에 의해 output이 출력되는 형태입니다. 여기서 중요한 점은 머신 러닝 알고리즘은 숫자만 인지하기 때문에 변수 속성을 기계가 인지할 수 있는 형태로 통일해 주어야 합니다.(아래 그림 참조)  이 개념은 머신 러닝을 프로그램을 만들어 본 사람은 당연하다고 말할 수도 있는데요. 교육을 하다 보면 처음 데이터 분석을 배우는 교육생 중 가장.. 2024. 10. 7.