[MongoDB] TTL

MongoDB๋Š” ์ž์ฒด์ ์œผ๋กœ ๋งŒ๋ฃŒ ์‚ญ์ œ ์ฒ˜๋ฆฌ๋ฅผ ์œ„ํ•œ TTL(Time To Live) ๊ธฐ๋Šฅ์„ ์ œ๊ณตํ•œ๋‹ค.
์บ์‹œ ๊ธฐ๋Šฅ์„ ๊ตฌํ˜„ํ•˜๊ธฐ๋„ ์ข‹๊ณ , ์šฉ๋Ÿ‰ ํ™•๋ณด๋ฅผ ์œ„ํ•œ ๋ฐฉ๋ฒ•์œผ๋กœ ๋„์ž…ํ•˜๊ธฐ์—๋„ ์ ํ•ฉํ•˜๋‹ค.

์‚ฌ์šฉ๋ฒ•์€ ๊ทธ๋ฆฌ ์–ด๋ ต์ง€ ์•Š๋‹ค.

๋จผ์ € ๋„ํ๋จผํŠธ์— ttl์šฉ ์‹œ๊ฐ„์„ ๊ด€๋ฆฌํ•˜๊ธฐ ์œ„ํ•œ Date ํƒ€์ž… ๊ฐ’์ด ์กด์žฌํ•ด์•ผ ํ•œ๋‹ค.
์ €๊ฑธ ๋ฐ์ดํ„ฐ์˜ "์ƒ์„ฑ ์‹œ๊ฐ„"์œผ๋กœ ๊ฐ„์ฃผํ•œ๋‹ค.




TTL ์ธ๋ฑ์Šค ์ƒ์„ฑ

ttl์€ ์ธ๋ฑ์Šค์˜ ๊ตฌ์กฐ๋ฅผ ํ†ตํ•ด ์ œ๊ณต๋œ๋‹ค,
expireAfterSeconds๋ฅผ ํ†ตํ•ด ๋ช‡ ์ดˆ ํ›„์— ์‚ญ์ œ๋˜๊ฒŒ ํ•  ์ง€๋ฅผ ๊ฒฐ์ •ํ•œ๋‹ค.

db.weather.createIndex( { "ttl": 1 }, { expireAfterSeconds: 60 } )

์˜ˆ๋ฅผ ๋“ค์–ด ์ด๋ ‡๊ฒŒ ์ž…๋ ฅํ•˜๋ฉด "ttl" ์‹œ๊ฐ„ ๊ธฐ์ค€์œผ๋กœ 60์ดˆ๊ฐ€ ์ง€๋‚˜๋ฉด ๋งŒ๋ฃŒ๋œ ๋ฐ์ดํ„ฐ๋กœ ํŒ๋‹จํ•˜๊ณ  ์‚ญ์ œํ•œ๋‹ค.

๊ทธ๋ฆฌ๊ณ  ๋ฐ์ดํ„ฐ๋ฅผ ํ™•์ธํ•ด๋ณด๋ฉด

๋ฐ์ดํ„ฐ๊ฐ€ ์‚ญ์ œ๋œ๋‹ค.

๋‹ค๋งŒ MongoDB๋Š” TTL ์Šค์ผ€์ค„๋Ÿฌ๋ฅผ 1๋ถ„ ์ฃผ๊ธฐ๋กœ๋งŒ ๋Œ๋ฆฌ๊ธฐ ๋•Œ๋ฌธ์—, ์‚ญ์ œ๊ฐ€ ์ตœ๋Œ€ 1๋ถ„๊นŒ์ง€ ์ง€์—ฐ๋  ์ˆ˜ ์žˆ์Œ์— ์œ ์˜ํ•œ๋‹ค.




์ฐธ์กฐ
https://www.mongodb.com/docs/manual/core/index-ttl/
https://urame.tistory.com/entry/MongoDB-TTL-%EC%84%A4%EC%A0%95-%EB%8D%B0%EC%9D%B4%ED%84%B0-%EC%9E%90%EB%8F%99-%EC%82%AD%EC%A0%9C-%EC%8A%A4%EC%BC%80%EC%A4%84
https://stackoverflow.com/questions/57604139/the-storage-space-isnt-decreased-after-deleting-doc-from-db-why