¿Cuál es la forma más fácil de mover datos de una base de datos a otra base de datos de respaldo usando SQLalchemy?

Soy relativamente nuevo en SQLalchemy y he realizado la creación, inserción, actualización y eliminación de bases de datos básicas. Lo he encontrado bastante simple de usar hasta ahora. Mi pregunta es:

Quiero mover registros de una base de datos a otra base de datos de respaldo. ¿Cuál es la forma más sencilla de hacer esto en SQLalchemy?

preguntado el 27 de agosto de 11 a las 17:08

Quizás necesito explicar más. Estoy ejecutando scripts de Python que crean bases de datos, insertan y actualizan registros utilizando los datos que se les proporcionan. Lo que quiero hacer es mover registros completados (llenos de datos requeridos) a otra base de datos para mantener una pequeña base de datos actual. Esto lo hará el proceso, no alguien que lo haga manualmente. -

P-1: ¿De cuántas tablas consta su base de datos? P-2: Tienes un poco abiertas y algo terminado datos, y le gustaría move terminado datos a otro Archivo base de datos. ¿Es esto correcto? -

Tengo una base de datos ("data.db") con una tabla en la que se crean los registros. Los registros se llenan de resultados a lo largo del tiempo. No tengo mucho conocimiento de sql, pero pensé que no quería que la base de datos fuera demasiado grande y difícil de manejar, por lo que una vez que los registros estuvieran completos, esos registros se moverían a otra base de datos ("Another Database.db"). Pensé que una base de datos con grandes cantidades de registros podría volverse lenta. Si moverlo a otra tabla en la misma base de datos sería igual de bueno, avíseme. Cualquier consejo es bienvenido. -

Escribí una función aquí para copiar una sola tabla: stackoverflow.com/a/21677971/1675586 -

2 Respuestas

Debería ir directamente a las utilidades de la base de datos y hacer una copia de seguridad allí. Nada que ver con SQLAlchemy

Respondido 27 ago 11, 21:08

No quiero que la base de datos sea demasiado grande y difícil de manejar

El escalado de la base de datos es un tema importante, pero aún encaja en el ámbito de la optimización, que se puede resumir en tres reglas simples:

  1. no
  2. no
  3. (Solo expertos) ¡Perfil primero!

Lo que esto significa para su pregunta es que probablemente no debería optimizar el tamaño de sus datos hasta que tenga una buena idea de

  • ¿Cuántos datos tienes realmente?
  • ¿Cuáles son las consultas que ejecuta regularmente sobre esos datos? que consultas son lento?
  • ¿Qué puede hacer su base de datos de forma nativa para ayudar?

Lo que a primera vista puede parecer una gran cantidad de datos, a menudo no es motivo de preocupación. Una buena regla general es que si su conjunto de datos cabe en la memoria, no tiene un gran conjunto de datos.

Incluso si tiene un gran conjunto de datos, a menudo ocurre que solo una pequeña parte es relevante (las filas no "completadas") realmente afectan las consultas. Puede hacer que eso funcione bien simplemente creando la combinación correcta de índices, de modo que su base de datos pueda encontrar y operar fácilmente en las filas que realmente consulta.

Y puede ser que esté utilizando una base de datos para algo incorrecto. Lo que está describiendo, algunos datos entran, se quedan hasta que se procesan y luego se archivan, suena sospechosamente similar a un cola. Las colas persistentes y distribuidas están ampliamente disponibles (eche un vistazo a apio para un marco de Python basado en colas) y puede ser más adecuado para el problema que está tratando de resolver.

Respondido el 04 de Septiembre de 11 a las 07:09

Gracias por la respuesta detallada. Creo que mi mejor opción es "hacer la lectura". Trabajé con SQL porque tengo poca experiencia con él. Revisaré el apio porque, para ser honesto, no tengo idea de qué es. Tu respuesta me ha dado mucho para continuar. - Ross Warwick

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.