DiegoEmilio01 / IIC3413

Repositorio del curso Implementación de Sistemas de Bases de Datos
16 stars 1 forks source link

Uso de make_dirty() #9

Open drcid98 opened 3 months ago

drcid98 commented 3 months ago

Hola! Tengo una duda sobre el uso del make_dirty(). Resulta que en el enunciado se habla de que hay que manejar bien su uso, pero se dice solo en la sección del método vacuum:

2024-04-09_22-00

Esto a pesar de ahí mismo se dice que make_dirty() debe ser usado siempre que una página es modificada. Dado esto, se debería también usar make_dirty() cuando la inserción de una tupla es exitosa y cuando se elimina una tupla, cierto?

Gracias!

DiegoEmilio01 commented 3 months ago

Sí, deben utilizar ese método cada vez que deseen que un cambio sea persistente en la BBDD. Las 3 funciones que se pide implementar deben ser persistentes. Pueden usar el _makedirty() de forma lazy o de forma inteligente sólo en los casos necesarios (esto no es evaluado, solo que siempre sea persistente).

drcid98 commented 3 months ago

Súper, gracias! una duda de elo que dijiste, a qué te refieres con la forma lazy o inteligente?

DiegoEmilio01 commented 3 months ago

Por ejemplo, en el método _deleterecord es necesario marcar dirty siempre? Podrías usar _dirdeleted para revisar si ya está borrado. De esa forma te ahorras una operación en disco muy costosa y tu BBDD será más rápida en la práctica. Si bien esto no se evalúa, es bueno que empiecen a obtener esa intuición.