Sobre el Coste Total de Propiedad (TCO) de MongoDB vs el de un SGBDR (Sistema Gestión Base de Datos relacional)

En este link podéis encontrar el documento en el que he basado este post: “A TOTAL COST OF OWNERSHIP COMPARISON OF ORACLE AND MONGODB

El coste total de propiedad (TCO) de MongoDB y Oracle incluye los costes iniciales y corrientes que incluyen software, hardware y personal.

COSTES INICIALES:

Los costes iniciales se componen de:

· Esfuerzo de desarrollo inicial: Coste de personal + Programación del desarrollador necesaria para la aplicación

· Esfuerzo administrativo inicial: Coste de personal + Administradores para instalar y configurar software, máquinas del clúster, particionado, …

· Licencias de software

· Hardware de servidores – Servidores necesarios para ejecutar la base de datos (se excluye almacenamiento). Depende principalmente del número y tipo de procesadores y RAM. Otros costes incluyen recintos, conexiones de red, cableado y suministros de alimentación

· Hardware de almacenamiento Almacenamiento necesario para almacenar los datos, varía en función de si se utiliza almacenamiento interno o compartido (SAN), de la cantidad de almacenamiento y de si se utilizan unidades de disco duro (HDD) o unidades de estado sólido (SSD)

COSTES CORRIENTES:

Se compone de:

· Esfuerzo de desarrollo corriente: Personal + Programación necesaria para adaptar el almacén de datos a las necesidades del cliente, del mercado y empresariales

· Esfuerzo administrativo corriente: Personal + Esfuerzo administrativo necesario para mantener el funcionamiento y ejecución del almacén de datos

· Mantenimiento y soporte técnico del software: Mantenimiento: actualizaciones y soluciones de errores del software + Soporte técnico: asistencia para localizar y solucionar problemas técnicos en el software

· Mantenimiento y soporte técnico del hardware: Mantenimiento: actualizaciones y soluciones de errores del firmware y cualquier software que pueda incluir el hardware + Soporte técnico: asistencia telefónica para localizar y solucionar problemas técnicos en el hardware

· Costes de despliegue diversos: Otros costes necesarios para mantener la base de datos en funcionamiento. Incluye costes de nube/alojamiento/coubicación, costes de ancho de banda, tarifas eléctricas, etc.

A continuación veremos cómo MongoDB reduce los diversos costes:

ESFUERZO DE DESARROLLO INICIAL:

El esfuerzo de desarrollo inicial se refiere al coste del tiempo dedicado por el desarrollador para conseguir que la aplicación y el almacén de datos trabajen juntos.

En el caso de las bases de datos relacionales, el esfuerzo de desarrollo inicial incluye tareas como definir el modelo de datos, crear una capa de mapeo objeto-relacional (ORM) y escribir la lógica empresarial para la aplicación.

MongoDB se diseña para que los desarrolladores actuales puedan utilizar la solución con facilidad. Por lo tanto, resulta mucho más rentable desarrollar con MongoDB que desarrollar con bases de datos relacionales.

MongoDB obtiene esta ventaja de productividad importante de su diseño orientado a documentos y los esquemas dinámicos. La forma en que almacena datos de la aplicación se corresponde con la tecnología y prácticas de desarrollo actuales, que han evolucionado considerablemente desde los comienzos de la industria de las bases de datos relacionales hace 30 años.

Los motivos que respaldan las ventajas de productividad de MongoDB pueden resumirse como se indica a continuación:

· Facilidad de uso.MongoDB es compatible con las metodologías de desarrollo actuales, como por ejemplo el método Agile, que permite a los desarrolladores realizar iteraciones de forma rápida y continua sobre el modelo de datos. En contraposición un modelo relacional impone un estricto conjunto de limitaciones al desarrollo del modelo de datos.

· Modelo de datos.Con MongoDB, el desarrollador solo tiene que crear el modelo de datos en un lugar: la aplicación. Con Oracle, los desarrolladores necesitan crear y mantener el modelo de datos en tres lugares mediante el uso de diferentes interfaces: la aplicación, la propia base de datos y la capa ORM.

· Flexibilidad de datos.A diferencia de SGBDR, MongoDB permite a los desarrolladores almacenar con facilidad datos polimórficos, así como datos semiestructurados y estructurados, en un almacén de datos individual.

· Soporte JSON.El almacenamiento en JSON, pilar básico de numerosas aplicaciones actuales, se realiza sin dificultades y no requiere conversión en MongoDB. Con una SGBDR, los desarrolladores necesitan “aplanar” y transformar JSON para almacenarlo en tablas relacionales, y más tarde tienen que recuperar las capas al realizar la extracción de la base de datos.

ESFUERZO ADMINISTRATIVO INICIAL

La instalación y configuración de MongoDB es económica y sencilla.

En general, para configurar un despliegue de MongoDB que funcione correctamente, un administrador solo debe tener en cuenta una variable: el número de nodos en el clúster

Solo existe un reducido conjunto de ajustes de configuración para poner el sistema en funcionamiento.

Por el contrario, una SGBDR es más complicado de instalar y configurar.

El esfuerzo administrativo inicial puede ser un proceso intenso, puesto que un administrador debe tener en cuenta el ajuste de cientos de variables para obtener un rendimiento adecuado del clúster.

La mayoría de las organizaciones requieren un administrador de la base de datos (DBA) con certificación para realizar esta tarea, contratan costosos consultores externos para esta labor.

Los administradores de MongoDB no necesitan integrar capas de memoria caché ni crear lógica de particionado horizontal personalizada para dirigir las consultas al nodo servidor correcto.

En lugar de esto, el almacenamiento en memoria, caché y el particionado horizontal son capacidades centrales de MongoDB.

La compatibilidad nativa de MongoDB con conjuntos de réplicas permite realizar directamente la replicación sitio a sitio. En cambio, habilitar y escalar el almacenamiento en memoria caché, el particionado horizontal y la replicación sitio a sitio suele requerir un enorme esfuerzo y código personalizado con una SGBDR.

LICENCIAS DE SOFTWARE

MongoDB es una base de datos de código abierto con una versión gratuita para la comunidad y una edición para suscriptores comerciales; esta última incluye soporte técnico, actualizaciones de software y soluciones de errores y algunas funciones adicionales.

La edición comercial de MongoDB se factura de forma continua en lugar de puntualmente (esto es, una cuota anual por servidor).

HARDWARE DE SERVIDORES

En general, los costes de servidores de MongoDB son considerablemente inferiores a los de Oracle para cargas de trabajo similares. MongoDB se diseña para utilizar hardware básico en arquitecturas escalables.

Los despliegues de MongoDB normalmente utilizan servidores Linux básicos y económicos, que tienen un coste de tan solo 3.000 $; incluso un sistema de baja energía y alto rendimiento puede costar tan solo 4.000 $ (excluyendo almacenamiento)

HARDWARE DE ALMACENAMIENTO

La arquitectura escalable de MongoDB permite reducir considerablemente los costes de almacenamiento.

MongoDB puede utilizar el almacenamiento local económico que se utiliza en servidores de bases de datos comerciales y permite realizar un uso eficiente de las unidades de estado sólido (SSD).

ESFUERZO DE DESARROLLO CORRIENTE

Las dinámicas del esfuerzo de desarrollo corriente son similares a las del esfuerzo de desarrollo inicial.

Con una SGBDR, el coste de realizar cambios en el esquema es incluso superior para una base de datos que ya se encuentre en producción que para una base de datos que aún no se ha entregado.

Como resultado, numerosas empresas prohíben estrictamente los cambios en las bases de datos o limitan el número de cambios a uno o dos anuales.

Sin embargo, con MongoDB resulta fácil para los desarrolladores agregar campos a la base de datos y esquemas de cambio, lo que se deriva en costes considerablemente inferiores y permite a los desarrolladores adaptar las aplicaciones a medida que evolucionen las demandas.

ESFUERZO ADMINISTRATIVO CORRIENTE

El esfuerzo administrativo corriente incluye actividades que mantienen el sistema en buen estado de funcionamiento (por ejemplo, actualización del software y hardware, realización de copias de seguridad y recuperación de tiempos de interrupción inesperados)

Se requiere mucho menos tiempo y esfuerzo para administrar MongoDB en comparación con una SBGDR.

La administración de un despliegue de MongoDB implica principalmente administra configuraciones de Linux y el propio hardware; solo es necesario conocer y administrar un par de docenas de ajustes de MongoDB.

La capacidad de conjunto de réplicas nativa de MongoDB facilita la realización de tareas administrativas habituales, como conmutar hardware defectuoso y actualizar el sistema operativo de un servidor.

Los clientes de Mongo informan que sus grupos de administradores de sistemas Linux no tienen problemas para asimilar la tarea de administrar MongoDB al no requerirse ninguna habilidad especial.

MANTENIMIENTO Y SOPORTE TÉCNICO

Las suscripciones de MongoDB se facturan anualmente por servidor.

MongoDB Subscriber Edition cuesta 4.000 $ anuales por servidor (independientemente del tamaño del servidor). Esto incluye el acceso al soporte técnico de MongoDB, actualizaciones de software y soluciones de errores, así como ciertas funciones que solo se ofrecen en la edición de pago.

OTRAS VENTAJAS DE MONGODB:

Además de los ahorros de costes tangibles, el modelo orientado a documentos y el esquema flexible de MongoDB también aportan mayor agilidad y flexibilidad a las empresas, que a su vez proporcionan ventajas para generar ingresos.

Una empresa que gaste energía en intentar modificar un esquema relacional rígido para cambiar su aplicación no solo desperdicia dinero en tiempo de desarrollo adicional, sino que también sufre el coste de oportunidad vinculado a un plazo de comercialización más prolongado.

Muchas de las ventajas técnicas y relacionadas con costes analizadas anteriormente se transforman en ventajas de ingresos en la forma de reducciones de los plazos de amortización y comercialización.

Por ejemplo, la flexibilidad del esquema y la alineación con el método de desarrollo Agile permiten a las empresas adaptar sus productos con rapidez cuando los clientes requieren cambios.

Deja un comentario

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s

A %d blogueros les gusta esto: