First, as other people have said, if your database is slowing with 9000 documents, something is broken with your schema, your database server, or your code. Look at your database access code for complicated or too many queries. Look at your schema for adding indexes.
Second, you shouldn't need to worry about locking when accessing the database. And if you do need locking, then use the database locks. The whole point of using a transactional database is to hide much of the locking and still get transactions and atomic updates. Which database server are you using?