다이나모DB 좀 써보려고 테스트 프로그램 만들어서 좀 써봤어


결론부터 말하자면 포기하고 SQL 쓰기로 했어


이유를 말해볼게


1. Key-Value 방식의 NoSQL인데 스키마에서는 자유로워 보여서 이것만으로도 매력적으로 보여서 관심


2. Scheme-less니까 되게 편해보이지만 사실 그렇지도 않음


3. 관계가 없다보니 이 제약만 없어서 즉시 추가 데이터 기록이 가능하다뿐이지 인덱싱, 정렬, 조회 등을 위한 부가작업은 SQL때와 동일함 (다른 관점에서 보면 데이터가 중구난방 무결성이 깨지는 느낌에 시달려야함)


4. Database에 기록하는 데이터의 목적은 기록 자체보다는 검색, 정렬, 집계에 더 큰 비중이 있다고 생각함


5. 별도의 검색엔진을 활용하지 않으면 SQL보다 4번의 목적에서는 뒤쳐짐


6. SQL보다 확실한 장점은 수평 확장이 매우 용이해서 사용량에 상관없이 꾸준한 성능이 나온다 정도로 이해함 (물론 그에 비례하게 요금도 올라감)


7. 내가 잘 모르고 활용 능력이 모자르니 더 큰 장점을 발견 못한 것이겠지만, 이 또한 입장을 바꿔보면 러닝커브가 심한 단점 아닌가 싶음


8. 현재까지는 기록 자체가 우선 목표인 대용량 로그 기록 때려박기에는 아주 적합하다 판단


9. 각 Item(Row)에 대한 Versioning과 트랜잭션, 잠금처리를 지원하는 장점이 있음 (대신 이 부분은 요금 2배)


10. 아마존은 입문자 -> 중급자까지 단계별 교육 자료 좀 만들어서 유튜브에 뿌려라. 진짜로 공식 문서빼면 볼 게 없는데 이도 충분한 문서는 아닌 거 같음.


YesSQL!