Base de datos de capacidad de 100 TeraBytes - Estimaciones de recursos y tiempo

10

Estoy trabajando en un cálculo 'al revés' para una configuración de base de datos de informes de 100 TB. Estoy buscando pensamientos de los expertos aquí. Ambiente propuesto:

  1. Capacidad de almacenamiento ~ 100TB
  2. Tablas ~ 200, tamaños que van desde 1 GB a 5 TB. el tamaño medio podría estar entre 100GB-200GB
  3. ETL: los trabajos pueden requerir la unión entre tablas de 10 de millones de filas, con claves de unión que van desde 10 bytes a 500 bytes. tales uniones deben terminar en menos de 2-5 minutos
  4. Selecciones en vivo: inicialmente, solo le interesan las velocidades seleccionadas. debería admitir 500 selecciones / segundo. Las actualizaciones / segundo serán un número relativamente mucho menor y pueden ignorarse para este ejercicio.
  5. Necesita disponibilidad 24x7. Deben estar disponibles 2 servidores de base de datos independientes para atender llamadas selectas (con datos replicados).

Preguntas:

  1. En este momento, estoy mirando a Oracle. ¿Cómo ha sido su experiencia con otras soluciones comerciales (o) de código abierto para grandes bases de datos?
  2. ¿Qué hardware-OS has visto que funciona mejor? Estoy planeando Linux en Dell.
  3. ¿Es imprescindible el almacenamiento en red, como NetApp? ¿Qué problemas prevé con el uso de discos comerciales?
  4. Una vez que el hardware y el sistema operativo estén listos, ¿cuánto tiempo dedicaría a configurar, configurar DB, almacenamiento, etc.
  5. ¿Qué composiciones de equipo funcionaron mejor en los entornos que has observado? Quiero decir, los diversos administradores (OS Admin, Oracle DB Admin?) Requeridos para administrar y operar dicha configuración. ¿Cuántos de ellos podrían ser necesarios para lograr un tiempo de actividad de 24x7?
  6. Cualquier aproximación / rango en Licencias DB, Costos de almacenamiento en red.

Sé que no tengo todos los detalles del entorno. No estoy buscando detalles exactos, una aproximación es suficiente. Aunque algunas de las preguntas podrían ser mejor respondidas por los gerentes, estoy interesado en la perspectiva de los administradores. Agradezco tu aporte.

Kash
fuente
1
Creo que esta pregunta es demasiado amplia para responder. Dejaré que otros vean si están de acuerdo antes de progresar.
Philᵀᴹ
1
@ Phil Estoy de acuerdo, no estaba seguro de si esto debería dividirse en varias preguntas, por lo que los usuarios con diferentes conocimientos podrían responder diferentes partes. Pero la descripción del entorno es la misma para todas las preguntas, por lo que se procede a hacer una sola pregunta. Creo que esta puede ser mi primera pregunta sobre SO (aunque soy un usuario habitual de SO), así que considéreme como novato y, si hay una mejor manera de plantear esta pregunta, sugiérale.
Kash
10
Eso suena como un proyecto multimillonario. ¿Basarías ese proyecto en el consejo del foro?
Remus Rusanu
1
@RemusRusanu Esta no es la única fuente de información. Cuando esto pase a la fase de evaluación formal, habrá muchas otras actividades. Tengo una gran opinión sobre los consejos que dan los usuarios de SO. Mientras escribía la pregunta, estaba seguro de que encontraría algunos detalles muy útiles que no había pensado en absoluto.
Kash
1
@RemusRusanu - lo es. El último precio que vi para Netezza fue de $ 20k / TB para los sistemas TwinFin. No estoy seguro de a qué se dedicaría una caja Exadata de esa capacidad. Además, el SLA es bastante agresivo y el sistema parece tener una gran base de usuarios. Es posible que necesite una mayor cantidad de servidores de data mart para manejar la carga de consultas.
Preocupado por

Respuestas:

21

Primeras impresiones

  1. Dependiendo de sus requisitos de rendimiento, 100 TB es un volumen de datos bastante agresivo. Si desea Oracle, debe consultar sus sistemas Exadata. Además, eche un vistazo a las ofertas de Netezza o Teradata. Con ese volumen de selecciones, es posible que desee ver un front-end basado en OLAP o al menos un uso bastante agresivo de vistas materializadas y reescritura de consultas. No obtendrá 500 escaneos de mesa / seg de nada.

    Para cosas con requisitos de latencia menos estrictos, es posible que desee considerar una mayor cantidad de data marts para proporcionar la capacidad de generación de informes a su comunidad de usuarios. En este caso, SQL Server y SSAS podrían ser una opción para los mercados de datos, ya que la licencia en un mayor número de servidores será más barata que intentar hacer lo mismo con Oracle.

  2. Ver (1). Es probable que el hardware convencional en una arquitectura de disco compartido sea lento en este conjunto de datos de tamaño.

  3. ¡NO! Si alguien sugiere que NFS les dé una buena patada. Ya sea almacenamiento de conexión directa o una SAN de controlador múltiple con muchos controladores de rango medio. Piense en términos de tal vez un par de docenas de controladores de la serie MD3000 o algo similar, si no opta por una plataforma de 'big data' especialmente diseñada.

  4. Obtenga un especialista en almacenamiento con experiencia en plataformas de almacenamiento de datos de la gama PB. Probablemente esté preparado para un importante trabajo de desarrollo de ETL, y una gran cantidad de trabajo de prueba si tiene que cumplir con un SLA rígido.

  5. 24x7 en un almacén de datos es ambicioso en el mejor de los casos. ¿Es esta una plataforma de informes operativos? Tal vez podría elaborar un poco sus requisitos.

  6. Esféricamente costoso y dependiente de sus requisitos de rendimiento. Lo último que vi (hace un par de años) Netezza solía cotizar $ 20,000 / TB para los sistemas TwinFin, lo que hace que su plataforma $ 2m por 100TB más el costo de su servidor redundante y hardware de respaldo. Exadata es, creo, un poco más barato, pero no tengo ningún precio a mano.

    Eche un vistazo a Netezza, Exadata y una plataforma Teradata para comparar y los costos de Ab Initio como una herramienta ETL.

Este es un conjunto de requisitos bastante agresivo: 24x7 en un almacén de datos normalmente no se realiza y los volúmenes de datos son lo suficientemente grandes como para colocarlo en el ámbito de una plataforma de 'big data'. Si tiene un requisito de informes operativos, debe analizar detenidamente qué es eso. Manténgalo separado de sus análisis a menos que tenga una razón específica (por ejemplo, una fuente de datos de mercado de baja latencia) para no hacerlo. Mezclar requisitos operativos y analíticos en la misma plataforma es un mal mojo.

Creo que realmente necesita buscar especialistas para evaluar sus requisitos. Sin una mirada más cercana a lo que está tratando de lograr, todo lo que puedo dar son algunas sugerencias empíricas sobre qué hacer o no hacer.

Preocupado por TunbridgeWells
fuente
8

Algunas otras opciones a considerar cuando se trata con volúmenes de datos masivos como este incluyen:

  1. Todo lo que @ConcernedOfTunbridgeWells publicó
  2. Greenplum de EMC
  3. Almacenamiento de datos paralelos de Microsoft

No planee escatimar en costos de hardware en ningún lado. Un sistema con este tipo de especificaciones te costará mucho dinero.

mrdenny
fuente