See discussions, stats, and author profiles for this publication at: https://www.researchgate.net/publication/312591951 Introducción a la Administración de base de datos Book · January 2017 CITATION READS 1 5,628 1 author: Jorge Domínguez Chávez Universidad Politécnica Territorial del Estado Aragua 47 PUBLICATIONS 6 CITATIONS SEE PROFILE Some of the authors of this publication are also working on these related projects: Environmental medicine: social and medical aspects View project science View project All content following this page was uploaded by Jorge Domínguez Chávez on 22 January 2017. The user has requested enhancement of the downloaded file. INTRODUCCIÓN A LA ADMINISTRACIÓN DE BASE DE DATOS JORGE DOMÍNGUEZ CHÁVEZ IEASS, Editores VENEZUELA, 2017 Título original: Introducción a la administración de base de datos © Jorge Domínguez Chávez, 2017 © IEASS, editores, Maracay, 2017 1ª edición: enero 2017 Deposito Legal Reservados todos los derechos. No se permite la reproducción total o parcial de esta obra, ni su incorporación a un sistema informático, ni su transmisión en cualquier forma o por cualquier medio (electrónico, mecánico, fotocopia, grabación u otros) sin autorización previa y por escrito de los titulares del copyright. La infracción de dichos derechos puede constituir un delito contra la propiedad intelectual. ISBN 978980680001-4 Portada: https://www.canva.com Tipografías utilizadas: familias Liberation Serif e Impact, Programas: Scribus, LibreOffice IEASS, editores Maracay, Aragua info@ieasseditores.net.ve – www.ieasseditores.net.ve VENEZUELA– Printed in Venezuela ¿Por qué una empresa necesita un DBA? Toda organización que maneja grandes volúmenes de datos requiere un sistema de gestión de base de datos (DBMS). La persona o grupo de personas encargadas de administrar, supervisar y asegurar el adecuado uso de los datos dentro de un DBMS son los DBA1. Estos sistemas manejan grandes volúmenes de datos de una manera eficiente, permitiendo así disponer de una herramienta para la toma de decisiones de negocios. Por lo tanto, la necesidad de los administradores de bases de datos (DBA) es hoy mayor que nunca. ¿Qué funciones realiza un DBA? Gestión General de Base de Datos El DBA es la persona con conocimientos sobre base de datos en una organización. Como tal, debe entender las reglas básicas de la tecnología de base de datos relacional y ser capaz de comunicarlos con precisión a los demás. Modelado de Datos y Diseño de Base de Datos Un DBA debe ser un profesional experto en la recopilación y análisis de las necesidades del usuario para obtener modelos de datos conceptuales y lógicos. Esta tarea es más difícil de lo que parece. Un modelo conceptual de datos describe los requisitos de datos a un nivel muy alto, un modelo de datos lógico proporciona en profundidad los detalles de los tipos de datos, longitudes, relaciones y cardinalidad. El DBA utiliza técnicas de normalización para ofrecer modelos de datos que reflejen las necesidades de los datos de la empresa. Auditoria Una de las tareas de un DBA es identificar qué usuarios tienen acceso a insertar, actualizar o eliminar datos, y cuándo. Una auditoría NO sólo podría ser necesaria por un tiempo limitado, para usuarios específicos o datos específicos. También puede ser requerida 24/7 para todos los datos que se introduzcan en el DBMS. Regularmente, para realizar las funciones de autorías los DBA tienen que trabajar en combinación con los auditores internos y externos de la empresa. Integración con aplicaciones La mayoría de las empresas hoy en día utilizan aplicaciones de terceros (casi nadie ya desarrolla sus propias aplicaciones in-house), muy pocas de estas aplicaciones funcionan de manera aislada. En otras palabras, las aplicaciones tienen que conectarse unas con otras, generalmente utilizando base de datos como el medio para compartir los datos. Los DBA a menudo se involucran en los procesos de integrar las aplicaciones existentes con las bases datos que administran. Esto puede incluir la creación de aplicaciones a medida, scripts, etc. 1 DBA, Administrador de Base de Datos Resguardo y recuperación de datos Uno de los aspectos fundamentales del trabajo del DBA es proteger los datos de la organización. Esto incluye hacer copias de seguridad periódicas de los datos y mantenerlos a salvo de la destrucción accidental o intencional. Además, diseñar, implementar y probar un plan de recuperación para que cuando se presenten los problemas, los datos se restauren rápidamente. Inteligencia de negocios y almacenamiento de datos Una de las áreas de mayor crecimiento para el DBA es la Inteligencia de Negocios (BI) y el almacenamiento de datos. Cada vez más organizaciones están tratando de extraer toda la información posible con el objetivo de tomar mejores decisiones de negocios. Planificación de capacidad En la mayoría de las organizaciones, el número y tamaño de las bases de datos crece rápidamente. Es la responsabilidad del DBA gestionar el creciente volumen de datos y diseñar los planes apropiados para administrarlos. También, incluye la gestión del hardware donde se almacenan los datos. Administración de cambios La configuración del servidor de Base de datos, sea SQL Server, Potsgresql, MariaDb o MySQL, el esquema de base de datos, el código de Transact-SQL, y muchas otras facetas del ecosistema de aplicaciones cambian con el tiempo. Es responsabilidad del DBA realizar el análisis de impacto antes de realizar los cambios dentro de una DBMS. Implementar cambios, hacer pruebas piloto y documentar todos los cambios y procedimientos es parte del trabajo de un DBA. Desarrollo de aplicaciones Muchos DBA deben de desarrollar aplicaciones y scripts con el objetivo de automatizar tareas relacionadas con la inserción, sustracción o borrado de información dentro del gestor de base de datos. En general, éste debe de colaborar a nivel de integración de sistema con los desarrolladores de aplicaciones, por lo que a veces se ve en la obligación de desarrollar código para casos específicos. 20 comandos MySQL para la administración de bases de datos mysqladmin es una utilidad de la linea de comandos que viene incorporada con MySQL Server y es usada por los administradores de bases de datos para realizar algunas tareas básicas como por ejemplo configurar el password del super-usuario (root), cambiarlo, supervisar procesos de MySQL, refrescar privilegios, chequear el estado del servidor, etc. En este apartado, resumimos algunos comandos para mysqladmin muy útiles, los mismos utilizados en el día a día por los administradores de sistemas y bases de datos. Para utilizar los comandos, es necesario tener instalado el servidor de MySQL. 1 - Configurar el password de root Si hacemos una instalación de MySQL, veremos que no requiera password para conectar, por tanto configuramos uno con el siguiente comando: # mysqladmin -u root password PASSWORD_ELEGIDO 2 - Cambiar el password de root Si necesitamos actualizar el password de root en MySQL. Sí el password actual es 123456 y queremos a xyz123 ejecutamos el siguiente comando: #mysqladmin -u root -p123456 password 'xyz123' 3 - Chequear que el servidor MySQL esta activo Para constatar esto, ejecutamos lo siguiente: # mysqladmin -u root -p ping Enter password: mysqld is alive 4 - Chequear que versión de MySQL se esta ejecutando El siguiente comando muestra la versión de MySQL instalada y en ejecución: # mysqladmin -u root -p version Enter password: mysqladmin Ver 8.42 Distrib 5.5.28, for Linux on i686 Copyright (c) 2000, 2012, Oracle and/or its affiliates. All rights re served. Oracle is a registered trademark of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective owners. Server version 5.5.28 Protocol version Connection UNIX socket Uptime: 10 Localhost via UNIX socket /var/lib/mysql/mysql.sock 7 days 14 min 45 sec Threads: 2 Questions: 36002 Slow queries: 0 Opens: 15 s: 1 Open tables: 8 Queries per second avg: 0.059 Flush table 5 - Conocer el estado actual del servidor Este comando, muestra el estado actual, uptime (tiempo encendido), threads (hilos de procesos), y queries (cantidad de consultas). # mysqladmin -u root -ptmppassword status Enter password: Uptime: 606704 Threads: 2 Questions: 36003 Slow queries: 0 Opens: 15 Flush tables: 1 Open tables: 8 Queries per second avg: 0.059 6 - Chequear el estado de las variables del servidor y sus valores Para chequear estos datos, ejecutamos: # mysqladmin -u root -p extended-status Enter password: +------------------------------------------+-------------+ | Variable_name | Value | +------------------------------------------+-------------+ | Aborted_clients | 3 | | Aborted_connects | 3 | | Binlog_cache_disk_use | 0 | | Binlog_cache_use | 0 | | Binlog_stmt_cache_disk_use | 0 | | Binlog_stmt_cache_use | 0 | | Bytes_received | 6400357 | | Bytes_sent | 2610105 | | Com_admin_commands | 3 | | Com_assign_to_keycache | 0 | | Com_alter_db | 0 | | Com_alter_db_upgrade | 0 | | Com_alter_event | 0 | | Com_alter_function | 0 | | Com_alter_procedure | 0 | | Com_alter_server | 0 | | Com_alter_table | 0 | | Com_alter_tablespace | 0 | +------------------------------------------+-------------+ 7 - Chequear el estado de todas las variables del servidor MySQL Para conocer todas las variables activas del servidor y sus valores, ejecutamos lo siguiente. # mysqladmin -u root -p variables Enter password: +--------------------------------------------------+----------------------------------------------+ | Variable_name | | +--------------------------------------------------+----------------------------------------------+ | auto_increment_increment | | | auto_increment_offset | | | autocommit | | | automatic_sp_privileges | | | back_log | | | basedir | | | big_tables | | | binlog_cache_size | | | binlog_direct_non_transactional_updates | | | binlog_format | | | binlog_stmt_cache_size | | Value 1 1 ON ON 50 /usr OFF 32768 OFF STATEMENT 32768 | bulk_insert_buffer_size | 8388608 | | character_set_client | latin1 | | character_set_connection | latin1 | | character_set_database | latin1 | | character_set_filesystem | binary | | character_set_results | latin1 | | character_set_server | latin1 | | character_set_system | utf8 | | character_sets_dir | /usr/share/mysql/ charsets/ | | collation_connection | latin1_swedish_ ci | +--------------------------------------------------+----------------------------------------------+ 8 - Ver todos los procesos que ejecuta el servidor MySQL El siguiente comando los muestra. # mysqladmin -u root -p processlist Enter password: +-------+---------+-----------------+---------+---------+-----+-------+------------------+ | Id | User | Host | db | Command | Time | Stat e | Info | +-------+---------+-----------------+---------+---------+-----+-------+------------------+ | 18001 | rsyslog | localhost:38307 | rsyslog | Sleep | 5590 | | | | 18020 | root | localhost | | Query | 0 | | show processlist | +-------+---------+-----------------+---------+---------+-----+-------+------------------+ 9 - Como crear una base de datos Para crear una base de datos nueva, ejecutamos. # mysqladmin -u root -p create databasename Enter password: Mostrar las bases de datos creadas (show databases). # mysql -u root -p Enter password: Welcome to the MySQL monitor. Commands end with ; or g. Your MySQL connection id is 18027 Server version: 5.5.28 MySQL Community Server (GPL) by Remi Copyright (c) 2000, 2012, Oracle and/or its affiliates. All rights re served. Oracle is a registered trademark of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective owners. Type 'help;' or 'h' for help. Type 'c' to clear the current input sta tement. mysql> show databases; +--------------------+ | Database | +--------------------+ | information_schema | | databasename | | mysql | | test | +--------------------+ 8 rows in set (0.01 sec) mysql> 10 - Borrar una base de datos existente Ejecutando el siguiente comando podrá ser borrada, antes preguntara confirmación. # mysqladmin -u root -p drop databasename Enter password: Dropping the database is potentially a very bad thing to do. Any data stored in the database will be destroyed. Do you really want to drop the 'databasename' database [y/N] y Database "databasename" dropped 11 - Recargar/Refrescar los privilegios MySQL Este comando recarga los privilegios, reabre logs entre otros. # mysqladmin -u root -p reload; # mysqladmin -u root -p refresh 12 - Apagar de forma segura el servidor MySQL Ejecutamos lo siguiente. #mysqladmin -u root -p shutdown Enter password: Podemos también usar los siguientes comandos. # /etc/init.d/mysqld stop # /etc/init.d/mysqld start 13 - Algunos comandos útiles para refrescar datos en MySQL flush-hosts: Refresca toda la información del cache que hostea MySQL. flush-tables: Refresca todas las tablas. flush-threads: Refresca los hilos de ejecución. flush-logs: Refresca todos los logs de información. flush-privileges: Recarga las tablas de privilegios (lo mismo que recargar). flush-status: Limpia el estado de las variables. # # # # # mysqladmin mysqladmin mysqladmin mysqladmin mysqladmin -u -u -u -u -u root root root root root -p -p -p -p -p flush-hosts flush-tables flush-threads flush-logs flush-privileges # mysqladmin -u root -p flush-status 14 - Matar un proceso cliente dormido Ejecutando lo siguiente. # mysqladmin -u root -p processlist Enter password: +----+------+-----------+----+---------+------+------+------------------+ | Id | User | Host | db | Command | Time | State | Info | +----+------+-----------+----+---------+------+------+------------------+ | 5 | root | localhost | | Sleep | 14 | | | | 8 | root | localhost | | Query | 0 | | show processl ist | +----+------+-----------+----+---------+------+------+------------------+ Entonces ejecutamos el siguiente comando: # mysqladmin -u root -p kill 5 Enter password: +----+------+-----------+----+---------+------+------+------------------+ | Id | User | Host | db | Command | Time | State | Info | +----+------+-----------+----+---------+------+------+------------------+ | 12 | root | localhost | | Query | 0 | | show processl ist | +----+------+-----------+----+---------+------+------+------------------+ Si se necesita matar varios procesos, pasamos los ID separados por comas. # mysqladmin -u root -p kill 5,10 15 - Ejecutar varios comandos en una sola linea Para hacerlo, deberían verse de la siguiente manera. # mysqladmin -u root -p processlist status version Enter password: +----+------+-----------+----+---------+------+------+------------------+ | Id | User | Host | db | Command | Time | State | Info | +----+------+-----------+----+---------+------+------+------------------+ | 8 | root | localhost | | Query | 0 | | show processl ist | +----+------+-----------+----+---------+------+------+------------------+ Uptime: 3801 Threads: 1 Questions: 15 Slow queries: 0 Opens: 15 Flush tables: 1 Open tables: 8 Queries per second avg: 0.003 mysqladmin Ver 8.42 Distrib 5.5.28, for Linux on i686 Copyright (c) 2000, 2012, Oracle and/or its affiliates. All rights re served. Oracle is a registered trademark of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective owners. Server version Protocol version Connection UNIX socket Uptime: 5.5.28 10 Localhost via UNIX socket /var/lib/mysql/mysql.sock 1 hour 3 min 21 sec Threads: 1 Questions: 15 Slow queries: 0 Opens: 15 1 Open tables: 8 Queries per second avg: 0.003 16 - Conectar a un servidor remoto Usamos el parámetro -h (host) con la dirección IP. # mysqladmin -h 172.16.25.126 -u root -p 17 - Ejecutar un comando en un servidor remoto Flush tables: Para ver el estado del mismo. # mysqladmin -h 172.16.25.126 -u root -p status 18 - Iniciar/parar replica en un servidor remoto Para iniciar o parar una replica, utilizamos los siguientes comandos. # mysqladmin -u root -p start-slave # mysqladmin -u root -p stop-slave 19 - Guardar información de debug en los logs Información de memoria, entre otros. # mysqladmin -u root -p debug Enter password: 20 - Ver y conocer las opciones de uso de mysqladmin Información sobre mysqladmin, parámetros extras. # mysqladmin --help Problemas Elaborar un algoritmo para calcular el número de CD necesarios para hacer una copia de seguridad, de la información almacenada en un disco cuya capacidad se conoce. Considerar que el disco duro está lleno de información, además expresada en Giga byte. Un CD virgen tiene 700 Mega bytes de capacidad y una Giga byte es igual a 1,024 mega byte. Tres problemas con los cuales tiene que tratar un administrador de base de datos son: El primer problema, ¿cómo determinar el espacio ocupado por la base de datos en el disco duro? El segundo problema, si tiene uno más discos duros en su servidor y tiene que respaldar la información almacenada en discos CD o DVD, ¿cuántos discos CD o DVD necesita? Y tercer problema: ¿cómo determinar la vida útil de un disco duro como medio de almacenamiento? Según su capacidad disponible en función del tiempo. Primer problema Cuando diseña una base de datos y durante su existencia (producción y tareas de mantenimiento), es necesario realizar una estimación del tamaño que tendrá la base de datos cuando esté llena. Esta estimación le ayuda a determinar la configuración de hardware que necesita para realizar lo siguiente: • Conseguir el rendimiento que necesitan las aplicaciones. • Asegurar la cantidad física adecuada de espacio en disco necesario para almacenar los datos y los índices. Asimismo, la estimación del tamaño de la base de datos le ayuda a determinar si el diseño de su base de datos necesita ajustes. Puede determinar que el tamaño estimado de la base de datos es demasiado grande para una implementación en su organización, y que se necesita un mayor grado de normalización. Por el contrario, el tamaño estimado puede ser inferior al esperado, con lo que reduce la normalización de la base de datos para mejorar el rendimiento de las consultas. A veces, necesita saber cuánto espacio ocupan las base de datos de un servidor MySQL. Para calcular qué espacio necesita hacer respaldos (copias de seguridad) durante un período de tiempo, o para supervisar el crecimiento de las bases de datos (si necesita dimensionar una nueva instalación o determinar la escalabilidad de un sistema o aplicación). En MySQL se obtiene esta información con la siguiente consulta: select table_schema "DATABASE", convert(sum(data_length+index_length)/1048576,decimal(6,2)) "SIZE (MB)" from information_schema.tables where table_schema!="information_schema" group by table_schema; ¿Qué hace esta consulta? La tabla "tables" de la base de datos "information_schema" de MySQL tiene información sobre todas las tablas del sistema, incluyendo el espacio que ocupan (en bytes) tanto sus datos como sus índices (si es que tiene). Cada fila de esta tabla representa una tabla, la cual incluye información acerca de la base de datos a la cual pertenece, y el tamaño que ocupa. La idea de la consulta es agrupar (group by) todas las tablas de una misma base de datos (columna table_schema), obteniendo (select) el nombre de la base de datos (table_schema) y el tamaño total (sum) que ocupa la suma de los datos más los índices (data_length+index_length) de cada tabla. Para expresar las unidades en MB (mega bytes), divide el total por 1048576 (=1024*1024) y para dar formato trunca el resultado a dos decimales (convert(x,decimal(6,2))). Vea el siguiente ejemplo de ejecución de la consulta: +----------------------------------+-----------+ | DATABASE | SIZE (MB) | +----------------------------------+-----------+ | blog-linuxito_2012 | 1.59 | | joomla27-2012 | 10.32 | | joomla-bd-testing | 1.69 | | joomla-db-desarrollo | | managementdb | mysql | | 2.27 | 0.41 | 0.66 | | producciondb | | producciondb2 0.77 | | 0.27 | | sitio-back-www-2012-10-05_full | 1137.63 | | sitio-back-www-2012-10-06_diff | | soft-2014 | 37.42 | | test_2009 | 0.22 | | test_pepito_www | | test_joomla1.1 | | test_joomla-6.5912 | www1 2.46 | 602.71 | | www1logs | www2-test 0.82 | 0.11 | | | 0.06 | | | 0.23 | 0.06 | +----------------------------------+-----------+ 18 rows in set (0.09 sec) Tener en cuenta, que sólo funciona con versiones de mysql mayores a 4.1 En algunas ocasiones es necesario saber el tamaño que ocupa una base de datos MySQL en disco. Dicho tamaño suele no coincidir con lo que realmente ocupa en disco, ya que depende mucho de la configuración que se emplee. El uso de la variable innodb_file_per_table hace que en disco ocupe más de lo que realmente debería por datos. Lo mismo sucede si alguna de las tablas está particionada. El uso de disco es mayor que la información que contiene. Por lo tanto, para saber el tamaño que está ocupando en disco, se calcula sumando los valores que están registrados en la tabla TABLES de la base de datos information_schema. mysql> SELECT table_schema "Base de datos", ROUND(SUM(data_length+index_length)/1024/1024,3) "Tamaño (MB)" FROM information_schema.TABLES GROUP BY table_schema; +--------------------+-------------+ | Base de datos | Tamaño (MB) | +--------------------+-------------+ | CV | 75.046 | | gastos_es | 2.109 | | information_schema | | mysql | crm | | 0.008 | 0.456 | 15.328 | | drupal | 272.688 | | zabbix | 9973.641 | | extranet | 838.567 | +--------------------+-------------+ 8 rows in set (1.04 sec) Durante el trabajo diario de MySQL (select, insert, delete, etc.) se van produciendo 'espacios no ocupados o' vacíos’ en las tablas, lo que provoca una pérdida de espacio. En caso de que el tamaño libre sea considerable, entonces debe optimizar la base de datos, para liberar ese espacio libre. MySQL tiene el comando optimize pensando justamente en esta tarea. Una forma sencilla de saber el espacio libre es la que sigue, SELECT table_schema "Base de datos", sum( data_length + index_length ) / 1024 / 1024 "Tamaño (MB)", sum( data_free )/ 1024 / 1024 "Espacio libre (MB)" FROM information_schema.TABLES GROUP BY table_schema; +--------------------+-------------+--------------------+ | Base de datos | Tamaño (MB) | Espacio libre (MB) | +--------------------+-------------+--------------------+ | CV | 75.046 | | gastos_es | 2.109 | | information_schema | | mysql | crm | | 12.00000000 | 0.00000000 | 0.008 | 0.00000000 | 0.456 | 0.00000000 | 15.328 | 9.00000000 | 81.00000000 | | drupal | 272.688 | | zabbix | 9973.641 | 22.00000000 | | extranet | 838.567 | 90.00000000 | +--------------------+-------------+--------------------+ 8 rows in set (9.20 sec) Dos Conceptos Útiles: Tiempo Medio Entre Fallos y Tasa de Fallo Anualizada También, debemos considerar otros aspectos. Veamos cuáles son: En primer lugar, el tiempo medio entre fallos. Es decir, un término estadístico relacionado con la confiabilidad expresada en términos de operación. Es un dato que reportan los fabricantes de discos duros y por lo general está asociado a los mecanismos de discos duros. El tiempo medio de fallo no nos permite determinar la duración de un disco específico ya que solo ofrece un estimado de la confiabilidad de una determinada marca y modelo de discos. Otra de las cuestiones que debemos analizar es el valor que arroja la tasa de fallo anualizada. A diferencia del valor que arroja el tiempo medio entre fallos, la tasa de fallo anualizada es el porcentaje promedio de fallos por año según el número total de unidades similares que han sido instaladas o vendidas por determinado fabricante. Es decir, estima qué porcentaje de determinados discos duros fallarán por defectos de fábrica en un año. Si bien ambos valores ofrecen información significativa e importante, no son los más adecuados si nuestro interés es calcular la vida útil de nuestro disco duro. Tiempo de Uso: ¿Un Factor Importante para Determinar La Expectativa de Vida de Un Disco? Parece algo de sentido común que el tiempo de uso que le damos a un disco duro determinará su expectativa de vida. ¿Acaso no es cierto que cuanto más usamos algo más rápido se gasta? Sí. Pero no. En el caso de los discos duros, para calcular la expectativa de vida no sólo debemos considerar la intensidad con que lo usamos y, además, que estemos utilizando el disco correcto. Un disco duro que ha sido diseñado para ser utilizado en servidores está preparado para un uso realmente intenso. Por lo tanto, si lo usamos en nuestro computador personal, dará seguramente un rendimiento superior en relación a un disco común. Por el contrario, si utilizamos un disco pensado y diseñado para un computador doméstico en un servidor, su rendimiento será deficiente y probablemente su expectativa de vida será mucho menor. Como conclusión, decimos que si utilizamos el disco incorrecto, la tasa de fallo que obtendremos será mayor y, por lo tanto, la vida útil de dicho disco duro será significativamente menor. Entonces, ¿cómo determinamos de manera más o menos acertada la vida útil de un disco duro? A partir de lo expuesto podemos llegar a ciertas conclusiones: • En primer lugar, parece importante no dejarnos llevar solamente por las anécdotas de amigos, familiares o por sus experiencias como usuarios. A menos que conozcamos realmente qué uso le dan al disco, su opinión puede no ser del todo fiable. Además, es importante que sepamos cómo de cuidadosos son al utilizar su computador. Los discos duros, como ya sabemos, son extremadamente sensibles. Por lo tanto, si apagamos el computador apretando directamente el botón de encendido/apagado, si lo exponemos a temperaturas muy altas o muy bajas, si volcamos líquido sobre la CPU o sobre nuestro computador, estamos exponiendo a nuestro dispositivo y al disco duro a fallos graves2 que inevitablemente afectarán su vida útil. • En segundo lugar, también parece acertado, a la hora de adquirir un disco duro, tener en cuenta qué uso le daremos, para qué lo queremos, qué capacidad de almacenamiento esperamos que tenga y cuál es el que más nos conviene de acuerdo a nuestro presupuesto. Siempre es conveniente leer reseñas de revistas y páginas web especializadas y adquirir estos productos de casas especializadas donde su personal de ventas es idóneo para ayudarnos a elegir el mejor disco duro para nosotros. SSDReady: conoce la vida útil de tu SSD Existen diferentes herramientas para diagnosticar un SSD y conocer exactamente la vida útil de que dispone en este momento tu unidad sólida de almacenamiento; una de ellas es SSDReady, y es de las mejores, ofreciendo facilidad de uso y datos claros en pantalla una vez se realiza el diagnóstico. 2 En electrónica, un dispositivo simplemente deja de funcionar. Como fue mencionado unas líneas atrás, la vida útil de un SSD se mide en cantidad de operaciones de escritura y lectura de datos (siendo las escrituras las que realmente afectan al disco), lo que quiere decir que unos 10 GB de escritura al día supone unos 25 años de vida útil en un SSD de última generación, pero 40 GB de escritura al día disminuye su vida hasta unos 7 u 8 años. SSDReady es gratuito y se puede descargar directamente desde su web oficial. Una vez ejecutes el análisis, te indicará cuántas operaciones de escritura has realizado, el promedio de escritura de datos al día y, en general, cuánto tiempo de vida le queda. Tomar en cuenta estos datos es importante para entender cómo funciona una unidad de almacenamiento sólido y en general entender por qué cada uno de estos SSD actuales tiene unos 10 años de vida. Por supuesto, también es muy recomendable seguir consejos básicos para gestionar el consumo de energía de un computador, y en general no ocupar por completo la capacidad de almacenamiento de tu SSD, sino siempre dejar al menos un 15% de su capacidad libre, dado que esto perjudica a su rendimiento. View publication stats