Determinar el DBMS de destino y los controladores
La siguiente pregunta a considerar es, ¿cuáles son los DBMS de destino para la aplicación, y qué controladores están disponibles que admitan esos DBMS? Las aplicaciones genéricas suelen ser altamente interoperables, por lo que la cuestión de los DBMS de destino es más aplicable a las aplicaciones personalizadas y verticales. Sin embargo, la cuestión de los controladores de destino se aplica a todas las aplicaciones, porque los controladores varían mucho en velocidad, calidad, compatibilidad de características y disponibilidad. Además, si los controladores se van a redistribuir con la aplicación, hay que tener en cuenta el costo y la disponibilidad de los planes de licencias.
Para muchas aplicaciones personalizadas, los DBMS de destino son obvios: son DBMS existentes a los que la aplicación está diseñada para acceder. También deben tenerse en cuenta los DBMS a los que se prevé migrar en el futuro. Sin embargo, la pregunta principal para estas aplicaciones es qué controlador o controladores usar con ellas. Para otras aplicaciones personalizadas - las que no están diseñadas para acceder a un DBMS existente - los DBMS de destino pueden elegirse basándose en la compatibilidad de características, la compatibilidad con usuarios concurrentes, la disponibilidad de controladores y la asequibilidad.
En el caso de las aplicaciones verticales, los DBMS de destino suelen elegirse en función de la compatibilidad de funciones, la disponibilidad de controladores y el mercado. Por ejemplo, una aplicación vertical diseñada para pequeñas empresas debe dirigirse a DBMS que sean accesibles para esas empresas; una aplicación vertical diseñada como complemento de DBMS existentes debe dirigirse a DBMS ampliamente usados.
A la hora de elegir los DBMS de destino, hay que tener en cuenta las diferencias entre las bases de datos de escritorio y las de servidor. Las bases de datos de escritorio como dBASE, Paradox y Btrieve son menos potentes que las bases de datos de servidor. Al acceder a ellas a través de los motores SQL menos potentes que se encuentran en la mayoría de los controladores basados en archivos, a menudo carecen de compatibilidad total con transacciones, admiten menos usuarios simultáneos y tienen SQL limitado. Sin embargo, son baratas y tienen una gran base instalada.
Las bases de datos de servidor, como Oracle, DB2 y SQL Server, ofrecen compatibilidad total con transacciones, admiten muchos usuarios simultáneos y disponen de SQL enriquecido. Son mucho más caras y tienen una base instalada menor. Por otro lado, los precios del software suelen ser superiores, lo que compensa en cierta medida un mercado potencial más reducido.
Por lo tanto, los DBMS de destino a veces se pueden elegir en función de las características requeridas por la aplicación y el mercado de destino de la aplicación. Por ejemplo, un sistema de entrada de pedidos para grandes empresas podría no estar orientado a bases de datos de escritorio porque éstas carecen del soporte adecuado para transacciones. Un sistema similar diseñado para pequeñas empresas podría excluir la mayoría de las bases de datos de servidor por razones de costo. Y los desarrolladores de aplicaciones genéricas pueden dirigirse a ambos tipos de bases de datos, pero sin usar las características avanzadas de las bases de datos de servidor.