ACID ਤੁਹਾਡੇ ਡਾਟਾਬੇਸ ਦੇ ਡੇਟਾ ਨੂੰ ਸੁਰੱਖਿਅਤ ਰੱਖਦਾ ਹੈ
ਡਾਟਾਬੇਸ ਸਿਧਾਂਤ ਦਾ ਏਸੀਆਈਡ ਮਾਡਲ ਡਾਟਾਬੇਸ ਸਿਧਾਂਤ ਦੀ ਸਭ ਤੋਂ ਪੁਰਾਣੀ ਅਤੇ ਸਭ ਤੋਂ ਮਹੱਤਵਪੂਰਨ ਸੰਕਲਪਾਂ ਵਿੱਚੋਂ ਇੱਕ ਹੈ. ਇਹ ਚਾਰ ਟੀਚੇ ਤੈਅ ਕਰਦਾ ਹੈ ਕਿ ਹਰੇਕ ਡਾਟਾਬੇਸ ਪ੍ਰਬੰਧਨ ਪ੍ਰਣਾਲੀ ਨੂੰ ਪ੍ਰਾਪਤ ਕਰਨ ਦੀ ਕੋਸ਼ਿਸ਼ ਕਰਨੀ ਚਾਹੀਦੀ ਹੈ: ਐਂਟੀਮਿਸਿਟੀ, ਇਕਸਾਰਤਾ, ਅਲੱਗਤਾ ਅਤੇ ਟਿਕਾਊਤਾ ਇੱਕ ਰਿਲੇਸ਼ਨਲ ਡੈਟਾਬੇਸ ਜੋ ਇਹਨਾਂ ਵਿੱਚੋਂ ਕਿਸੇ ਵੀ ਚਾਰ ਟੀਚਿਆਂ ਨੂੰ ਪੂਰਾ ਕਰਨ ਵਿੱਚ ਅਸਫਲ ਰਹਿੰਦਾ ਹੈ, ਨੂੰ ਵਿਸ਼ਵਾਸਯੋਗ ਨਹੀਂ ਮੰਨਿਆ ਜਾ ਸਕਦਾ. ਇੱਕ ਡਾਟਾਬੇਸ ਜਿਸ ਵਿੱਚ ਇਹ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਹੁੰਦੀਆਂ ਹਨ ਨੂੰ ACID- ਅਨੁਕੂਲ ਮੰਨਿਆ ਜਾਂਦਾ ਹੈ.
ਏਸੀਆਈਡੀ ਪਰਿਭਾਸ਼ਿਤ
ਆਉ ਕੁਝ ਪਲ ਕੱਢੀਏ ਤਾਂ ਕਿ ਇਹ ਹਰ ਇਕ ਗੁਣ ਨੂੰ ਵਿਸਥਾਰ ਨਾਲ ਵੇਖ ਸਕੀਏ:
- ਐਂਟੀਕਾਈਟੀ ਨੇ ਕਿਹਾ ਕਿ ਡਾਟਾਬੇਸ ਵਿੱਚ ਸੋਧਾਂ ਨੂੰ "ਸਭ ਜਾਂ ਕੁਝ" ਨਿਯਮ ਦਾ ਪਾਲਣ ਕਰਨਾ ਚਾਹੀਦਾ ਹੈ. ਹਰੇਕ ਸੰਚਾਰ ਨੂੰ "ਪ੍ਰਮਾਣੂ" ਕਿਹਾ ਜਾਂਦਾ ਹੈ. ਜੇ ਟ੍ਰਾਂਜੈਕਸ਼ਨ ਦਾ ਇੱਕ ਹਿੱਸਾ ਅਸਫਲ ਹੋ ਜਾਂਦਾ ਹੈ, ਤਾਂ ਸਾਰੀ ਟ੍ਰਾਂਜੈਕਸ਼ਨ ਅਸਫਲ ਹੋ ਜਾਂਦੀ ਹੈ. ਇਹ ਬਹੁਤ ਮਹੱਤਵਪੂਰਨ ਹੈ ਕਿ ਡਾਟਾਬੇਸ ਪ੍ਰਬੰਧਨ ਸਿਸਟਮ ਕਿਸੇ ਵੀ ਡੀ ਬੀ ਐਮ ਐਸ, ਓਪਰੇਟਿੰਗ ਸਿਸਟਮ ਜਾਂ ਹਾਰਡਵੇਅਰ ਫੇਲ੍ਹ ਹੋਣ ਦੇ ਬਾਵਜੂਦ ਟ੍ਰਾਂਜੈਕਸ਼ਨਾਂ ਦੇ ਪ੍ਰਮਾਣੂ ਸੁਭਾਅ ਨੂੰ ਕਾਇਮ ਰੱਖਦਾ ਹੈ.
- ਇਕਸਾਰਤਾ ਬਿਆਨ ਕਰਦੀ ਹੈ ਕਿ ਡਾਟਾਬੇਸ ਵਿੱਚ ਕੇਵਲ ਵੈਧ ਡਾਟਾ ਹੀ ਲਿਖਿਆ ਜਾਵੇਗਾ. ਜੇ, ਕਿਸੇ ਕਾਰਨ ਕਰਕੇ, ਇਕ ਸੰਚਾਰ ਨੂੰ ਲਾਗੂ ਕੀਤਾ ਜਾਂਦਾ ਹੈ ਜੋ ਡਾਟਾਬੇਸ ਦੇ ਇਕਸਾਰਤਾ ਨਿਯਮਾਂ ਦੀ ਉਲੰਘਣਾ ਕਰਦਾ ਹੈ, ਤਾਂ ਸਾਰੀ ਸੰਚਾਲਨ ਵਾਪਸ ਲਿਆ ਜਾਏਗੀ ਅਤੇ ਡਾਟਾਬੇਸ ਉਹਨਾਂ ਨਿਯਮਾਂ ਅਨੁਸਾਰ ਇਕ ਰਾਜ ਵਿਚ ਬਹਾਲ ਕੀਤਾ ਜਾਵੇਗਾ. ਦੂਜੇ ਪਾਸੇ, ਜੇਕਰ ਕੋਈ ਲੇਣ ਸਫਲਤਾਪੂਰਵਕ ਚੱਲਦਾ ਹੈ, ਤਾਂ ਇਹ ਡਾਟਾਬੇਸ ਨੂੰ ਇਕ ਅਜਿਹੇ ਰਾਜ ਤੋਂ ਲੈ ਜਾਵੇਗਾ ਜੋ ਕਿਸੇ ਹੋਰ ਰਾਜ ਦੇ ਨਿਯਮਾਂ ਨਾਲ ਮੇਲ ਖਾਂਦਾ ਹੈ ਜੋ ਨਿਯਮਾਂ ਨਾਲ ਮੇਲ ਖਾਂਦਾ ਹੈ.
- ਅਲਹਿਦਗੀ ਲਈ ਇਹ ਜ਼ਰੂਰੀ ਹੈ ਕਿ ਇੱਕੋ ਸਮੇਂ ਤੇ ਕਈ ਟ੍ਰਾਂਜੈਕਸ਼ਨਾਂ ਇਕ ਦੂਜੇ ਦੇ ਐਗਜ਼ੀਕਿਊਸ਼ਨ ਤੇ ਅਸਰ ਨਾ ਕਰਨ. ਮਿਸਾਲ ਦੇ ਤੌਰ ਤੇ, ਜੇ ਜੋਅ ਇੱਕ ਡਾਟਾਬੇਸ ਦੇ ਖਿਲਾਫ ਇਕੋ ਸਮੇਂ ਕਿਸੇ ਟ੍ਰਾਂਜੈਕਸ਼ਨ ਨੂੰ ਜਾਰੀ ਕਰਦਾ ਹੈ, ਤਾਂ ਮੈਰੀ ਵੱਖਰੇ ਟ੍ਰਾਂਜੈਕਸ਼ਨ ਦੀ ਸ਼ਿਕਾਇਤ ਕਰਦਾ ਹੈ, ਦੋਵੇਂ ਟ੍ਰਾਂਜੈਕਸ਼ਨਾਂ ਨੂੰ ਇਕ ਵੱਖਰੇ ਤਰੀਕੇ ਨਾਲ ਡਾਟਾਬੇਸ ਤੇ ਚਲਾਉਣਾ ਚਾਹੀਦਾ ਹੈ. ਡੇਟਾਬੇਸ ਨੂੰ ਚਾਹੀਦਾ ਹੈ ਕਿ ਜੋਅ ਦੀ ਪੂਰੀ ਟ੍ਰਾਂਸਪੋਰਟ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ ਮਰਿਯਮ ਨੂੰ ਲਾਗੂ ਕਰਨ, ਜਾਂ ਉਪ-ਉਲਟ ਇਹ ਜੋਅ ਦੀ ਟ੍ਰਾਂਜੈਕਸ਼ਨ ਨੂੰ ਮਰੀ ਦੀ ਟ੍ਰਾਂਜੈਕਸ਼ਨ ਦੇ ਹਿੱਸੇ ਦੇ ਮਾੜੇ ਪ੍ਰਭਾਵ ਦੇ ਰੂਪ ਵਿੱਚ ਤਿਆਰ ਕੀਤੀ ਇੰਟਰਮੀਡੀਏਟ ਡੇਟਾ ਨੂੰ ਪੜਨ ਤੋਂ ਰੋਕਦੀ ਹੈ ਜੋ ਅੰਤ ਵਿੱਚ ਡਾਟਾਬੇਸ ਲਈ ਸਮਰਥਿਤ ਨਹੀਂ ਹੋਵੇਗੀ. ਨੋਟ ਕਰੋ ਕਿ ਅਲਹਿਦਗੀ ਦੀ ਜਾਇਦਾਦ ਇਹ ਯਕੀਨੀ ਨਹੀਂ ਕਰਦੀ ਕਿ ਕਿਹੜਾ ਟ੍ਰਾਂਜੈਕਸ਼ਨ ਪਹਿਲਾਂ ਐਗਜ਼ੀਕਿਊਟ ਕੀਤੀ ਜਾਏਗੀ - ਕੇਵਲ ਉਹ ਟ੍ਰਾਂਜੈਕਸ਼ਨ ਇੱਕ ਦੂਜੇ ਦੇ ਵਿੱਚ ਦਖ਼ਲ ਨਹੀਂ ਦੇਵੇਗਾ
- ਟਿਕਾਊਤਾ ਇਹ ਯਕੀਨੀ ਬਣਾਉਂਦਾ ਹੈ ਕਿ ਡੇਟਾਬੇਸ ਲਈ ਕੋਈ ਵੀ ਸੌਦੇਬਾਜ਼ੀ ਖਤਮ ਨਹੀਂ ਹੋਵੇਗੀ. ਡਾਟਾਬੇਸ ਬੈਕਅਪ ਅਤੇ ਟ੍ਰਾਂਜੈਕਸ਼ਨ ਲੌਗ ਦੀ ਵਰਤੋਂ ਦੁਆਰਾ ਸਥਿਰਤਾ ਯਕੀਨੀ ਬਣਾਈ ਗਈ ਹੈ ਜੋ ਕਿ ਬਾਅਦ ਵਾਲੇ ਸੌਫਟਵੇਅਰ ਜਾਂ ਹਾਰਡਵੇਅਰ ਅਸਫਲਤਾਵਾਂ ਦੇ ਬਾਵਜੂਦ ਕੀਤੇ ਵਪਾਰਾਂ ਦੀ ਬਹਾਲੀ ਦੀ ਸੁਵਿਧਾ ਦਿੰਦੀ ਹੈ.
ਪ੍ਰੈਕਟਿਸ ਵਿਚ ਐਸੀਡ ਕਿਵੇਂ ਕੰਮ ਕਰਦਾ ਹੈ
ਡਾਟਾਬੇਸ ਪ੍ਰਬੰਧਕ ਏਸੀਆਈਡੀ ਲਾਗੂ ਕਰਨ ਲਈ ਕਈ ਰਣਨੀਤੀਆਂ ਦਾ ਪ੍ਰਯੋਗ ਕਰਦੇ ਹਨ.
ਇਕ ਐਂਟੀਮੀਸਿਟੀ ਅਤੇ ਟਿਕਾਊਤਾ ਨੂੰ ਲਾਗੂ ਕਰਨ ਲਈ ਇਸਤੇਮਾਲ ਕੀਤਾ ਜਾ ਰਿਹਾ ਹੈ, ਲਿਖਣ ਲਈ ਅੱਗੇ ਲਾਗਿੰਗ (WAL) ਜਿਸ ਵਿਚ ਕਿਸੇ ਵੀ ਲੇਖਾ ਜੋਖਾ ਵੇਰਵੇ ਨੂੰ ਪਹਿਲਾਂ ਲੌਗ ਵਿਚ ਲਿਖਿਆ ਜਾਂਦਾ ਹੈ ਜਿਸ ਵਿਚ ਦੋਨੋ ਰੀਡੂ ਅਤੇ ਵਾਪਸ ਆਉਣ ਵਾਲੀ ਜਾਣਕਾਰੀ ਵੀ ਸ਼ਾਮਲ ਹੈ. ਇਹ ਯਕੀਨੀ ਬਣਾਉਂਦਾ ਹੈ ਕਿ, ਕਿਸੇ ਵੀ ਤਰ੍ਹਾਂ ਦੀ ਡਾਟਾਬੇਸ ਅਸਫਲਤਾ ਦੇ ਕਾਰਨ, ਡਾਟਾਬੇਸ ਜਾਂਚ ਕਰ ਸਕਦਾ ਹੈ ਲਾਗ ਅਤੇ ਇਸ ਦੇ ਸੰਖੇਪਾਂ ਨੂੰ ਡਾਟਾਬੇਸ ਦੀ ਸਥਿਤੀ ਨਾਲ ਤੁਲਨਾ ਕਰੋ.
ਐਂਟੀਮੀਸਿਟੀ ਅਤੇ ਟਿਕਾਊਤਾ ਨੂੰ ਦਰਸਾਉਣ ਲਈ ਇਕ ਹੋਰ ਤਰੀਕਾ ਇਹ ਹੈ ਕਿ ਸ਼ੈਡੋ-ਪੇਜ਼ਿੰਗ ਵਿਚ ਛਾਂ ਵਾਲਾ ਸਫ਼ਾ ਬਣਦਾ ਹੈ ਜਦੋਂ ਡੇਟਾ ਨੂੰ ਸੰਸ਼ੋਧਿਤ ਕੀਤਾ ਜਾਂਦਾ ਹੈ. ਪੁੱਛਗਿੱਛ ਦੇ ਅਪਡੇਟਾਂ ਨੂੰ ਡਾਟਾਬੇਸ ਵਿੱਚ ਅਸਲੀ ਡੇਟਾ ਦੀ ਬਜਾਇ ਸ਼ੈਡੋ ਪੇਜ ਤੇ ਲਿਖਿਆ ਜਾਂਦਾ ਹੈ. ਡਾਟਾਬੇਸ ਨੂੰ ਤਾਂ ਹੀ ਸੰਸ਼ੋਧਿਤ ਕੀਤਾ ਜਾਂਦਾ ਹੈ ਜਦੋਂ ਸੰਪਾਦਨ ਸੰਪੂਰਨ ਹੋਵੇ.
ਇਕ ਹੋਰ ਰਣਨੀਤੀ ਨੂੰ ਦੋ-ਪੜਾਵਾਂ ਦੇ ਸਾਧਨ ਪ੍ਰੋਟੋਕਾਲ ਕਿਹਾ ਜਾਂਦਾ ਹੈ, ਵਿਸ਼ੇਸ਼ ਤੌਰ ' ਇਹ ਪ੍ਰੋਟੋਕੋਲ ਡਾਟਾ ਨੂੰ ਦੋ ਪੜਾਵਾਂ ਵਿੱਚ ਬਦਲਣ ਲਈ ਇੱਕ ਬੇਨਤੀ ਨੂੰ ਵੱਖ ਕਰਦਾ ਹੈ: ਇੱਕ ਕਮਪ-ਬੇਨਤੀ ਪੜਾਅ ਅਤੇ ਇੱਕ ਕਮਿਟ ਪੜਾਅ. ਬੇਨਤੀ ਦੇ ਪੜਾਅ ਵਿੱਚ, ਟ੍ਰਾਂਜੈਕਸ਼ਨ ਦੁਆਰਾ ਪ੍ਰਭਾਵਿਤ ਹੋਣ ਵਾਲੇ ਨੈਟਵਰਕ ਤੇ ਸਾਰੇ ਡੀਬੀਐਮਐਸ ਇਹ ਯਕੀਨੀ ਬਣਾਉਣ ਦੀ ਜ਼ਰੂਰਤ ਹੈ ਕਿ ਉਹਨਾਂ ਨੇ ਇਸਨੂੰ ਪ੍ਰਾਪਤ ਕੀਤਾ ਹੈ ਅਤੇ ਟ੍ਰਾਂਜੈਕਸ਼ਨ ਕਰਨ ਦੀ ਸਮਰੱਥਾ ਹੈ. ਇੱਕ ਵਾਰ ਪੁਸ਼ਟੀ ਸਾਰੇ ਸਬੰਧਤ ਡੀਬੀਐਮਜ਼ ਤੋਂ ਪ੍ਰਾਪਤ ਕੀਤੀ ਜਾਂਦੀ ਹੈ, ਕਮਿਟ ਪੜਾਅ ਪੂਰਾ ਕਰਦਾ ਹੈ ਜਿਸ ਵਿੱਚ ਡੇਟਾ ਅਸਲ ਵਿੱਚ ਸੰਸ਼ੋਧਿਤ ਹੁੰਦਾ ਹੈ.