First a quick background: I'm a software developer, not a DBA and have been developing for more than 10 years. Recently I had to optimize a stored procedure and had to run execution plans, create/modify indexes, update statistics, etc which is a tedious task.
My question is very open, but I'd like to know if there is already a DBMS that automatically and continuously tunes itself (create/modify indexes, update statistics, etc) based on the data that lives in the database and its usage? If there isn't anything like that would we expect to see automated systems like that in the future? Given the increasing rate at which we're accumulating data these days seems like it will be a must in the near future.
What are the current impediments or negative side of doing that?
I understand that modifying the queries and stored procedures to be optimal may be hard to automate an more of a human task. But I believe good level of tuning automation could be done on the database side.