db 3

주식 프로젝트 influx DB 도입 ADR 과정

이번에 진행하고 있는 모의 주식 투자 프로젝트에서 influx DB 도입을 결정했다.모의 주식 투자인 만큼 실시간 주식 가격을 받아와야했고, 과거의 주식 가격을 그래프로 보여줘야했다.이러한 방식의 데이터 저장을 하기 위해서는 초 단위로 변화하는 주식의 가격을 모두 저장해야했고, 이렇게 하면수십 수백가지가 되는 주식 수만큼의 쿼리가 초단위로 RDB에 날라가게 된다. 그럼 주식의 가짓수가 300가지라고 했을 때, 1분동안 서비스가 실행된다면 300 * 60 으로 총 18,000개의 쿼리가 발생한다.이는 매우 비효율적일 것이라고 생각되었다. 그래서 어떻게 하면 시간을 기준으로 변화하는 데이터를 효율적으로 저장할 수 있을지 고민을 하며, 방법을 찾던중Influx DB라는 시계열 DB를 발견했다. Influx D..

백엔드 멘토링 2024.10.30

주식 투자 프로젝트 실시간 Real time DB 적용기

해당 글은 모의 주식 투자 프로젝트에서 real time DB (실시간 DB)를 적용하는 과정을 회고하는 글이다.주로 어떤 고민을 했고, real time을 선택하게 된 과정을 적어놓은 글이니 가볍게 읽을 수 있는 포스팅이라 생각한다.  최근 진행한 프로젝트는 모의 주식 투자 시뮬레이션 프로젝트다.해당 프로젝트의 특성상 실제 주식 가격을 실시간으로 받아와야만 했다.내가 선택한 방법은 KIS, 한국투자증권에서 제공하는 실시간 주식 체결가 API를 통해 KIS에서 제공하는 web socket으로 데이터를 받아오는 방식이었다.  따라서 초기에 실시간으로 변경되는 주식의 가격을 저장하기 위해 위와 같은 플로우로 계획했었다.이러한 방식에서 만약 사용자가 현재 실시간으로 전체 주식들의 가격을 보고자 한다면, 나는 ..

백엔드 멘토링 2024.09.06

2023-08-29 DB 관련 질문 정리

- RDBMS는 무엇일까? = RDBMS는 관계형 데이터 베이스를 관리하는 소프트웨어를 뜻하며, 모든 데이터를 2차원 테이블로 표현한다. - 장, 단점은 무엇인가? 장점 데이터의 일관성과 무결성은 유지할 수 있다. SQL을 통하여 데이터를 조작 및 조회가 가능하다 테이블 간의 관계를 통하여 복잡한 데이터 모델의 구축이 가능하다. 보안 및 복구와 백업을 지원한다 단점 대규모의 DB를 설계하고 관리 할 경우 높은 복잡성을 요구할 수 있고, 모델링이 잘못 구성될 경우 성능 및 유지보수에 문제가 발생한다 테이블 간의 조인등 복잡한 쿼리를 실행시 성능 이슈가 발생할 수 있다. 상용 RDBMS를 사용함에 있어 비용이 부담될 수 있다. - NoSQL이란? = Not Only SQL의 약어로 비관계형 데이터베이스이다...

백엔드 멘토링 2023.08.30