매 수십 초 (혹은 1분) 마다 지속적으로 업데이트가 일어나는 하나의 메세지 (유저가 업데이트 하는 컨텐츠 객체)이다. 이 기능이 핵심이다.
유저가 메세지를 업데이트 할 때 특정 기능을 활성화 할 경우 정보는 계속해서 시간마다 업데이트 된다. (이 기능이 활성화 된 메세지는 매 설정 된 시간마다 계속해서 정보가 UPDATE
되어야 한다.)
일정 시점이 되었을 때 정보에 대한 업데이트가 중단 되고 다른 사용자에게 보이지 않게 한다.(soft-delete)
많은 양의 데이터가 (메세지 객체가) 지정 된 시간마다 일시에 업데이트 되어야 한다.
메세지의 갯수는 n개로 지역성을 가지고 있다.
하나의 인스턴스에서 UPDATE
DML 행위로 인해 부하가 심하게 걸릴 것으로 예측된다. (기준은 하드하게, 50만개)
이에 아래와 같은 조건이 필요하다.
UPDATE
Query 수행위와 같은 특징으로 봤을 때 RDBMS는 적용하기 어려운 점이 많다.
이유는 아래와 같다.
UPDATE
Query 수행 시 (모두 그렇지는 않지만) 보통 INSERT
& DELETE
가 일어난다.결론 - RDBMS가 아닌 내가 구현하고자 하는 기능을 분석하고 색이 맞는 nosql 사용 할 것이다.
어떤 Platform에도 유연하게 대응 할 수 있게 MSA(Micro Service Architecture)로 구성한다.
메세지 객체를 핸들링하는 작업은 많은 기능이 필요 없고 업데이트만 일어나면 되기에 flask를 이용한 api 서버로 구성한다.
메세지 객체 이외의 처리를 하는 Backend 역시 인공지능도 적용해 볼 예정이다.
관련 연관성이 높은 python base의 WAS인 flask
를 이용해서 구현한다.
_Don't Talker, Be a Maker