Ir al contenido


Foto

Estrategia para BackUp de BD


  • Por favor identifícate para responder
7 respuestas en este tema

#1 giulichajari

giulichajari

    Advanced Member

  • Miembros
  • PipPipPip
  • 477 mensajes

Escrito 16 septiembre 2015 - 12:00

Hola amigos.. no quiero que me pasen codigo de mysql o delphi. Porque lo que quiero saber antes es COMO hacer un back up:

 

Hacer un select de cada registro y luego insertarlo en la copia es lo primero que pense, pero para eso debo tener no solo la base de datos sino el motor de MYSQL corriendo en la pc o dispositivo donde copio los datos.

 

Para mi lo correcto es copiar solo los datos ya sea en XML o Excel.., para luego insertarlos en caso de que se pierda la BD... o lo que sea.

 

Otra alternativa es el Dump SQL File, que es un script para la creacion tanto del esquema(bd) como del ejemplar de la bd(bd con datos hasta un momento dado).


  • 0

#2 Agustin Ortu

Agustin Ortu

    Advanced Member

  • Moderadores
  • PipPipPip
  • 831 mensajes
  • LocationArgentina

Escrito 16 septiembre 2015 - 12:28

Realmente no entendi..

 

Cuando se trata de backups siempre utilizo las herramientas "oficiales"

 

gbak en firebird

"BACKUP DATABASE TO DISK" en ms sql server

no use nunca mysql, pero revisa esto https://dev.mysql.co...up-methods.html


  • 0

#3 Nikolas

Nikolas

    Advanced Member

  • Miembro Platino
  • PipPipPip
  • 604 mensajes
  • LocationMar del Plata / Bs As / Argentina

Escrito 17 septiembre 2015 - 09:15

 

Cuando se trata de backups siempre utilizo las herramientas "oficiales"

 

 

ni hablar, es una locura hacerlo en codigo, más aun con herramientas existentes para tal proposito.


  • 0

#4 Agustin Ortu

Agustin Ortu

    Advanced Member

  • Moderadores
  • PipPipPip
  • 831 mensajes
  • LocationArgentina

Escrito 17 septiembre 2015 - 09:18

Igual ojo, distinto es el caso de hacer uso de ellas

Yo por ejemplo me cree un servicio en Delphi que corre en segundo plano y según ciertos parámetros como frecuencia, día, fecha, hora, etc lanza un backup contra determinada BD; pero simplemente invoca la sentencia sql para hacer un backup sql server, o si es firebird llama a gbak

Enviado desde mi XT1032 mediante Tapatalk
  • 0

#5 giulichajari

giulichajari

    Advanced Member

  • Miembros
  • PipPipPip
  • 477 mensajes

Escrito 18 septiembre 2015 - 04:22

Claro, el mismo MySQL Workbench tiene la herramienta de buckup, el mysqldump por ejemplo...

Ahora bien.. ustedes no tienen dentro de la misma aplicacion de Delphi un proceso para el backup, o lo hacen desde el motor de base de datos, con algun programa: yo conozco Navicat por ejemplo que exporta a excel, csv, xml, etc...

 

Por ejemplo si la aplicacion es cliente servidor? no se puede hacer backup por internet para no ir al lugar de la bd?


  • 0

#6 Delphius

Delphius

    Advanced Member

  • Administrador
  • 6.295 mensajes
  • LocationArgentina

Escrito 18 septiembre 2015 - 07:17

Una cosa es hacer un backup y otra es exportar.

Lo importante es que se haga el backup periodicamente. Ya sea que la aplicación lo delegue al motor, pasándole algún comando por ejemplo, o una tarea programada que lo haga de forma automática... No interesa como se proceda mientras se haga.

 

Lo ideal es como sugieren los compañeros: utilizar las herramientas oficiales.

 

En un ambiente cliente/servidor quizá lo más adecuado es tener en el equipo servidor una aplicación que lo haga, o bien aprovechar si es que el propio Sistema gestor de base de datos cuenta con alguna herramienta o funcionalidad que haga respaldos de forma automática.

 

La posibilidad de que nuestras propias aplicaciones cuenten con un módulo de administración para que el DBA haga el trabajo (previa autenticación y otras medidas de seguridad de por medio) es otra buena alternativa.

 

Lo de hacerlo vía internet puede ser un tanto peligroso... imagínate que se caiga la conexión, y que además puede dar motivos a que se deje una posible puerta por donde cualquiera pueda entrar (para alguien que sabe, y si tiene interés tarde o temprano te entra. Y convengamos que es más fácil dejar una puerta abierta por error y que ni nos enteramos de eso). Lo preferible es que los backups se hagan in situ. Se supone que lo ideal es que exista un server dedicado en un área física al que sólo el personal autorizado tenga acceso.

 

Saludos,


  • 1

#7 giulichajari

giulichajari

    Advanced Member

  • Miembros
  • PipPipPip
  • 477 mensajes

Escrito 25 septiembre 2015 - 10:11

Una cosa es hacer un backup y otra es exportar.

 

 

Saludos,

Y cual es la diferencia..perdona mi ignorancia..la ventaja seria no tener que cargar los datos(importarlos)?


  • 0

#8 Delphius

Delphius

    Advanced Member

  • Administrador
  • 6.295 mensajes
  • LocationArgentina

Escrito 25 septiembre 2015 - 11:21

Y cual es la diferencia..perdona mi ignorancia..la ventaja seria no tener que cargar los datos(importarlos)?

 

Realizar un respaldo implica emplear herramientas segura, oficial, y específicamente diseñada para tener una copia de TODA la metadata de una base de datos. Luego esta copia puede ser restaurada ante un problema (como una corrupción de archivo, o eliminaciones de registros por error, etc) de ser necesario y volver al estado original. Es un medio seguro, y estable para llevar un control exacto del estado general de una base de datos y minimiza los riesgos.

Por lo general cuando uno aplica un Backup&Restore además está aplicando una "limpieza" de la base de datos. Cada motor implementa sus propios métodos de mantenimiento y las técnicas que permiten llevar el seguimiento de las transacciones abiertas, las confirmadas, y las en ejecución. En la medida en que se van realizando operaciones (ABM) sobre la base de datos, el motor va llevando un "historial" de los cambios y acumulando "basura".

Los backups&Restore limpian esta basura y vuelve a poner a punto la base de datos, y con el agregado extra de ganar velocidad, y espacio en disco. Una exportación no controla nada de esto.

 

Cuando uno exporta lo que está haciendo es volcar los DATOS (que no necesariamente toda la metadata, sobre todo lo que hace a las estructuras) a un formato de tercero para ser leído, procesado o almacenado por una herramienta de terceros (por ejemplo, exportar los datos de una tabla a formato Excel, o CSV) El proceso inverso (importar) implica capturar los datos de este mismo formato (u otro) y pasarlo a las estructuras (tablas) de una base de datos. El procedimiento de exportar/importar nunca fue pensado para realizar copias de respaldo. Ya que como he dicho, no lleva consigo la metadata de las estructuras. Es más, simplemente toman una "foto instantánea" de ese momento de la(s) tabla(s) que uno solicita, no hay nada de control sobre los cambios a posterior, de transacciones pendientes, etc.  Generalmente se emplea para realizar pequeños informes o resúmenes no contemplados (y que rara vez se van a volver a pedir) en el diseño original de la base de datos o ante la imposibilidad de hacerlo mediante el sistema que utiliza y explota dicha base de datos.

 

Asi que mejor piensa en realidad que estás haciendo y por sobre todo PARA QUE o con que FINALIDAD lo estás haciendo. ;)

 

Saludos,


  • 0




IP.Board spam blocked by CleanTalk.