[flutter] 스팀 지갑 개발 #002 - DB설계
DB설계 ?
DATABASE 뭐랄까 말 그대로 DATA(정보)의 BASE(기반)을 닦는 행위라고 하면 될 것 같다. 뭐랄까 서랍장에 옷 분류하는 것과 비슷하다고 할까나 ? 옷, 양말 등을 손쉽게 찾아 쓸 수 있도록 잘 정리해서 수납하는 행위와 유사하다.
좀더 파고들면 ...
보통 스키마를 정의한다. 라고들 많이 말하는데, 데이터의 중복을 최소화하기 위해 하나의 데이터 집단을 두 개 이상으로 나눠 주는 작업(정규화 : normalized ) 과 하나의 테이블에 중복요소를 두는 작업 ( 비정규화 : unnormalized ) 를 자아알~~ 구성하는 행위라 할 수 있다.
DB 정보 가져오기 / 내보내기
회사 업무보면 보통 ER-WIN 같은 툴로 논리(한글명) / 물리 (영문명) 설계를 하여 모델링을 한 이후 forward 엔지니어링을 통해 DB 테이블을 생성하거나 또는 기존 DB가 존재하는 경우에는 sql 또는 db 접속을 통해 reverse 엔지니어링을 수행하여 DB 모델링 정보를 얻어낸다
지갑앱에서 DB 모델링은 ?
개발하면서 하나씩 준비해서 나가려고 한다. 첨부터 뭔가를 다 생각하여 틀을 구성하는 것도 좋기는 하나 혼자하기엔 범위도 크고 어짜피 바뀔것을 예상하는 지라 일단 몇몇 가지를 나열해 본다면 ( 내부 존재 여부 파악 -> 없으면 PULLING 하여 정보 획득 )
- 업비트 호가 - 주기적으로 가져온 호가 정보를 기록
- 송금 정보 - 송금 후 해당 정보를 기록
- 입금 정보 - 입금 정보를 푸쉬로 받고 해당 정보를 기록 ( firebase 연동 push 서비스 개발도 해야 겠음 )
- (생각나면 좀 더 추가 해보자...)
모두 블록 체인에 기록은 되지만 상대적으로 속도가 많이 느리기 때문에 이력정보 등을 보는 경우에는 DB(내장)를 잘 활용해 보려 한다. 몇몇 앱들 벤치 마크 해봤는데 느린애들은 넘 느려서 네트워크 접속을 최대한 줄이는 방향으로 개발해야 될듯 싶다.
맺음말
- 일단 만들어는 보겠지만 서버 + UI + 디자인 ... 이거 혼자서 가능할지가 미지수이긴 허나 뭐 잘 해봐야징 ㅋ
- 아마 한동안은 어떻게 개발하면 좋을까에 대해 전반적으로 주절이를 할 것 같습니다. 좋은 의견은 있으시면 댓글주시면 감사요 ~
Thank you for your continued support towards JJM. For each 1000 JJM you are holding, you can get an additional 1% of upvote. 10,000JJM would give you a 11% daily voting from the 700K SP virus707 account.
원사마님 화이팅입니다
즐거운 개발 되시기를
네
스팀생태계에 도움이 되도록 힘써볼께요~
Posted using Partiko Android
어렵지만 올려 주시는 글 꼭 챙겨 보겠습니다. 그러다 보면 개발자의 노고를 알정도의 감이 생기지 않을까 싶습니다.
응원 감사합니다.
좀더 화이팅 해봐야겠네요 :) 행복한 하루 보내세요 천운님 ~
Posted using Partiko Android
화이팅입니다~!
가즈앗 !!
Posted using Partiko Android
베타 테스트 미리 신청합니다. ㅋ