Big data

배경 빅데이터라는 말을 정말 많이 들어보셨을 겁니다. 이러한 빅데이터에 대한 관리를 어떻게 해야할까요? local에서 간단한 데이터를 바탕으로 진행을 할 때는 해당 데이터를 db에 적재하고 이를 ETL을 통해 insight를 구하면 그만입니다. 그러나 실제에선 해당 db에 정말 많은 log와 데이터들이 적재가 진행되고 해당 DB에 대해 쿼리문을 날리면 이는 많은 트래픽을 유발합니다. 이에따라 원하고자 할때 데이터를 적재적소에 꺼내쓸 수 있는 저장소를 구축하면 어떨까요? 이것이 데이터 파이프라인의 시작입니다. 데이터 파이프라인이란? 데이터 파이프라인이란? 데이터 파이프라인은 다양한 데이터 소스에서 원시 데이터를 수집한 다음 분석을 위해 data lake 또는 data warehouse와 같은 데이터 저장소..
시작하며 먼저 Selenium으로 Web Crawling을 진행하는 과정에 있어 이번 학기 UROP에 감정사전이란 주제를 정하며 리뷰 데이터를 Crawling하여 전처리를 하는 목적이 있어 Selenium 으로 crawling을 진행해봤습니다. 공부하며 배운 내용들을 적어가는 과정이라 부정확할 수도 있다는 점 양해하며 봐주시면 감사하겠습니다. Selenium이란? selenium은 웹사이트 테스트를 위한 도구로 사용되어 브라우저 동작을 자동화할 수 있습니다. 셀레니움을 이용하는 웹크롤링 방식은 프로그래밍으로 브라우저 동작을 제어해서 마치 사람이 이용하는 것 같이 웹페이지를 요청하고 응답을 받아올 수 있습니다. 환경세팅 먼저 Selenium 을 사용하기 위해선 드라이버가 필요합니다. 저는 Chrome을 기..
월마트의 맥주와 기저귀 혹시 그런 글을 본적이 있으신가요? 결혼한 성인 남성이 마트에서 귀저귀를 사면 높은 확률로 맥주를 사게 된다는 말. 미국 대형마트 중 하나인 월마트는 고객들의 소비 패턴을 분석한 후 결과를 보니 맥주와 귀저귀는 서로 연관성도 없고 곂치는 품목도 아닌데두 제품이 같이 많이 팔린다는 것을 발견했습니다. 이처럼 빅데이터 속 데이터들의 연관규칙을 분석을 하는 것이 기업에 큰 이익이 될 경우가 많은데요 대표적인 연관분석 알고리즘인 Apriori Algorithm에 대하여 한번 알아보도록 하겠습니다. Apriori Algorithm이란 무엇인가? Apriori 알고리즘이란 어떤 두 아이템 집합이 자주 발생하는가에 대하여 일련의 규칙들을 생성하는 알고리즘입니다. 컨텐츠를 기반한 항목 추천의 기..
ETL( Extract, Transform, Load) 데이터 엔지니어쪽 자료를 찾아보고 공부를 하다보면 정말 자주 듣는 용어입니다. ETL이 Extract, Transform, Load인 것은 알겠는데 구체적으로 하는 일이 무엇인지 공부하고자 작성하였습니다. ETL은 추출(Extract), 변환(Transform), 로드(Load)를 나타내며 조직에서 여러 시스템의 데이터를 단일 데이터베이스, 데이터 저장소, 데이터 웨어하우스 또는 데이터 레이크에 결합하기 위해 일반적으로 허용되는 방법입니다. 또한 ETL은 일반적으로 임시 보고를 위해 데이터의 임시 하위 집합을 조합하거나, 데이터를 새 데이터베이스로 마이그레이션하거나, 데이터베이스를 새 형식 또는 유형으로 변환하는 데 사용됩니다. 좀 더 쉽게 설명하자..
트랜잭션 (Transaction)이란? 데이터베이스의 상태를 변환시키는 하나의 논리적 기능을 수행하기 위한 작업의 단위 또는 한꺼번에 모두 수행되어야 할 연산을 의미합니다. 사용자가 시스템에 대한 서비스를 요구 할시 시스템이 응답하기 위한 상태 과정 작업 단위입니다. 트랜잭션은 단일 레코드 또는 여러 레코드에 영향을 줄 수 있습니다. ACID 란? 이때 데이터베이스 트랜잭션은 ACID 특성을 가지고 있는데 이는 데이터베이스 내에서 일어나는 트랜잭션의 안전성을 보장하기 위해 있는 성질들입니다. 원자성 (Atomicity) 원자성은 트랜잭션이 성공하거나 실패한다는 사실을 나타냅니다. all or nothing 작업입니다. 여러 단계로 구성되어 있음에도 불구하고 단계는 단일 작업 또는 단위로 처리됩니다. 처리..
초기 배경 머신러닝 , 데이터 분석 등 해당 task 들을 진행하다 보면 train dataset과 test dataset으로 나눠야 할 때가 있습니다. 저 또한 데이터를 나눠야 했을 때 어떻게 진행해야 할지 과정을 몰라 공부하며 배운 내용을 정리하며 습득하기 위해 해당 글을 작성하였습니다. 참고 사이트를 통해 번역하여 해당 과정들을 진행하였습니다. split을 할 data는 AI-Hub 사이트에서 가져왔습니다. https://aihub.or.kr/ AI-Hub AI 허브 데이터 검색 추천검색어 aihub.or.kr split-folder를 사용하기 위해선 반드시 다음과 같은 directory-file 경로로 되어있어야 합니다. 다시 말하자면 input 폴더에 class 폴더가 있어야지 작동합니다. in..
해당 내용은 학부과정 중 배운 내용으로 배웠던 것을 정리하고자 작성하였습니다. Bloom filter 개념 Bloom filter란 원소가 집합에 속하는지 여부를 검사하는데 사용되는 확률적 자료 구조입니다. Bloom filter는 원소의 전체 데이터를 저장하지 않고, Hash 함수를 통해 원소의 특징 값들만 뽑아서 그냥 비트 배열에 반영시킵니다. 따라서 정확도는 떨어지게 되지만 메모리 사이즈를 매우 절약 할 수 있게 됩니다. Bloom filter에 의해 어떤 원소가 집합에 속한다고 판단된 경우 실제로는 원소가 집합에 속하지 않는 false positive가 발생하는 것이 가능하지만, 반대로 원소가 집합에 속하지 않는 것으로 판단되었는데 실제로는 원소가 집합에 속하는 false negative는 절대로..
ERD란? Entity Relationship(ER) Diagram 은 사람, 개체 또는 개념과 같은 "entity"가 시스템 내에서 서로 관련되는 방식을 보여주는 흐름도 방식입니다. Entity Relationship(ER) Diagra은 소프트웨어 엔지니어링, 비즈니스 정보 시스템, 교육 및 연구 분야에서 관계형 데이터베이스를 설계하거나 디버그하는 데 가장 자주 사용됩니다. 아래는 ERD 예시입니다. 약자 설명 PK: primary key 한 entity안에 primary key는 2개이상 존재할수 없습니다. 해당 테이블을 대표하는 key입니다. 각 record마다 unique한 Key를 가지고 있습니다. FK: foreign key 외부 식별자라고 부릅니다 다른 entity의 PK에서 참조됩니다. ..
Shine_sunho
'Big data' 카테고리의 글 목록