1. A method for transaction processing, comprising the steps of: specifying metadata describing database elements and relationships between the database elements; storing the metadata; creating a first index in response to the stored metadata; receiving a transaction; generating an index log of changes to the first index in response to the received transaction; and modifying the first index in response to the generated index log.