¿Cuánta memoria de computadora se necesita para almacenar un perfil físico de todas las personas vivas?

Mi historia necesita un programa de computadora que tenga perfiles físicos completos para los 7 mil millones de nosotros. Por completo, me refiero a todas las funciones/signos vitales básicos en tiempo real . (Estoy señalando con la mano cómo monitorearíamos esas funciones o ingresaríamos los datos por ahora).

¿Cuánta memoria ocuparía este programa? ¿Qué tipo de... servidor(?) sería necesario para almacenarlo? ¿Podrías acceder a él desde tu computadora de escritorio en casa? ¿Cuánto tiempo llevaría descargarlo, buscar a través de él, etc., los datos de una persona en particular?

Ahora, para ponernos realmente ridículos... si obtuviéramos el mapa genético completo de todos, ¿podríamos almacenarlo también en el programa?

Es posible que desee ver esto: youtube.com/watch?v=Ef-mxjYkllw

Respuestas (5)

  • Para los signos vitales básicos en tiempo real necesitaríamos almacenar 4 números tal vez una vez por segundo:

    4 bytes/número * 4 signos vitales * 86400 segundos/día * 365,25 días/año * 7,4E9 personas = 3.750.000 TB/año (3,75 EB/año)

    Eso costaría entre 200 millones y 1900 millones de dólares estadounidenses, según el tipo de almacenamiento (barato como discos de rotación lenta a 50 USD/TB, o arreglos de almacenamiento SSD de alto rendimiento de lujo a 500 USD/TB). Multiplique con un factor adecuado para tener en cuenta la infraestructura de TI necesaria para administrar esta cantidad de almacenamiento. Aún así, está al alcance de un gobierno o de una gran corporación.

    Para reducir el espacio de almacenamiento en un factor de 10, puede decidir que después de un mes, el historial de constantes vitales se mantenga con un punto de datos por minuto.

  • Para almacenar el genoma completo de 7.400 millones de personas:

    6,5E9 pares de bases * 3 bits/par de bases / 8 bits/byte * 0,25 factor de compresión * 7,4E9 personas = 4 500 000 TB (4,5 EB)

A modo de comparación, se dice que Google tiene entre 10 y 15 EB de datos. Entonces, para almacenar el genoma completo de toda la población mundial, necesitaría aproximadamente la mitad del espacio de almacenamiento utilizado por Google.

¿Por qué necesita tres bits para almacenar 4 estados únicos? Eso me parece un problema de 2 bits. Además, ¿cómo puede justificar un factor de compresión de 0,25 para el genoma humano? Aún así, calculé de forma independiente y obtuve 5 EB, por lo que su resultado final parece legítimo.
Además, si mantiene sus signos vitales en la memoria y los actualiza cada segundo, entonces necesita alrededor de 118 GB de memoria (y ancho de banda por segundo) y no necesita almacenamiento en el disco duro.
Espero que pueda hacer una compresión realmente efectiva de los datos genéticos, ya que la mayor parte del genoma sería común a muchas personas. De hecho, se informa ampliamente que los humanos y los chimpancés comparten aproximadamente el 97% de su genoma, y ​​los humanos y las coles alrededor del 50% :-) De manera similar con los signos vitales: no necesita almacenar los valores cada segundo (diablos, si está yo, tu pulso en reposo está por debajo de 60 BPM), solo los deltas cuando cambian.
Sí, sospecho que podrías comprimir los datos del genoma en más del 75 %. Para un cálculo general, diría que una tasa de compresión del 99 % es probablemente trivialmente alcanzable, y el 99,99 % podría no ser del todo irrazonable, sobre todo porque gran parte de los datos van a ser idénticos o casi idénticos. idéntico para todos los humanos (por lo que podría almacenar una línea de base y luego las diferencias, en lugar de almacenar una copia completa para cada uno).
@MichaelKjörling Estoy totalmente de acuerdo con la estimación de compresión. El alto grado de similitud en los datos permitirá la construcción de muy buenas funciones de predicción de símbolos y, combinado con una codificación eficiente (por ejemplo, codificación aritmética), el 99% parece muy creíble. Diablos, 7zip ya hace esto si crea un archivo sólido que contiene archivos muy similares.

Los cuatro signos vitales son:

  • Temperatura corporal
  • Presión sanguínea
  • Ritmo cardiaco
  • La frecuencia respiratoria

La temperatura varía de 24C a 44C. Cualquier cosa fuera de ese rango es casi seguro fatal. Una lectura de alta calidad tendría una precisión de una décima de grado, por lo que hay 200 valores posibles. Le daremos 1 byte de datos. La temperatura del corazón cambia muy lentamente. 1 lectura cada minuto es probablemente mucho más de lo que necesitaríamos, lo que lleva a un uso total de 1 byte/minuto. Probablemente lo codificaría diferencialmente (registro los cambios de temperatura, porque serán mucho más pequeños) y luego lo comprimiría. Apuesto a que puedes obtener menos de 1 byte/hora.

Presión arterial La presión arterial tiene dos lecturas: sistólica y diastólica. Estos números varían más que la temperatura, especialmente durante el ejercicio. Mientras que una lectura sistólica de 150 mmHg en reposo sugiere hipertensión, durante el ejercicio elimina fácilmente 200 mmHg en una persona sana. Las mediciones se pueden realizar como máximo una vez por latido del corazón, pero en realidad eso es excesivo. Tomar lecturas una vez cada 5 segundos es probablemente lo suficientemente bueno para calificar como "tiempo real". Una vez más, elegiría hacer una codificación diferencial porque la mayoría de las veces el cambio de presión de una muestra a otra es pequeño. Dado que la mayoría de las lecturas son un cambio de menos de 8 mmHg y una precisión de informe típica de 1 mmHg, obtendríamos un promedio de 6 bits por lectura (3 para sistólica, 3 para diastólica) o 72 bits/min.

La frecuencia cardíaca varía de manera similar a la presión arterial. De hecho, típicamente varían juntos. Para simplificar, asignaré los mismos 3 bits de datos codificados diferenciales para 36 bits/min.

Ritmo respiratorio Esto es difícil de medir a un ritmo alto porque cosas como hablar hacen que respiremos de manera irregular. Podríamos leer esto una vez por minuto. Los valores típicos son 10-40 y probablemente podamos medirlos una vez cada 30 segundos. En este punto, puedo ver que las estadísticas cardíacas van a dominar la utilización de datos, por lo que no intentaré reducir más la frecuencia de datos respiratorios.

Los factores dominantes son la frecuencia cardíaca y la presión arterial, para una suma total de 108 bits/min o alrededor de 14 bytes/min. Multiplicando por 525600 minutos/año nos da 7,3 MB/año por persona, o 54.000 TB/año para toda la humanidad . (Nota: esto es mucho más barato que la estimación de AlexP porque estoy almacenando datos con mucha menos frecuencia y me tomé el tiempo para codificar/comprimir los datos)

cuanto tardaria en descargarlo

Usando la estimación de 4.5 EB y Gigabit ethernet:

4.5 mi B 1 , 000 , 000 mi B GRAMO B 8 b B 1 GRAMO b s = 36 , 000 , 000  segundos

Eso es un poco más de un año (31,5 millones de segundos). Tenga en cuenta que es poco probable que en realidad tenga una tubería ancha Gigabit desde el servidor hasta el escritorio. Por lo tanto, un año debe considerarse el límite inferior. Y, por supuesto, durante ese año, agregaría más datos, lo que tardaría un año en descargarse. Nunca te pondrías al día.

Entonces, eliminemos la descarga de la mesa.

Como ya se señaló , esto es similar en tamaño a Google (aproximadamente de la mitad a un tercio de Google por año). Por lo tanto, la mayoría de las búsquedas deberían ser factibles en unos pocos segundos. Sin embargo, tratar de buscar por signos vitales o ADN parcial sería más difícil. Demasiados datos duplicados.

La cifra de 4,5 EB corresponde a la cantidad total de datos de todas las personas. Digamos que la población mundial crece un 2 % por año (eso es alto; he visto la cifra de 1,7 % en las últimas décadas), eso es un aumento en la cantidad de datos de 0,09 EB por año. Si no me equivoco, eso tomaría 720,000 segundos o alrededor de 8 días para transferir a través de una tubería de 1 Gb/s. Definitivamente te pondrás al día con el tiempo.
@MichaelKjörling Podría ponerse al día con los datos genéticos, pero aún tiene los datos de signos vitales. Eso es 3,75 EB cada año para datos de signos vitales.
No si utiliza una codificación razonable como por ejemplo la propuesta por Cort Ammon. No es necesario utilizar 32 bits (rango de 0 a 4300 millones) una vez por segundo para almacenar la frecuencia cardíaca de una persona, por ejemplo.

Que tipo de Servidores

Mucho depende de cómo planee usar los datos. Cuando me preguntan sobre qué tipo de servidores, siempre hago las siguientes preguntas:

  • ¿Dónde se va a acceder?
  • ¿Con qué frecuencia vas a acceder a él?
  • ¿Los datos son transaccionales o para análisis de datos?
  • ¿Cuántos usuarios accederán a los datos en todo momento?
  • ¿Qué tan consistentes deben ser los datos (es decir, podemos tolerar datos inconsistentes temporalmente a medida que se actualizan?)

Ejemplo 1: la NSA

Actualmente, la NSA está aspirando todos los metadatos que puede para cada punto de datos que puede (llamadas telefónicas, correo electrónico, redes sociales, etc.). Esto se almacena en un centro de datos masivo en Utah. Su preocupación es la recolección y la retención. Número limitado de consultas de un número limitado de usuarios que pueden tolerar un tiempo de respuesta de consulta lento.

Ejemplo 2: Google

Google opera múltiples centros de datos, distribuidos geográficamente en todo el mundo. Esto reduce el tiempo de retraso de una solicitud de información al tener centros de datos más cerca de la solicitud y distribuye la carga de consultas entre los diversos centros. Cada centro es enorme y ejecuta grandes bancos de servidores con sistemas operativos patentados, llamados Google File System .

¿Podrías acceder a él desde tu computadora de escritorio en casa?

Sí, si así está diseñado. Google está en el ámbito de lo que estás hablando, y millones lo usan todos los días.

¿Cuánto tiempo llevaría descargarlo ? No lo harías. Los datos residirían en los centros de datos. Haría una pregunta, el centro de datos realizaría la consulta y devolvería el resultado.

¿Cuánto tiempo llevaría buscar a través de él... los datos de una persona en particular?

Si se indexa y diseña correctamente, los resultados pueden ser muy rápidos. Si desea realizar consultas ad-hoc (preguntas para las que el sistema no fue diseñado para dar una respuesta rápida. Diga "Muéstrame cuántas personas, por país, en este momento tienen una presión arterial sistólica superior a 120"), entonces eso es un asunto diferente todos juntos. Puede tomar minutos o días. Otro tema en el que quizás no hayas pensado es identificar a las personas. Quiere ver los signos vitales de John Smith. Multa. ¿A cuál de los 10.000 John Smith desea acceder?

Genoma humano

El Genoma Humano tiene alrededor de 3 mil millones de pares de bases . Estos se componen de cuatro bases , adenina que se une a la timina y citosina que se une a la guanina. Si asumimos 4 combinaciones posibles (at, ta, cg y gc), podemos representar un par de bases con 2 bits. 3 mil millones de veces 2 bits = alrededor de 250 MB. 250M por 7 billones es igual a 1.75EB. Este sitio estima un costo de $400 millones para un centro de datos de 1.8 EB.

Tenga en cuenta, también, que el cerebro humano tiene más de 100 mil millones de neuronas. Cada neurona se puede conectar a alrededor de 10.000 otras neuronas. Si está hablando de recrear una Persona ("p mayúscula"), necesitaría almacenar el patrón sináptico de la neurona de esa persona.

Entonces, 100,000,000,000 * 10,000 = 1 * 10 ^ 15 conexiones neuronales posibles

La ubicación y proximidad de cada neurona no es un asunto trivial. Por lo tanto, debe sumar las coordenadas x, y y z de cada neurona. (En realidad, solo necesita hacer las neuronas porque el resto del cuerpo es un soporte vital. El cerebro, o específicamente el patrón, debe ser perfecto, o la persona será diferente).

el cerebro humano promedio mide 6 pulgadas de largo, por lo que necesita al menos ese tamaño de escala. debido al alto grado de precisión necesario, sugeriría convertir a nanómetros, que 6 pulgadas = 1.524 * 10 ^ 8 nm (estos números se están saliendo de control).

cada dígito numérico se puede mostrar con 2 bits (0-9 sería 00-11). Entonces, está viendo 3 (2 (1.524 * 10 ^ 8)) (1 * 10 ^ 15) = 9.144e + 23 bits solo para la ubicación.

9.144e+23 bits / 8 = 1.143e+23 bytes = 14 287 500 000 terabytes

Además, cada conexión está activada o desactivada. Entonces, (1*10^15) * 2 = 2*10^15 bits = 250 terabytes

Solo para capturar el patrón del cerebro, necesitarías 14,287,500,250 terabytes solo para capturar una instantánea del cerebro de la persona.

Razonablemente, solo necesita un mapa de la parte "wetware". pero necesitas un patrón activo del cerebro. digamos 10 segundos (esto es arbitrario, pero debe ser distinto de cero para mantener un patrón). El patrón también debería ejecutarse en un emulador del cerebro, pero aumentemos el almacenamiento 10 veces. entonces 2500 terabytes.

14.287.502.500 terabytes por persona * 7400 millones de personas = 1,0572752e+20 terabytes o 100.000.000.000 zetabytes.

Obviamente, esto es un uso MUY ineficiente del espacio de almacenamiento y podría reducirse significativamente con la compresión.

Pidió mapear el genoma, no las conexiones neuronales.
Sin embargo, el genoma por sí solo no tendría sentido para almacenar personas. el genoma simplemente dice cómo hacer un cuerpo. Una persona es el patrón neuronal.
@JoshW El OP tampoco pidió almacenar personas. Realmente no dijo cuál es el propósito.