online español documentacion books sql-server database oracle

sql-server - documentacion - sql server books online español



SQL Server y Oracle, ¿cuál es mejor en términos de escalabilidad? (10)

Cuando habla 500 TB, es (a) grande y (b) especializado. Me gustaría ir a una empresa de consultoría con especialistas adecuados para ver los conjuntos de habilidades existentes, la integración con las pilas de tecnología existentes, el uso esperado, los requisitos de copia de seguridad / recuperación / DR ....

En resumen, no es el tipo de proyecto al que me dirigiría en función de las opiniones de stackoverflow. Sin intención de ofender, pero simplemente hay demasiados factores a tener en cuenta, muchos de los cuales serían confidenciales para los negocios.

MS SQL Server y Oracle, ¿cuál es mejor en términos de escalabilidad?
Por ejemplo, si el tamaño de los datos llega a 500 TB, etc.


Cuando llega al tamaño de la base de datos OBSCENE (donde más de 1TB es realmente lo suficientemente grande, y 500TB es enorme), entonces el soporte operativo debe estar muy arriba en la lista de requisitos. Con tantos datos, no te metas con las especificaciones del sistema de pellizco.

¿Cómo vas a respaldar ese tamaño de sistema? Actualice el sistema operativo y parche la base de datos? La escalabilidad y la fiabilidad son una preocupación?

Tengo experiencia en Oracle y MS SQL, y para los sistemas realmente grandes (usuarios, datos o importancia), entonces Oracle está mejor diseñado para el soporte operativo y la gestión de datos.

Todos trataron de hacer una copia de seguridad y restaurar una base de datos de 1TB + SQL Server dividida en múltiples bases de datos en múltiples instancias con archivos de registro de transacciones escupidos en todas partes por cada base de datos y tratando de mantener todo sincronizado? Buena suerte con eso.

Con Oracle, tiene UNA base de datos (por lo que no estoy de acuerdo con el enfoque de "compartir nada" es mejor) con UN conjunto de registros REDO (1) y un conjunto de registros de archivo (2) y puede agregar nodos de hardware adicionales sin cambiar ( es decir, volver a particionar) su aplicación y datos.

(1) Los registros de rehacer están, por supuesto, reflejados. (2) Los registros de archivo están, por supuesto, almacenados en múltiples ubicaciones.


Dudo mucho que vayas a obtener una respuesta objetiva a esa pregunta en particular, hasta que encuentres a cualquiera que haya implementado la misma base de datos (esquema, datos, etc.) en ambas plataformas.

Sin embargo, dado el hecho de que puedes encontrar millones de usuarios satisfechos de ambas bases de datos, me atrevería a decir que no es exagerado decir que cualquiera escalará bien (he visto una implementación rápida de Sql 2005 de 300 TB que parecía bastante receptiva )


La gente del oráculo te dirá que el oráculo es mejor, el servidor sql peopele te dirá que el servidor sql es mejor. Yo digo que escalan más o menos igual. usa lo que sabes mejor. usted tiene bases de datos que son de ese tamaño en Oracle y servidor SQL


Oracle como una cámara de película manual de alta calidad, que necesita el mejor fotógrafo para tomar la mejor imagen, mientras que MS SQL como una cámara digital automática. En los viejos tiempos, por supuesto, todos los fotógrafos profesionales usarán una cámara de cine, ahora piense en cuántos fotógrafos profesionales usan una cámara digital automática.


Si Oracle o MSSQL escalarán / funcionarán mejor es la pregunta # 15. El modelo de datos es el primer ítem "make-it" o "break-it" independientemente de si está ejecutando Oracle, MSSQL, Informix o cualquier otra cosa. La estructura del modelo de datos, qué tipo de aplicación, cómo accede a la base de datos, etc., qué plataforma conocen los desarrolladores lo suficiente como para apuntar a un gran sistema, etc. son las primeras preguntas que debe hacerse.


También dependería de para qué es su aplicación. Si solo usa Inserts con muy pocas actualizaciones, entonces creo que MSSQL sería más escalable y mejor en términos de rendimiento. Sin embargo, si uno tiene muchas actualizaciones, Oracle se escalaría mejor


Tanto Oracle como SQL Server son bases de datos de disco compartido, por lo que están limitadas por el ancho de banda del disco para consultas que escanean grandes volúmenes de datos. Productos como Teradata , Netezza o DB / 2 Parallel Edition son arquitecturas de "nada compartido" en las que la base de datos almacena particiones horizontales en los nodos individuales. Este tipo de arquitectura ofrece el mejor rendimiento de consulta paralela ya que los discos locales en cada nodo no están restringidos a través de un cuello de botella central en una SAN.

Los sistemas de disco compartidos (como Oracle Real Application Clusters o Clustered SQL Server todavía requieren una SAN compartida, que tiene ancho de banda restringido para la transmisión. En una VLDB esto puede restringir seriamente el rendimiento de escaneo de tabla que es posible lograr. ejecute escaneos de tablas o rangos a través de grandes bloques de datos. Si la consulta llegará a más de un pequeño porcentaje de las filas, un escaneo de tabla único suele ser el plan de consulta óptimo.

Varias matrices de discos de conexión directa local en nodos proporcionan más ancho de banda de disco.

Habiendo dicho esto, estoy al tanto de una tienda Oracle DW (una importante compañía europea de telecomunicaciones) que tiene un almacén de datos basado en Oracle que carga 600 GB por día, por lo que la arquitectura de discos compartidos no parece imponer limitaciones insuperables.

Entre MS-SQL y Oracle hay algunas diferencias. En mi humilde opinión, Oracle tiene una mejor compatibilidad VLDB que SQL Server por las siguientes razones:

  • Oracle tiene soporte nativo para índices de mapa de bits , que son una estructura de índice adecuada para consultas de almacén de datos de alta velocidad. Básicamente, hacen una CPU para compensación de E / S ya que están codificados en longitud de ejecución y usan relativamente poco espacio. Por otro lado, Microsoft alega que Index Intersection no es apreciablemente más lenta.

  • Oracle tiene mejores facilidades de partición de tablas que SQL Server. IIRC La partición de tablas en SQL Server 2005 solo se puede realizar en una sola columna.

  • Oracle se puede ejecutar en hardware algo más grande que SQL Server, aunque uno puede ejecutar SQL Server en algunos sistemas bastante respetablemente grandes .

  • Oracle tiene soporte más maduro para vistas materializadas y reescritura de consultas para optimizar las consultas relacionales. SQL2005 tiene alguna capacidad de reescritura de consultas pero está poco documentada y no la he visto utilizar en un sistema de producción. Sin embargo, Microsoft sugerirá que use Analysis Services , que en realidad admite configuraciones de nada compartidas.

A menos que tenga volúmenes de datos verdaderamente bíblicos y esté eligiendo entre Oracle y una arquitectura de nada compartida como Teradata, probablemente verá poca diferencia práctica entre Oracle y SQL Server. Particularmente desde la introducción de SQL2005 las funciones de partición en SQL Server se consideran lo suficientemente buenas y hay muchos ejemplos de sistemas de varios terabytes que se han implementado con éxito en él.


Tengo que estar de acuerdo con aquellos que dijeron que deisgn era más importante.

He trabajado con bases de datos súper rápidas y súper lentas de muchos sabores diferentes (lo peor fue una base de datos Oracle, pero no fue culpa de Oracle). El diseño de la base de datos y la forma en que decida indexarla, dividirla y consultarla tienen mucho más que ver con la escalabilidad que si el producto es de MSSQL Server u Oracle.

Creo que puede encontrar más fácilmente dbas de Oracle con experiencia en bases de datos terrabyte (ejecutar una gran base de datos es una especialidad como conocer un sabor particular de SQL) pero eso podría depender de su área local.


He trabajado como DBA en Oracle (aunque hace algunos años) y uso MSSQL extensivamente ahora, aunque no como DBA formal. Mi consejo sería que, en la gran mayoría de los casos, ambos cumplirán con todo lo que pueda ofrecerles y sus problemas de rendimiento dependerán mucho más del diseño y la implementación de la base de datos que las características subyacentes de los productos, que en ambos casos son absolutas y absolutas. sólido (MSSQL es el mejor producto que hace la EM en opinión de muchas personas, así que no dejes que la percepción habitual de la MS te ciegue).

Yo me inclinaría por MSSQL a menos que tu sistema sea muy grande y verdaderamente a nivel empresarial (números masivos de usuarios, tiempo de actividad múltiple 9, etc.) simplemente porque en mi experiencia Oracle tiende a requerir un mayor nivel de conocimiento y mantenimiento de DBA que MSSQL sacar lo mejor de eso Oracle también tiende a ser más costoso, tanto para la implementación inicial como para el costo de contratar DBA para ello. OTOH si está buscando un sistema empresarial, entonces Oracle tendría la ventaja, sobre todo porque si puede pagarlo, su apoyo es insuperable.