This is my wishlist for my ideal database management system:
(I do not know anything of Oracle other than that it is supposed to be the best)
My ideal DORDBMS would support/have the following features:
0) Basic RDBMS features
1) Distributed computing capacity: ability to write programs modularly in such a way that some modules of one single process run on one database, others on another etc. and some run on data which is diversely located, controlled centrally at one location. For example, there is a program at a central location which asks location 1 to run UDFs A,B,C,D,E, and location 2 to run UDFs F,G,H,I,J and location 3 will run a reporting UDF from the modified tables at locations 1 and 2.
2) Intelligent, constant replication of data on connected servers (mirroring) which can be programmed based on parameters like percent increase in total data size, fixed increase in number of rows in one particular table, and so on.
3) Object oriented programming support – classes, exceptions
4) Physically, the database must be capable of running on more than one extremely closely located machines – so that internally, the database, can, if need be do data storage on a few machines and processing on the others.
4) Administration of running processes should be easy – in the case that there is an error in one running user application (for simplicity, an infinite loop), its process can be closed down by an administrator, or, even programmed to do so – with an elaborate performance monitor.
5)Also a daemon-creating mechanism which will run specified UDFs or external dynamic libraries or executables at a scheduled time, or according to a programmable schedule.
6) Rich API – file I/O, dynamic library/executable invocation, process management
7) Fully support non-tabular data structures like graphs, trees etc. with an easy SQL-like language.
So far, that’s all that I can think of, of a feature-packed RDBMS. Surely several of there features will be present in Oracle/PostgreSQL/Ingres but I do not have the time to look.