레이블이 DB인 게시물을 표시합니다. 모든 게시물 표시
레이블이 DB인 게시물을 표시합니다. 모든 게시물 표시

개발기간 : 2021.08.12 ~ 2021.08.13

개발내용 : 

- Redis를 통한 중복 로그인 체크

상세내용 : 

- 다른 디바이스로 로그인시에 중복 로그인이 되는 문제가 발생.

- API를 최소한 호출하는 모델로 개발중이여서 (특히 던전내에서는 전혀 호출안됨) 세션의 유효성으로 판단할수가 없음. 

해결방안:

1. 원칙대로 디바이스 ID 를 저장하고, 다른 디바이스 ID가 확인되면 에러 표시 

    - DB 접근이 2배가 되어서 비용이 2배가 됩니다. 

2. 원본 디바이스에서 로그아웃 하지 않으면 해당 계정으로 로그인 불가 

    - 기계 잃어버리면??

    - 잃어버릴것을 대비해서 기기 초기화 기능을 둔다고 하면, 이전 기기에서 게임을 종료하지     않을경우 양쪽다 진행 가능해지는 크리티컬한 문제 발생.

3. 무료 인스턴스에 올릴 수 있을만한 자체 DB를 사용

    - 필요한 항목은 딱 2개 계정아이디 , 디바이스아이디

    - NoSQL 중 Redis 가 적합하다고 판단. 실제 도커로 실행해보니 기본 자원 사용량이 적음.


기간 : 2021.07.21 ~ 0000.00.00  

선택제품 : Oracle Anonymous Json DB  

선택히스토리 : 
- Firebase 를 통한 인증을 진행하다보니 FireStore 라는 아주 편리한 상품이 존재하는걸 확인
- 가격정책을 보니 개발하려는 게임에는 적용불가.(인벤토리 때문에 DB 접근이 빈번할거로 예상됨)
- 직접 DB와 WAS를 구현하려고 생각중에 FireStore가 NoSQL을 사용하던 것이 생각나, DB를 RDB로 구축하려고 선택
- 듀랑고가 couchbase 를 통해서 개발했다고 해서 오라클 인스턴트에 설치(but 성능문제로 무료 인스턴스에서 사용불가..)
- 결국 가벼운 RDB (mysql, postgres) 를 사용할까 생각하다가. 
- 오라클 Json DB가 있는걸 발견. 가격도 저렴해서 선택

후기 : 
- NoSQL 이 아니라. RDB내에 JSON 컬럼이 있어서 해당 컬럼 내를 NoSQL로 접근가능한것일뿐..
- 뭐 어쨌든 기존처럼 테이블 조인하고, 할 필요없이 사용자 별로 하나의 테이블과 row 만으로 구현가능 하기에 만족.


 

유형

제품

장점

단점

가격(100만건기준)

(환율1200원계산)

서버리스

firestore

- 구글이 표준이다.

- 요금이..

읽기 : 720

쓰기 : 2160

(미쿡기준)

(한국은 2/3 가격. 왜싸지??)

뒤끝

- 한글예제 풍부

- 필수 게임기능들 전부 SDK로 지원

- firestore 보다 나은듯하지만.. 그래도 요금.

- 멀티리전부재(그렇다고해서 서비스하는데 큰 영향은 없는듯)

읽기 : 450

쓰기 : 2000

웹서버 + DB

오라클 + NoSQL DB

- VM2대 무료

- 무료사용분이 큼

- NoSQL 비용이 매우저렴

- .Net 서버용 SDK 없음

- 문서가 다어려움..

무료사용량(월)

읽기 : 1억5천만

쓰기 : 1억5천만

유료전환시( 연 40만원 + )

읽기 : 3

쓰기 : 58

오라클 + Dynamodb

- VM2대 무료

- 문서가 좋고 잘되어있음.

- Dynamodb가 생각보다 안싼듯..

읽기 : 300

쓰기 : 1500

웹서버 +

DB서버

오라클VM 웹 +

오라클VM

아무 DB

- VM2대 무료

- 무료다.

- 무료 VM 스펙문제로 NoSQL 설치불가.(couchbase, mongo)

- 직접 다 구현.

- 리전 늘어나면 알아서...

VM 1코어 8기가 (연 40만)

아마존은 동일 스펙 3년약정시 (37만)