Use futures for database communication