[MongoDB] Timezone(타임존) 문제와 해결 (feat.Python)
·
Engineering/Tools
Mongo DB는 Time zone이 UTC로 고정되어 있다. 따라서 Mongo DB에서 데이터를 불러올 때, Date 형식의 변수 값이 다를 수 있다. 필자의 경우, pymongo를 통해 데이터를 입력할 때는 정상적으로 되었으나, 추후 Spark를 통해 데이터를 읽어왔을 때 문제가 생겼다. 🤔 문제필자는 네이버 종목토론방의 정보를 다루는 중이라서 이를 예시로 들겠다. 살펴보면 시간대가 9시간이 차이나는 것을 알 수 있다. 🤔이러면 Date로 필터링할 때, 엄청난 혼선을 겪을 수 있다. 필자가 그랬다... 생각해보면 Pyspark에서 불러올 때 MongoDB의 시간대는 UTC이고, Pycharm 환경의 시간대는 한국(UTC+9)임으로 자동으로 9시간을 더한 것 같다.그래서 이를 해결하기 위해서 ..
[PostgreSQL] Python에서 다중 행을 Insert하는 다양한 방법과 비교
·
Engineering/CS
🤔 Python으로 DB에 데이터를 입력할 때, 다중 행을 입력하는 경우가 많을 것이다. 이를 어떻게 실행해야 가장 빠르게 입력할 수 있을까? 😀 이러한 고민에 3가지 방법을 실행해봤고, 각 방법이 시간이 어떻게 차이나는 지 공유해보고자 한다. 먼저 입력할 데이터와 DB를 연결하자.사용될 데이터는 10만개의 행과 3개의 열을 가진 Integer 데이터를 사용할 것이다. DB는 PostgreSQL로 구축한 DB를 활용할 것이다.import timeimport psycopg2N = 100000data = [(i,i,i) for i in range(N)]print('data length: ', len(data)) #10만개의 행db = psycopg2.connect(host='localhost', dbna..
[DB] 데이터베이스 기초
·
Engineering/CS
데이터베이스란?데이터베이스란 여러 사람들이 공유하고, 사용될 목적으로 통합하여 관리되는 데이터의 집합데이터 베이스를 사용하기 이전에는 파일 시스템을 이용하여 데이터를 관리했다. 이렇게 저장된 파일들을 업무에 사용할려고 하니... 각 데이터가 중복에다가 형태가 다르다는 문제가 발생하게되었다. 이러한 파일 시스템의 단점을 극복하기 위해서 나타난 시스템이 데이터베이스(DB)이다. 데이터베이스의 특징1. 데이터의 독립성하위 단계의 데이터 구조가 변경되더라도 상위 단계에 영향을 미치지 않는 속성 > 3-스키마 구조를 통해 구현파일 시스템의 응용 프로그램과 데이터가 상호 밀접하게 연결되어있다.논리적 독립성: 응용 프로그램에 영향을 주지 않고, DB 논리적 구조를 변경할 수 있는 능력 / 많은 응용 프로그램이 제각각..