caching - Translog in ElasticSearch: real-time CRUD and cheap fsyncs? -


while going through elasticsearch's definitive guide, stumble upon mystery. first established search near real-time, since changes need refreshed new segment filesystem cache (by default every second) after can seen search mechanism, , no fsync used because costly.

then comes along translog. reason, can used have real-time crud. engine first goes through segments knows in filesystem cache, , adds changes finds in translog. if translog can kept up-to-date in realtime, what's inherent issue in keeping segments up-to-date in realtime? prevent many segments in cache?

additionally, why can translog fsynced every 5 seconds default no problems, while segments can't?

segments immutable. never updated rather merged other segments make bigger segments. having immutable segments, elasticsearch offloads caching os via page/file caching.

the translog acts append buffer gets promoted persisted segment once it's flushed.


Comments

Popular posts from this blog

asp.net mvc - SSO between MVCForum and Umbraco7 -

Python Tkinter keyboard using bind -

ubuntu - Selenium Node Not Connecting to Hub, Not Opening Port -