앨빈 토플러가 말했다.
"지식정보시대에서는 돈보다 귀한 게 지식과 정보다. "
인류 문명은 데이타에서 시작되었다. 역사에서 역사를 아는 것은 제국을 통치하는데 필수 소양이었다. 지식 정보시대 전에는 종이 데이터가 주류였다. 지식 정보시대 후에는 이진법의 전자 데이터가 주류다. 디지털 문명에서 리더라면 데이타를 알아야한다. 데이타는 A.I에도 중요하다.
지난 5년간 인공지능 동향을 조사한 바로는 모든 A.I 학자가 매트릭스같은 고지능 인공지능의 탄생이 불가능하다고 생각한다. A.I모르는 사람일수록 매트릭스를 떠올린다. A.I는 디지털 문명의 핵심 기술로 부상 중이다. 데이터는 인공지능 힘의 원천이다.
데이터는 A.I뿐만 아니라 PM에게도 중요하다. 데이터 베이스는 데이터 덩어리라고 생각하면 된다. 데이터 덩어리는 금이 섞여있는 돌덩어리다. 금을 캐내려면 데이터베이스에 대한 이해가 중요하다.오늘은 PM이 데이터 베이스에서 어떻게 인사이트를 얻는지 간략히 정리해볼 것이다. 그리고 이를 에버노트에 적용해 볼 것이다.
구성은 아래와 같다.
1. W6D1 배운 내용의 나만의 언어정리: 기본적인 '데이터의 이해' 정리했던 것
2. 생산성 앱 에버노트에서 메모를 저장하고, 불러오는 고객행동의 플로우 차트 : W6D1비해 W7D4는 '서버'가 추가됨
3. 위 행동의 데이터 흐름을 UI, 클라이언트, 서버, DB기준으로 설명 : 에버노트는 저장소 동기화가 여러개인 것이 장점
1. W6D1 배운 내용의 나만의 언어정리(사진은 보안상 생략)
데이터 베이스
원리: 문제가 발생하면 PM은 데이터에서 제품 개선을 위한 통찰을 뽑아낸다.
이를 위해 데이터의 흐름을 이해하고, 실험을 하며,시각화할 수 있어야 한다.
구조-데이터 이해, 데이터 활용법, 데이터 팀의 역할
오늘은 구조에 해당하는
-데이터의 이해
-심화이해로 서버, DBMS, SQL, +유의점에 배운다.
데이터의 이해
(1)데이터의 이해
첫째 데이터 베이스의 정의: 전자식으로 저장, 구조화된 데이터 집합
둘째 조작 툴.
저장 장소: 데이터서버
관리시스템: DBMS
관리 언어: SQL(99%그럼)
셋째 데이타 흐름 : 기기->서버->데이타 베이스
(그리고 반대)
(2)데이터의 활용법
첫째 PM의 데이타 분석 과정
컨셉 – 목적? 어떻게 수집?
수집 – 수집 절차?
처리 – 입력된 데이터를 어떻게 변형?
분포 – 처리한 데이터를 어떻게 인식?
발견 - 데이터의 분포의 결과는?
분석 – 결과의 의미는?
둘째 PM의 데이타 활용이유
(3)데이터 팀의 역할
데이터 분석가 – 인사이트
데이터 과학자 – 데이터기법(머신러닝, 통계 분석 등)로 유의미하게 가공
데이터 엔지니어 – 데이터베이스를 구축
소프트웨어 엔지니어 – IT제품을 개발
데이터 구조 이해 심화
(1)관리 시스템 DBMS의 이해
첫째 구조화-관계형 데이터 베이스(RDBMS)
기본키: 주민번호와 같이 모두에게 겹치지 않으면서 해당 값을 알면 다른 정보들을 모두 확인하게 해 줄 수 있는 값
(DBMS는 네비게이션 모델 을 따르는 반면 RDBMS는 테이블 형식으로 데이터가 저장되는 관계형 모델을 따르며 테이블간에 관계가 있습니다. DBMS에서 동일한 데이터 사본을 여러 위치에 저장할 수 있지만 RDBMS 데이터 중복은 정규화를 사용하여 제거됩니다.)
둘 째 관계 시각화- E-R 다이어그램
셋 째 설계구조를 속성으로 설명-스키마
(2)언어의 이해
SQL과 NoSQL; 관리시스템언어
장단점이 있으나 요즘은 성능이 좋아 큰 차이없음
(3) 기타 유의점
PM은 어떤 데이터를 어떻게 가져올지 설계해야된다.
DB스키마 수정은 힘들다.
데이터는 가공이 필요하다.
2. 생산성 앱 에버노트의 '메모를 저장하고, 불러오는' 고객행동의 플로우 차트
데이타의 입,출력부분이 추가되었고, 데이터의 저장공간이 추가되었다.
W7D4에서 내용 입력엔 별도의 명령이 필요했지만 출력에 있어선 자동이다.
3. 위 행동의 데이터 흐름을 UI, 클라이언트, 서버, DB기준으로 설명해볼 것이다.
에버노트의 UI를 중심으로 데이터의 흐름을 설명해 볼 수 있다.



스마트폰 화면에서 에버노트를 눌러 실행한다. 스마트폰 기기에서 DB를 가져온다. 홈 화면에 과거 여러 기록이 보인다. 만들기 버튼을 누르면 노트말고도 카메라, 스케치 첨부, 오디오 등있다. 노트를 선택한다.



노트를 선택하면 제목과 본문이 보인다. 여기에 자판 모양으로 기록을 아무거나 한다. 기록을 하는 순간 이 데이터는 스마트폰의 임시로 저장된다. 10시방향 체크버튼 앞에 있는 되감기 모양의 화살표로 정보를 즉각적으로 불러오기할 수 있다. 일단 메모가 종료되면 10시방향의 체크버튼이 회색에서 초록색으로 변한다. 이 버튼을 누르면 스마트폰 DB에 저장된다. 이는 스마트폰을 껏다 켜도 남는다.
확인 버튼을 누르면 홈 화면으로 돌아온다. 이때 7시방향 세줄이 겹쳐져있는 메뉴버튼을 누를 수 있다. 일반 메뉴가 나오고 스마트폰 DB에 저장된 메모지가 있다. W6D1실험을 불러올 수 있다.



몇 년간의 에버노트 사용결과 스마트폰과 웹 노트북과 웹의 동기화는 즉각적이나. 스마트폰과 노트북간의 동기화 속도는 수십분 정도의 차이가 있다. 두가지 기기를 웹을 통해 동기화시키는 속도가 느릴 때가 있어 노트북으로 수정하다 밖으로 나가 스마트폰으로 곧바로 이어서 수정이 힘들 때가 많다.
에버노트는 관계형 데이터 베이스(RDBMS)로 구조화 된다. 만약 에버노트에 노트가 저장과 로드가 잘 안 된다면 데이터 관계의 시각화인 E-R 다이어그램으로 보면서 오류를 발견할 수 있지 않을까 추측한다. 에버노트 데이타 베이스 언어는 SQL을 쓴다고 한다.
여기까지가 W6D1의 나의 데이터 흐름을 설명한 것이다. 추가로 2주간 배운 내용을 통해 설명해 볼 수 있다. 데이터의 흐름은 첫째 클라이언트에서 시작한다. 클라이언트의 의미는 고객과 고객이 쓰는 기기를 의한다. 여기서는 기기라고 정의한다. 클라이언트의 UI에서 위 사진과 같이 정보를 DB에서 불러오고 새로운 메모 즉 데이터를 DB에 다시 전송한다.
UI를 구성하는 프론트엔드는 개발자 구인란을 보니 전형적인 HTML, CSS, JS를 쓰고 있다. 대게 이 언어는 웹언어라고 알고있고 React도 쓴다고하니 위 세 언어의 비중이 적을 것 같았다. 그러나 이 생각은 검색하면서 틀렸다는 것을 알게 되었다.
구글 검색하면서 오른쪽에 나의 에버노트 DB까지 같이 검색된다. ;;;;왜 이런기능을 눈치 못채고 있었는지 모르겠다.
코드화된 데이터는 앱 자체의 DB에 저장된다. 에버노트의 최대 장점은 데이터 저장 공간에 여러 곳이여서 기록 보존의 안전성이 높다는 것이다. 스마트폰, 서버, PC모두가 데이터 동기화가 자동적으로 된다.
다만 위에도 적은 것처럼 클라이언트와 클라이언트 사이의 데이터 동기화는 수십분에서 1~2시간이 걸리는 것 같다. 그리고 이에 따라 버그도 잦은 것 같다. 많은 양의 데이터가 쌓이는 저장소가 여러개니 문제가 생기기 쉬울 수 있다. 기기수가 늘어날 수 있으니 로컬 DB도여러개이고, 수많은 유저의 DB가 쌓이는 리모트 서버 DB는 이를 모두 포괄해야 된다. 어찌보면 버그가 적은게 이상할 수 있다는 생각이 든다.
에버노트의 API를 보면 의외로 복잡하지 않을 수 있다는 생각이 든다. 그러나 한편으로는 복잡할 수 있겠다는 생각이 든다. 왜냐하면 기본적으로 에버노트 정보의 단위는 텍스트나 사진이 많을 것이다. 에버노트는 노션과 달리 데이터 저장 방식이 다양하지 않다. 또한 이는 '노트'의 형태로 모두 저장된다. 이것만 보면 단순할 것 같다.
그러나 저장 공간도 여러개고, 구글에 저렇게 내 DB까지 같이 검색되게 할 정도면 로컬 여러개 , 회사 리모트 서버, 부분적인 구글 리모트 서버가 다 동기화되고 있다는 것이다. 이런 부분에 있어서 복잡할 수도 있을 것 같다는 생각이 든다.
W6D1 과 W7D4의 가장 큰 차이점은 UI에 대한 설명이 많으냐, 아니면 백엔드까지 설명이 전문적인 용어로 되어있느냐 이다. 사실 별로 적은 것 은 없다. 왜냐하면 구글에 에버노트 DB검색을해도 뚜렷히 공개된 자료가 없기 때문이다. 2주간 배운 내용 요약본을 화면 한켠에 두어도 딱히 보면서 비교할 게 없다.
1. W6D1 배운 내용의 나만의 언어정리: 기본적인 '데이터의 이해' 정리했던 것
2. 생산성 앱 에버노트에서 메모를 저장하고, 불러오는 고객행동의 플로우 차트 : W7D4는 '서버'가 추가됨
3. 위 행동의 데이터 흐름을 UI, 클라이언트, 서버, DB기준으로 설명 : 에버노트는 저장소 동기화가 여러개인 것이 장점
Frontend Engineer at Evernote | The Muse
이상으로 에버노트의 데이터 흐름에 대한 상상
'코드스테이츠 Daily' 카테고리의 다른 글
코드스테이츠 PMB10기 W8D2: "PM이 팀 플레이를 어떻게 나누어 하나?스크럼!" (0) | 2022.03.17 |
---|---|
코드스테이츠 PMB 10기 W8D1+D3: " 멀티프로필은 어떤 문제를 야기하는가?" (0) | 2022.03.15 |
코드스테이츠 PMB10 W7D3: "개발 방향의 선택, 앱 vs 웹" (0) | 2022.03.10 |
코드스테이츠 PMB10기 W7D1-"T스토리의 대문은 어떤 구조?" (0) | 2022.03.07 |
코드스테이츠 PMB10기 W6D4-"누가 광고CTA를 얼마나 클릭했을까?, (0) | 2022.03.05 |