그냥 텍스트를 전부 저장하는 방식으로 하면 속도가 빠른 대신 용량을 너무 많이 잡아먹고
차이점만 저장하는 방식으로 하면 용량은 적게 잡아먹는 대신 속도가 느리잖아 (최초랑 최신의 차이점을 구하는 쿼리가 들어오면 O(n)...)
일단 세그먼트 트리 써서 구현을 해볼까 생각하는데 더 효율적인 방식이 있을까?
그냥 텍스트를 전부 저장하는 방식으로 하면 속도가 빠른 대신 용량을 너무 많이 잡아먹고
차이점만 저장하는 방식으로 하면 용량은 적게 잡아먹는 대신 속도가 느리잖아 (최초랑 최신의 차이점을 구하는 쿼리가 들어오면 O(n)...)
일단 세그먼트 트리 써서 구현을 해볼까 생각하는데 더 효율적인 방식이 있을까?
전부 저장해도 mb단위 아님?
git
그런 거때문에 git 등의 버전 컨트롤 시스템들이 있는 건데... 그냥 알고리즘을 어떻게 쓰나가 궁금한건가?
김재희 // 파일이 수만 개 있고, 최신 버전만 저장해도 수백메가는 나와서... 전부 저장하기는 힘듬
ㅇㅇ // 사정상 git을 쓰기가 힘듦. 손수 구현해서 만들어야돼..
그리고 개인적인 호기심도 있음
일반적인 케이스에서는 최신 파일만 빠르고 비싼 스토리지에 저장, 이전 파일은 느리고 싼 스토리지에 저장. 단 이 케이스는 최신 파일의 조회수가 많다라는 요구조건 가정. - dc App
실제 요구사항에 따라서 구현 방법들이 달라질 수 있을 것 같음. 이전 파일들에 대한 조회요청이 많은데 그중 중복된 요청들이 많다면 diff만 저장하도록 한다음에 캐싱 비슷하게 ttl 매겨서 임시저장하는 방법도 있을 것 같고. .. - dc App
자세한 요구사항 좀 말해줄 수 있음? 어떤 종류의 요청들이 많이 들어오는지 - dc App
말해준 것만 적용해도 충분할 것 같다. 비슷한 요청들은 캐싱해두면 훨씬 빠르게 처리할 수 있을 듯. ㄱㅅㄱㅅ