Wij hebben een externe, niet aanpasbare, applicatie onder linux die naar een honderdtal files van vele gb's per stuk data in hoog tempo aanpast.
Op dit moment maken wij periodiek (dagelijks) dumps van deze files, diffen de boel en verwerken die diff naar een database. We willen dat echter realtime(-ish) gaan doen.
We zijn bezig met een experiment om FUSE te gebruiken zodat elke write() doorgelust wordt naar het oorspronkelijke FS, maar de pad-offset-length-data naar een externe daemon wordt gestuurd via (bv.) sockets. Daarna zou een extern systeem/daemon die data kunnen gebruiken om de database bij te werken.
Als ik rond zoek naar potentiële performance problemen dan lijkt FUSE al snel een probleemgeval te zijn (geweest?).
Wie heeft er ervaring met FUSE en kan me vertellen welke performance hit we kunnen verwachten, en hoe we die het beste kunnen vermijden? Welke andere opties zijn er om near real-time te weten wat er waar in welke file is aangepast?
Op dit moment maken wij periodiek (dagelijks) dumps van deze files, diffen de boel en verwerken die diff naar een database. We willen dat echter realtime(-ish) gaan doen.
We zijn bezig met een experiment om FUSE te gebruiken zodat elke write() doorgelust wordt naar het oorspronkelijke FS, maar de pad-offset-length-data naar een externe daemon wordt gestuurd via (bv.) sockets. Daarna zou een extern systeem/daemon die data kunnen gebruiken om de database bij te werken.
Als ik rond zoek naar potentiële performance problemen dan lijkt FUSE al snel een probleemgeval te zijn (geweest?).
Wie heeft er ervaring met FUSE en kan me vertellen welke performance hit we kunnen verwachten, en hoe we die het beste kunnen vermijden? Welke andere opties zijn er om near real-time te weten wat er waar in welke file is aangepast?
Klaar voor een nieuwe uitdaging.