- 만들게된 이유
Prisma 써보려는데 MySQL로는 원하는 기능이 안됨. PostgreSQL 써야되는데 개념이해 실패해서 만들고 있음
- 설명
일단 엄청 무겁고 무식함. 객체를 만들고 거기에 필요한 데이터를 저장해 그리고 JSON.stringify 함수로 string으로 바꾼걸 SQL에 저장하는거임.
각 객체마다 ID를 부여해서 접근할 수 있음. 값 변경은 Redux처럼 reducer, dispatch로 함. 값이 변경될때마다 SQL에 저장하는건 서버 성능에 영향을 줄 수 있으니 부하가 낮은 시간대에 저장하거나 동적으로 저장하는 방법을 쓰려고 함.
일종에 캐시 느낌임. 접근 횟수가 상대적으로 낮은 데이터는 SQL에 저장해주고 데이터를 요청했을때 객체에 없으면 SQL에서 불러온뒤 객체에 저장함. 이렇게하면 내 예측상으론 SQL에서 계속 불러오는것보단 더 빠르니 반응속도가 빨라질것임.
단점은 SQL에 있는 데이터가 항상 최신이 아니라는점과 메모리를 뒤지게 많이 먹을 수 있다는점이 있음. 첫번째는 어찌저찌 해결할 수 있을것 같은데 두번째는 어쩔 수 없음
TypeScript로 구현했고 일단 컴파일 에러는 안나니 실험적으로 적용해보고 있음.
어디에 쓰냐고? 내 디스코드 봇에 쓴다