Tag Archives: Big Data

빅데이터 처리 후기 (검색엔진 처리)

HYEONG HWAN, MUN/ 8월 26, 2019/ 미분류/ 0 comments

빅데이터 처리 후기를 써본다. 진행 중인 사항이기 때문에 후기보다는 경과보고가 맞는것 같다. 이 글은 검색엔진 최적화(SEO)와 관계가 없다.   1. DB 설계를 최적화 해야할 것 (쿼리의 최적화) 이게 무슨 뜻이냐면, 쿼리를 아주 단순하게 날릴 수 있어야 한다는 것이다. SELECT, FROM, JOIN ON  막 이렇게 복잡하게 날리면 복잡도가 늘어난다. DB를 처음배울때 중복을 제거하는 정규화라는 것을 배우는데, 이 정규화를 깨버리면 성능이 올라간다. 물론 중첩에 대해서는 관리를 잘 해주어야한다. 쿼리는 되도록 PK 가 포함되도록 요청하는게 좋고, 조금만 복잡해 질것 같으면 SQL 에서 조건 제외하고, 실행 결과를 받아서 프로그램단에서 처리해야 한다.     2. 페이징 최적화를 해야할 것 전체 document 의 개수가 10만건이 넘었을 때, 2만 이상의 index 를 실행하면 응답이 매우 느린 것을 알 수 있다. 즉 페이지당 글이 15개이고, 1001 페이지를 불러올…

대용량 검색 처리를 위한 inverted index (역색인) 설명

HYEONG HWAN, MUN/ 1월 11, 2016/ 미분류/ 20 comments

#최종 수정 : 2017-03-22 – 내용과 예제를 보강하였습니다. 이 개념은 ElasticSearch 나 Apache Solr 를 다루기 위해 필수적으로 알아야 할 개념입니다. 라엘이의 한마디 : 역방향 인덱스(inverted index)는 원래 대용량 텍스트 검색을 위해서 고안된 방법입니다. 요즘의 SNS에서 주로 사용되는 #태그 검색 기능을 당신의 시스템에 넣고 싶다면 반드시 역방향 인덱스 방법을 사용해야 할 것입니다. (물론 본문을 Full-scan 해서 LIKE 검색을 해도 되지만 매우 비효율적인 방법입니다.) 나름 쉽게 설명한다고 적었는데, 비전공자에게는 어려울 수도 있다. – 빅데이터 먼저 “빅데이터“란 무엇일까? http://en.wikipedia.org/wiki/Big_data 위키피디아에서는 “매우 양이 많고 복잡해서 기존에 사용하던 분석방식으로는 처리하기 힘든 데이터들(Data-Set)” 이라고 정의되어 있다. 과거에 비해서 인터넷이 비약적인 성장을 하였고, 언제 어디서나 인터넷에 접속할 수 있는 “유비쿼터스”의 시대 도래로 인해 우리는 항상 인터넷에 연결되어 있다.그러다 보면 많은 종류, 많은 수의 document 를 생성하게 된다.“빅…