Vamos con los cálculos
Para los ejemplos que vamos a usar, vamos a suponer que, por funcionalidad, nos vale cualquiera de las ediciones de BBDD (si no es así, tendríamos que usar como mínimo, la que cumpla nuestras condiciones)
Vamos a usar siempre la más barata.
Además considerare siempre que se compra la licencia perpetua, pero los cálculos cambiado los precios, son los mismos para la licencia anual.
Hay que tener en cuenta que se pagan dos cosas. Primero la licencia de uso, que se puede comprar anual o perpetua y segundo el soporte.
Vamos a suponer 3 hardwares diferentes.
Maquina1: 2 sockets con 1 CPUs instalada de 10 cores y 3 usuarios nominales
Maquina2: 4 sockets con 2 CPUs instaladas de 10 cores y 10 usuarios nominales
Maquina3: 8 Sockets con 6 CPUs de 10 cores y 90 usuarios nominales
Paso 1, Saber que edición de la BBDD necesitamos.
Para determinar la edición, tenemos que conocer la aplicación que queremos realizar y revisar las características de las edición de la BBDD en el enlace de más arriba. Un detalle, la SE1 y la SE son idénticas salvo si queremos usar RAC.
Paso 2. Conocer el hardware en el que correrá nuestra aplicación.
Y no quiero risas (como dice un amigo mío). Esto muchas veces no lo sabemos hasta el final, hasta que hacemos pruebas de rendimiento… Realmente no es crítico (para nuestros calculos). De hecho, como dije en el inicio del anterior Sprint, es posible que intentes modificar tu hardware cuando calcules el coste de las licencias…
Lo realmente crítico es el paso anterior. Es decir, si determinamos que las características de la SE1 son suficientes, podemos usar una SE1. Si al final estamos obligados a usar una SE o una EE, no habrá problemas porque son totalmente compatibles. De hecho, la instalación solo da a elegir entre EE y SE. Si vamos a licenciar SE1, tendremos que instalar SE. Luego se licencia una SE1 o una SE en función del hardware usado.
Paso 3. Aplicar los límites por el hardware.
Los límites se establecen en función del número de sockets que tenga nuestra maquina, estén ocupados todos o no lo estén:
- SE1 permite un máximo 2 sockets
- SE permite un máximo 4 sockets
- EE sin límite
Así, para la Maquina1 podremos usar una SE1, para la Maquina2, la mínima es una SE y para la Maquina3 solo vale la EE.
Paso 4. Calcular el número de «unidades de facturación» a usar.
Estas «unidades de facturación» no aparece en ningún sitio con ese nombre pero este número es necesario para los cálculos del importe a pagar por licencias. Oracle, para las licencias, lo llama «processors», pero esa palabra tiene otros significados. Lo voy a llamr UFO (Unidentified Facturation Object) (una vez más, no quiero risas aquí).
Este cálculo de UFOs se hace un función del número de cores o de CPUs que tenga instaladas nuestra maquina (aquí si, instalados, se limita por sockets pero se paga por CPUs).
Los UFOs, además, son necesarios tanto para la licencia por usuario como por procesador.
El número de UFOs para un mismo hardware dependiente de la edición de la BBDD a usar:
- SE y SE1
Es necesario 1 UFO por cada CPU, independiente del número de cores que tengan nuestras CPUs
- EE
El número de UFOs es numCPUs X numCores X Factor
El Factor depende del tipo de procesador, para Intel es 0,5.
Veamos los ejemplos
Maquina1
Serian 1 UFOs de SE1 (el número de CPUs)
Maquina2
Serian 2 UFOs de SE (el número de CPUs)
Maquina3
Serian 30 UFOs de EE: 6 CPUS * 10 * 0,5
Ojo, luego veremos que un UFO de SE no cuesta lo mismo que un UFO de EE, el de EE es 3 veces el de la SE y la SE es 3 veces el de la SE1
Paso 5. Calculo x procesador
Para el cálculo por procesador, simplemente hay que coger el número de UFOs anterior y multiplicarlo por el precio «Processor License» de la edición que corresponda. Podéis verlos en la lista publica de precios de Oracle (está en dólares).
Ejemplos
Maquina1, SE1
Licencia perpetua: 1×5.800€
Soporte 1 año: 1×1.276€
Maquina2, SE
Licencia perpetua: 2×17.500€
Soporte 1 año: 2×3.850€
Maquina3, EE
Licencia perpetua: 30×47.500€
Soporte 1 año: 30×10.450€
Paso 6. Calculo x Usuarios
Para el cálculo por número de usuarios, hay que multiplicar los usuarios x el precio por usuario (lógico, verdad?).
Hay que tener en cuenta el mínimo de usuarios, no se puede comprar menos que el mínimo marcado. Este mínimo depende de la edición y debe ser multiplicado por los UFOs.
Vamos a suponer que con el mínimo de usuarios nos basta, así que, vamos a calcular el mínimo a pagar. Como he puesto antes, podeís ver los precios en la lista publica de precios de Oracle (está en dólares).
Ejemplos del coste mínimo
Maquina1, SE1, mínimo 5 usuarios en la SE1
Licencia: 5 usuarios * 1 UFO * 180€
Soporte 1 año: 5 usuarios * 1 UFO * 39,60 €
Maquina2, SE, mínimo 5 usuarios en la SE, con 2 UF0s, el mínimo es 5 x 2
Licencia: 5 usuarios * 2 UFOs * 350€
Soporte 1 año: 5 usuarios * 2 UFOs * 77 €
Maquina3, EE, mínimo 25 usuarios en la EE, con 30 UFOs, el mínimo a comprar es 25 x 30
Licencia: 25 usuarios * 30 UFOs * 950€
Soporte 1 año: 25 usuarios * 30 UFOs * 209 €
Paso 7. ¿Cuando elegir Licencia x usuario o Licencia por procesador?
Esto es un cálculo muy simple y solo hay que mirar lo precios.
Maquina 1, SE1, 1 CPU
En la edición SE1, una licencia de procesador = 32,2 usuarios, con lo que, con menos de de 33 usuarios, compensa usar una licencia de tipo usuario, teniendo en cuenta que el mínimo de usuarios a comprar es 5.
Maquina 2, SE, 2 CPU
En este caso, una licencia de procesador = 50 usuarios, como tenemos que comprar 2 licencias de procesador, será más barato comprar por usuario hasta 100 usuarios, teniendo en cuenta que el mínimo de usuarios a comprar es 2*5, es decir, 10
Maquina 3, EE, 6 CPU x 10 cores
En este caso, una licencia de procesador también es = 50 usuarios, como tenemos que comprar 30 licencias de tipo procesador, será más barato comprar por usuario hasta 1500 usuarios teniendo en cuenta que el mínimo de usuarios a comprar es 30*25, es decir, 750
Conclusión
Como podemos ver, la elección de la edición tiene un coste muy elevado. Esto lleva incluso a plantearse el hardware a usar en función de los limites de licenciamiento de Oracle.
Por ejemplo, la maquina3 tiene 6 CPUs y 8 Sockets y el coste de 1er año de Oracle es casi un millón y medio de licencia (que se paga una sola vez) más 313 mil euros cada año.
Si las características de la SE son suficientes, os aseguro que yo haría pruebas de performance con una maquina con 4 CPUs únicamente.
Así, si limitamos a 4 CPUs (en una maquina de 4 Sockets) y la SE es suficiente, el coste pasa a ser de 70 mil euros de licencia + unos 15 mil de soporte anualmente.
Vosotros mismos, pero con esa pasta, contrato a un gurú de tunning y de paso, formo a mis desarrolladores en high performance applications…
Todo condicionado a que las características de la SE sean suficientes, por supuesto.
No he incluido aquí el dato por usuarios, porque lógicamente necesitas saber cuantos tienes, pero el mínimo de usuarios a comprar en este ejemplo, como sabrás por los cálculos anteriores, es de 750, con lo que el mínimo a pagar si tienes menos de 750 usuarios será justo la mitad de lo expuesto.
Posdata
Venga va, alguna cosa mas…
Cambio de plataforma
¿Que pasa si tengo licencias de BBDD en SUN Solaris y quiero pasar a X86 Linux?
Este es un tema que siempre me ha causado grandes dudas. De hecho, no tengo link de Oracle donde puedas contrastar esto.
Mi conocimiento sobre este detalle concreto es mas de «campo». Si tienes una licencia de la BBDD para un sistema SPARC/Solaris, es gratis que pases esa licencia a un sistema X86/Red Hat Enterprise Linux (RHEL).
Entendiendo por licencia lo que has pagado, claro. Es decir, si tienes una maquina SUN con una CPU y has pagado una licencia de la edición standard para una CPU, eso es lo que tienes. Si tu nuevo sistema tiene 2 CPUs, evidentemente, tendrás que comprar otra licencia para la segunda CPU.
Actualizar la versión de la Base de Datos
A día de hoy, la Base de Datos va por su versión 12c, pero existen muchas instalaciones con la 10g, y la con la 9i. Pagar el soporte de Oracle da derecho a actualizar gratuitamente de versión.
Es decir, si has pagado una licencia de Oracle 9i y estás pagando el soporte, puedes actualizar hasta la 11g R2 sin coste adicional.
Certificación de la BBDD en tu plataforma
Lo primero que tienes que saber es si la versión de la BBDD está certificada en tu sistema operativo. Por ejemplo, la 11g ha sido certificada recientemente para su uso en Red Hat Enterprise Linux 6.1. Que sirva de ejemplo la siguiente tabla de compatibilidad con RHEL:
VERSIÓN | PRODUCTO | Documento Oracle |
9.2.0 | RHEL4 x86-64 | 353529.1 |
10.2.0 | RHEL5 x86-64 | 421308.1 |
RHEL4 x86-64 | 339510.1 | |
11.2.0 | RHEL6 x86-64 | 1441282.1 |
RHEL5 x86-64 | 880989.1 | |
RHEL4 x86-64 | 880942.1 |
Por último, el RAC, ese curioso elemento objeto de licenciamiento de Oracle
No sé qué concienzudos estudios de mercado han hecho en Oracle pero el tema de RAC es muy curioso.
El RAC (con limitaciones, como solo estar permitido el clusterware de Oracle) es gratis en la SE.
Solo puede usarse en la SE si la suma de todos los Sockets de todas las maquinas implicadas no supera en número a 4. Por ejemplo, se puede usar en 2 maquinas de 2 Sockets cada una.
Si usamos una edición EE, es una opción de pago adicional, que además hay que pagar en cada máquina que lo use. Es decir, si poner 4 maquinas, deberemos sumar todos sus UFOs y pagar una licencia tipo EE y una licencia de RAC por cada uno de los UFOs.
Ahora si:
FIN