¿Qué características de Oracle lo convierten en una opción atractiva para pequeños proyectos?

13

Dado el manejo de licencias de Oracle [a] (y, en menor medida, el costo), siempre me he preguntado cuáles serían los factores decisivos para elegir Oracle en lugar de PostgreSQL o MySQL.

Mi compañía casi siempre elige Oracle (XE cuando sea posible), incluso para proyectos pequeños en los que solo hay una única caja de servidor de Windows simple que ejecuta la base de datos sin ninguna administración de DB dedicada. (Tenga en cuenta que pequeñas no no quiere decir los datos cabrá siempre las más pequeñas restricciones de tamaño de Oracle XE).

Siempre he cuestionado esta opción, pero tiene el beneficio de que al menos estamos expuestos a un solo producto de base de datos.

Aún así, dado un nuevo proyecto, donde necesita un RDBMS, pero el proyecto y el alcance de la base de datos es bastante pequeño, en función de las características únicas de Oracle que se ejecutan en simples cajas de servidor de Windows (sin demasiada administración dedicada) elegiría Oracle en lugar de otro RDBMS?

Contexto adicional : muchas de nuestras implementaciones de bases de datos se ejecutan en los sitios de los clientes en un modo de "baja administración". Es decir, la base de datos se configura una vez. Hay algunas pruebas iniciales sobre su comportamiento y rendimiento correctos en el sitio. Después de esto, la base de datos simplemente se ejecuta. No se realiza una administración regular. Solo si algo no funciona, un técnico (no un DBA dedicado) verificará la base de datos, tratando de averiguar qué pasa. La copia de seguridad se realiza principalmente como copia de seguridad fuera de línea. En algunos proyectos, a los clientes no les importa que haya un RDBMS involucrado. Simplemente ven su aplicación como una caja negra que funciona (o no).

[a]: Donde yo trabajo, tomó varios gestores de proyectos en varias ocasiones meses para conseguir la obtención de licencias para proyectos pequeños como los representantes locales de Oracle simplemente no están muy interesados en la venta de su producto si el ingreso es más bien pequeña.

Martín
fuente
¿Cómo eligen XE para los datos que no "siempre se ajustan a las restricciones de tamaño bastante pequeño de XE"?
Jack dice que intente topanswers.xyz 05 de
@Jack: si encaja usamos XE, si no ... bueno, no :-)
Martin
La edición Express 11.2 está en versión beta y el límite de datos del usuario se ha ampliado de 4 GB a 11 GB. Ver oracle.com/technetwork/database/express-edition/…
Leigh Riffel
Oracle tiene PIVOT, MySQL y Postgres no. Esa es una gran ventaja en algunas situaciones.
Phil Lello
1
@ Phil Lello: PostgreSQL tiene PIVOT, verifique la contribución: postgresql.org/docs/current/static/tablefunc.html
Frank Heikens

Respuestas:

12

Solo puedo intentar responder por Oracle y postgres. Después de usar Oracle exclusivamente durante años, y postgres solo durante los últimos dos años, me encantan los postgres. Hay tantas formas pequeñas que es más conveniente de usar que Oracle, y comparte muchos de los beneficios cruciales (como MVCC). Es más fácil de administrar, confiable, tiene una excelente documentación y, por supuesto, es gratis.

Sin embargo, postgres no es rival para Oracle en algunas áreas, como:

  • RAC: que yo sepa, no hay una mejor tecnología de agrupación para ninguna base de datos
  • RMAN: muy superior a las funciones básicas de copia de seguridad y recuperación de postgres, especialmente con el seguimiento de cambios de bloque y las copias de seguridad incrementales (que puede aplicar a otras copias de seguridad para mantener una copia de seguridad completa actualizada)
  • Soporte de Oracle: existe. soporte postgres? No tanto
  • muchas otras características como IOT, 'Archivos seguros' y tecnología de compresión que no tienen análogo en el mundo de postgres

Curiosamente, casi todas estas características están ausentes o lisiadas en XE. Creo que elegiría postgres sobre XE, todo lo demás es igual, pero ...

... nada de esto aborda las dos razones principales para elegir Oracle:

  1. Ya está utilizando Oracle y tiene una gran inversión en él (la independencia de la base de datos es un mito tonto)
  2. Sus desarrolladores y DBA conocen Oracle y usan sus características al máximo (¿por qué no lo harían como la independencia de la base de datos es un mito tonto de todos modos?)

EDITAR:

La única situación en la que elegiría postgres sobre XE cada vez es si la seguridad es una preocupación. Si su base de datos o alguna de sus aplicaciones están expuestas a Internet público, no estoy seguro de si XE es una buena idea.

Jack dice que intente topanswers.xyz
fuente
rgd. RMAN: ¿Entonces diría que las características de respaldo de Oracle son "mejores" que las de Postgre? ¿Esto se mantendría en un entorno de baja administración (ver mi edición de Q)?
Martin
@ Martin: RMAN es potente y muy maduro, confío en él, ya que me ha visto en diferentes situaciones de recuperación. Una cosa que no es es "simple". Parece que está haciendo sin DBA caros, ¿está utilizando RMAN para sus copias de seguridad fuera de línea en este momento? ¿Cómo está enviando sus copias de seguridad múltiples (diarias) de Gb fuera de los sitios del cliente?
Jack dice que intente topanswers.xyz 05 de
El servidor SQL tiene agrupación HA que sería el equivalente del RAC de Oracle.
StanleyJohns
@stan the dba De lo que he leído sobre las opciones de agrupación en clúster para SQL Server, no son realmente comparables con RAC, la mayoría de ellas son soluciones de conmutación por error, no soluciones de escalamiento real como rac.
Matthew Watson,
Su segunda razón para elegir Oracle es más o menos la misma que la primera, IMO. Básicamente que estás comprometido. - En cuanto al soporte, eso ciertamente existe también para Postgres. Si no está satisfecho con las excelentes listas de correo, consulte esta lista para las compañías que ofrecen soporte pagado en su región.
eevar
9

Oracle Apex . Un entorno de aplicaciones web práctico y fácil de usar integrado en la base de datos. En pocas palabras, hace que sea muy sencillo implementar aplicaciones de 'caja única' con la interfaz de usuario web / lógica de aplicación / base de datos en un solo paquete integrado.

PD. 11g XE (actualmente en versión beta) amplía el almacenamiento a más de 10 GB.

Gary
fuente
+1 para APEX. Si bien tiene sus problemas y problemas, ME ENCANTA esto para que las aplicaciones despeguen rápida y fácilmente. Como RAD para Oracle como uno puede obtener, creo.
Kerri Shotts
5

Aunque las otras opciones de flashback de Oracle no están disponibles en Express Edition, Flashback Query sí lo está. De acuerdo con la pregunta al respecto , ninguna otra base de datos tiene esta característica que permita que una instrucción select consulte datos a partir de un momento en el pasado. Los datos de Flashback se pueden unir con los datos actuales e insertar en las tablas actuales, lo que lo hace útil para deshacer operaciones de tipo, cambios temporales y comparar cambios realizados por un método en un solo lugar.

Algunas otras cosas que otras bases de datos no tienen que Oracle Express Edition tiene.

Leigh Riffel
fuente
55
postgres marca 'AuthID Current User vs. Definer', 'Verificar restricciones', 'Restricciones diferibles', 'Suma y resta de fechas', 'Consultas jerárquicas', desencadenantes no esquemáticos, la mayoría de 'Funciones analíticas', algunas 'Funciones de colección' , 'Funciones XML', clob hasta 1Gb, cuadros 'Crear o reemplazar' y 'Multiplataforma' (al menos)
Jack dice que intente topanswers.xyz
@JackPDouglas Es difícil crear una lista de profesionales cuando la competencia es "todo lo demás". Gracias por la info.
Leigh Riffel
@Leigh: de acuerdo, supongo que su lista es una referencia útil para Martin. No menciona RMAN, al menos en el XE actual (v10) está incluido, aunque no se usa de forma predeterminada. Sólo una hilar fino: si XE está limitado a 4 o 11 GB entonces CLOBS hasta 128 TB en realidad no son compatibles :)
Jack dice tratar topanswers.xyz
@JackPDouglas Ya habías mencionado RMAN y no tenía la intención de suplantar tu respuesta (ni ninguna otra).
Leigh Riffel
@JackPDouglas Buena captura en el clob. Lo dejé en la lista porque los clobs más pequeños pueden ser útiles en XE y si la base de datos crece, puede ser útil estar en una plataforma que admita clobs extremadamente grandes.
Leigh Riffel
4

En primer lugar, creo que no debe subestimar el factor de que ya hay Oracle Know-How presente pero no para otros RDBMS. Desarrollar conocimiento para los demás requiere tiempo y dinero y también puede estar acompañado de algunos errores al comienzo.

Además, nunca se sabe si un pequeño proyecto no crecerá en algún momento. Luego, puede actualizar de manera rápida y sin problemas de XE a Standard Edition One a Standard Edition a Enterprise Edition. Una migración desde otro RDBMS volverá a requerir mucho más tiempo y dinero. En pocas palabras: creo que su empresa lo hace bien, está bien, puedo ser un poco parcial :-)

Uwe Hesse
fuente
Weeell Yo diría que el Oracle sabe por aquí se acerca ... mmm ... me 'd probablemente tendrá 3 horas jugando con PostgreSQL y un poco googleing llegar al punto en que podía hacer tanto con ella como yo puede con Oracle. (Excepto PL / SQL) Y me gusta pensar que soy uno de los usuarios avanzados de Oracle aquí :-) - Pero su argumento sobre una ruta de actualización es ciertamente válido.
Martin
@ Martin: esa no es una buena señal ... He estado usando postgres para uno de nuestros proyectos (como parte de una aplicación empaquetada) durante ~ 2 años, y todavía no puedo lograr que funcione bien (en parte porque las partes de la aplicación que estoy usando dependen en gran medida count(), que parece ser el talón de Aquiles de postgres). Tuve que preguntar en stackoverflow cómo influir en el planificador
Joe
2

Una de las buenas características de Oracle son aquellas como Oracle Resource Manager que hacen que la consolidación de aplicaciones en una base de datos sea mucho más fácil que tener una base de datos separada para cada aplicación. Parece que esto no se usa en su organización. He diseñado bases de datos consolidadas en el pasado para proyectos como usted menciona.

  • Cada proyecto tenía su propio hardware
  • Cada proyecto tenía sus propias licencias.
  • Cada proyecto tenía su propio almacenamiento

Esto provocó que incluso el más simple de todos los proyectos tomara meses en comenzar, y en un momento en el que el tiempo de comercialización es extremadamente importante, esto es mortal. Por alguna razón, muchos lo pasan por alto, a menudo incluso descuidados por razones políticas.

La solución para esto es bastante simple. Cree una base de datos seria, dé a cada proyecto / aplicación sus propios esquemas y acceda a los usuarios y comience a funcionar en horas, en lugar de meses. Si va a hacer algo como esto, podría resultar beneficioso combinar aplicaciones que tengan requisitos de tiempo de actividad similares. Oracle obtiene cada vez más opciones de mantenimiento en línea, pero a veces, obtener unas pocas horas de tiempo de inactividad es mucho más fácil. Tener ventanas de tiempo definidas de antemano podría evitar muchos problemas. Necesitará un poco de tiempo de inactividad.

No permita que las aplicaciones se conecten a la base de datos, haga que se conecten a servicios dedicados a la aplicación utilizando sus propios alias tns. Hacerlo le permite mover la aplicación a otra base de datos, sin tener que volver a configurarla.

Por cierto: las compañías que usaron esta forma de consolidación ahorraron mucho efectivo anualmente, más de las licencias requeridas para comenzar a funcionar.

ik_zelf
fuente
Gracias por este aporte. Tenga en cuenta que muchos de los proyectos tienen la base de datos ejecutándose en los sitios del cliente, por lo que no tiene ningún sentido consolidarlos. (Si te entiendo correctamente wrt. A la consolidación.)
Martin
Todavía se puede recomendar que el cliente lo consolide donde termina el paquete. Si se supone que es una base de datos incrustada, puede ser un poco diferente.
ik_zelf
Para ser claros, Oracle XE no tiene la función Administrador de recursos, por lo que esto solo sería útil para consolidar en un servidor con licencia. @ik_zelf Sé que no fue tu intención indicar lo contrario.
Leigh Riffel
@Leigh Riffel sí, estaba asumiendo que había una instalación de Oracle disponible, en un escenario tan consolidado preferiría EE. La pregunta parecía estar más orientada hacia una solución integrada.
ik_zelf