I see , some fundamental problems here. although using RDBMS is the only best option. row locking is a problem. If we have 15 seats in a Row(Theatre screen) multiple users may want to book different seats in the same Row . Row locking puts everyone on hold and concurrent users accessing/booking does not scale at all.