When architecting a serverless application to perform enhanced data manipulation tasks, which method would be most suitable for managing predictable performance demands and cost-efficiency in read/write operations?
Provisioning a NoSQL database with customizable levels of read/write capacity
Deploying additional read replicas for the database to enhance data retrieval efficiency
Triggering a function to execute each time data changes occur within the database
Expanding the allocated memory of the database instances to improve caching mechanisms