Skip to content

프로젝트 개요

Znero edited this page Nov 28, 2024 · 5 revisions

Q-LAB : 라이브 SQL 실행 플렛폼

빠르고 편하게 DB 환경에 접근할 수 있게 도와주는 서비스

Android Expanded - 1


문제의식

Query를 연습하고 싶은데, DB 환경세팅이 너무 어렵고 많은 시간이 소요된다. (docker를 사용하거나, db 서버의 설치 필요)

  • 조건에 맞는 300만건의 데이터는 어떻게 생성하지?
    • 복잡한 프로시저 작성..
    • js코드 구현하여 작업..
  • 나는 쿼리만 실행하고 싶은데 복잡한 DB 환경세팅에 너무 많은 시간이 소요되었다.
  • 이전에 실행한 쿼리들의 시간을 비교하는게 어려웠다.

사용자 시나리오

  • 사용자 : DB 환경에 빠르게 접근하고 싶은 사람 (예상 사용층 : 학생)
  • 시나리오 : 호눅스님이 300만건의 유저데이터를 넣어 검색 쿼리의 성능을 비교해보라고 하셨다.


기능

메인 기능

  • DB 환경제공 : 클라우드 상에서 사용자에게 DB 환경을 제공하고 관리한다.
  • 쿼리 실행 : 쉘 단위로 쿼리를 작성하고 실행해서 결과를 출력할 수 있다.
  • 쿼리 결과 : 쿼리 작성 결과를 보여준다.
  • Table 보기 : 현재 테이블 정보를 보여준다.
main

서브 기능 (도구)

  • Table 추가 : 테이블을 GUI를 통해 만들고 추가할 수 있음
  • Table 수정 : 테이블을 GUI를 통해 수정할 수 있음
table tool table tool(add table)

  • Data 추가 : 조건에 따른 대량의 레코드 데이터 추가
data tool data tool (success)

  • 예시 쿼리 추가 : 예시 쿼리를 확인하고, 선택해서 쉘에 추가할 수 있음
example query

부가기능

  • 로그인: 사용자가 로그인을 할 수 있다.
  • 실행결과 저장 : 이전 실행 결과들을 계속 볼 수 있다.
  • 링크 공유 : 해당 데이터베이스 링크를 통해 다른 유저에게 공유할 수 있다.
  • 데이터베이스 선택: 사용자가 여러 데이터베이스를 관리할 수 있다.
  • csv파일 추가: csv 파일을 추가해 레코드를 추가할 수 있다.
  • 쿼리 플랜 시각화: 쿼리 플랜(explain) 시각화가 가능하다. (data grip)
  • 외부 DB 구조 import: 외부 DB 구조 import 기능
  • 쿼리 성능 개선 제안: AI를 활용한 쿼리 성능 개선 방안을 제시한다. (6주 이후 추가 예정)

프로젝트 핵심 경험

  • FE : 경험 개선
    • 불편한 경험을 개선하기
    • 상태관리 최적화, 비즈니스 로직을 훅으로 분리
    • 코드 스플리팅, 브라우저 캐싱을 통한 최적화로 초기 로딩시간 줄이기
  • BE : DB 딥다이브, DB 서버 통신 비용 최적화, 가상화 및 인스턴스 관리
    • 데이터로 보여줄수있는 최적화 경험
    • 다양한 클라우드 인프라 활용
    • 서버의 성능 개선

레퍼런스 모음

Clone this wiki locally