zIWT has about 35000 threads. That's 350M (user ID + thread ID + datetime) without indexes for our user base, and I'm aiming to be able to support a much larger user base.

If you use a tuple system where a thread is either read or it isn't, the space becomes bearable, but the functionality is broken - there would be no way to tell if a thread had a new post or not.