MySQL (3) 썸네일형 리스트형 MySQL 데이터를 Psql로 마이그레이션하기 프로젝트 과정에서 데이터를 마이그레이션할 상황이 발생했다. MySQL 기반 데이터를 psql에 적용시켜보자. 먼저, Data Export를 통해 dump.sql 파일이 존재함을 가정한다. 1. NotePad++ 설치 및 데이터 변환 (심플) https://notepad-plus-plus.org/downloads/ Downloads | Notepad++ notepad-plus-plus.org 일단 최신 버전의 NotePad를 다운로드하자. 만일 리눅스 환경이라면 sed -i -e 's/DEFAULT CHARACTER SET [a-z]*\s*//g' dump.sql 을 통해 간편하게 변환할 수도 있다. NotePad를 통해 psql에서 사용할 수 없는 데이터를 전부 변환처리 해야 한다. Ctrl + H를 통.. [Elasticsearch] RDBMS에 비해 왜 빠를까? 역인덱싱에 대해 개요 NoSQL의 경우 일반적으로 RDBMS보다 빠르다고 하는데, 구체적으로 왜 그런지 조사해보았다. RDBMS(관계형 데이터베이스 관리 시스템)와 NoSQL(비관계형 데이터베이스)은 데이터를 저장하고 관리하는 방식에서 근본적인 차이가 있다. 아래와 같은 이유로 차이가 발생한다. 구조적 차이 SQL의 주요 초점은 데이터 중복을 줄이는 것. RDBMS의 경우 테이블 형식으로 데이터를 저장하며, 엄격한 스키마를 따른다. 데이터는 행과 열로 구성되며, SQL(Structured Query Language)을 사용하여 데이터를 조작한다. 이를 통해 데이터의 무결성과 일관성, 트랜잭션 등의 규칙을 엄격하게 지킬 수 있다. NoSQL은 반대로 유연하고 빠른 동적 스키마를 제공한다. NoSQL 데이터베이스는 비관계형.. [ElasticSearch] MySQL Like와의 검색 속도 비교 역인덱싱 엘라스틱서치의 역인덱싱(inverted indexing)은 문서가 포함하고 있는 각 단어의 색인을 만드는 과정을 말한다. 각 단어에 대한 문서의 참조를 역순으로 저장하는데, 이렇게 하면 검색 엔진이 단어를 빠르게 찾고 해당 단어가 포함된 모든 문서를 즉각적으로 확인할 수 있다. 역인덱싱의 시간 복잡도 1. 색인 생성: 각 문서에 대해 단어를 추출하고 색인을 만드는 데 O(N * M)의 시간이 걸린다. 여기서 N은 문서의 수, M은 문서당 평균 단어 수다. 2. 검색 연산: 색인이 생성되고 나면, 특정 단어의 검색은 매우 빠르다. 색인에서 직접 해당 단어에 접근하여 연관된 문서들을 찾을 수 있으므로, 이론적으로 O(1)에 가까운 시간 복잡도를 갖는다. 하지만 실제로는 검색어에 대해 매칭되는 문서들.. 이전 1 다음