I have been struggling to move a huge retail application into database engine with Teradata UDF for 2 years. From my point of view, the current Teradata still has a great space to move ahead. Here is the feature list in my dream data warehouse.

  1. Data processing function is integrated with data and will be defined as DDL within data warehouse engine. Is it object-oriented database? No. Parallel algorithm is the base of the data warehouse. Data re-distribution is not avoidable and data encapsulation is impossible. Teradata UDF is the current tool to implement it, but it is not good enough.
  2. Parallel processing unit (AMP) with multiple processing centers. Teradata only supports AMP. But there are lots of applications which can not be implemented by parallel algorithm. For these cases Teradata should give us a processing center to aggregate, process and redistribute data.
  3. A new data warehouse language running in data warehouse. Though the C language has good performance, it is a poor choice to support huge applications. I think this new language will be as convenient as script language (python, perl etc.), as fast as C language, as safe and portable as Java.
  4. Built-in search engine with computational knowledge. Look at http://www.wolframalpha.com/. Teradata needs a similar solution to analyze data.
  5. Data presentation tool like Apple UI. Though Web is pretty popular recently, I believe the heavy client tool provides a better user experience, just as Apple did in iPhone/iPad.