Day30
[TIL]
오늘은 데이터베이스
를 통해 고객 데이터가 실제 데이터 베이스에 수집, 가공, 구축되는지 그 절차를 알아봤다. 또한 관계형데이터베이스와 그를 다루는 언어인 SQL을 통해 데이터베이스의 개괄적인 정보를 공부했다.
이전 주차에서 PM은 핵심 지표를 통해 제품을 개선하고 기획해야한다는 점을 몸소 배웠다.
그렇다면 그 지표는 어디서 얻을 수 있을까? 바로 데이터에서 얻을 수 있다.
IT프로덕트는 데이터베이스에 모든 데이터를 저장한다.
하지만 이 데이터만 가지고는 인사이트를 얻기 힘들 것이다. 그래서 PM은 데이터 유관부서와의 협업을 통해 데이터를 가공해야한다.
이 데이터가 왜 필요한지, 어떤 문제가 있는지, 어떤 관점으로 볼 것인지 등의 부분을 분석함으로 의사결정, 문제해결을 해나아갈 수 있을 것이다.
그래서 오늘은 카카오뱅크에서의 이체 과정을 통해 고객 데이터가 실제 데이터베이스에서 어떻게 활용되는지 그 과정을 분석해보고, 데이터베이스에 대해 먼저 이해해보고자한다.
카카오뱅크, 그것도 이체과정을 선택한 이유는 오늘 강의에서 배웠던 데이터가 움직이는 과정을 일련의 프로세스로 잘 정리할 수 있을 것 같았기 때문이다.
출처 : codestates PMB 강의
그래서 우선은 사용자가 카카오 뱅크에서 이체를 하는 과정을 Flow Chart로 작성해 어떤 데이터가 입력되고 출력되는지 이해해보기로 했다.
이체 과정을 그린 Flow Chart다. 여기서 주목할 점은 데이터가 입력되고 데이터를 확인하고, 데이터를 출력하는 과정이다.
우선 사용자는 이체 과저에서 계좌번호, 이체 금액을 입력한다. 이를 서버에서 처리하여 유효한 계좌번호인지 확인한 후, 유효하다면 이체를 완료한다. 만약 유효한 계좌번호가 아니라면, 유효하지 않은 계좌번호임을 출력한 후 다시 계좌번호를 입력하는 프로세스부터 진행하도록한다.
이 Flow Chart는 이체과정을 매우 축약한 다이어그램이지만, 각 단계에서 클라이언트, 서버, DB가 해야하는 역할이 나뉜다. 각 단위에서 어떤 과정이 이루어지는지 구체적으로 알아보자!
위의 Flow Chart를 UI, 클라이언트, 서버, DB 각 단계에서 어떻게 처리 되는지 유추하여 다이어그램으로 제작했다.
간략히 정리하자면, 클라이언트는 사용자가 UI를 통해 시도하는 모든 과정을 담아낸다. 예를들면, 계좌번호를 입력하거나, 이체를 시도하는 작업들을 처리하고 있는 것을 볼 수 있다. 이렇게 입력된 데이터는 서버로 넘어가 처리된다. 클라이언트에서 이체를 요청하면, 클라이언트에서 입력된 데이터가 이체 요청에 유효한 데이터인지 판단하여 결과를 전달한다. 이때 데이터가 유효한지 파악하기 위해 DB에 저장된 데이터를 불러와 비교한다.