+− THE DAILY DIFFdev & AI news
SHIP IT

ਸ਼ੌਪੀਫਾਈ ਨੇ ਵਸਤੂ ਸੂਚੀ ਰਿਜ਼ਰਵੇਸ਼ਨਾਂ ਨੂੰ MySQL ਵਿੱਚ ਭੇਜਿਆ

ਸ਼ੌਪੀਫਾਈ ਨੇ ਆਪਣੀ ਵਸਤੂ ਸੂਚੀ ਰਿਜ਼ਰਵੇਸ਼ਨ ਪ੍ਰਣਾਲੀ ਨੂੰ ਰੇਡਿਸ ਤੋਂ MySQL ਡਾਟਾਬੇਸ ਵਿੱਚ ਭੇਜਿਆ ਜੋ ਪਹਿਲਾਂ ਹੀ ਵਸਤੂ ਸੂਚੀ ਲੈਜਰ ਰੱਖਦਾ ਸੀ।

ਸ਼ੌਪੀਫਾਈ ਨੇ ਆਪਣੀ ਵਸਤੂ ਸੂਚੀ ਰਿਜ਼ਰਵੇਸ਼ਨ ਪ੍ਰਣਾਲੀ ਨੂੰ ਰੇਡਿਸ ਤੋਂ MySQL ਡਾਟਾਬੇਸ ਵਿੱਚ ਭੇਜਿਆ ਜੋ ਪਹਿਲਾਂ ਹੀ ਵਸਤੂ ਸੂਚੀ ਲੈਜਰ ਰੱਖਦਾ ਸੀ। ਵਿਅਕਤੀਗਤ ਤੌਰ 'ਤੇ ਲਾਕ ਹੋਣ ਯੋਗ ਯੂਨਿਟ ਕਤਾਰਾਂ ਦਾ ਇੱਕ ਸੀਮਤ ਪੂਲ ਸਮਕਾਲੀ ਚੈਕਆਉਟਸ ਨੂੰ ਵੱਖ-ਵੱਖ ਯੋਗ ਯੂਨਿਟਾਂ ਦੀ ਚੋਣ ਕਰਨ ਲਈ SKIP LOCKED ਦੀ ਵਰਤੋਂ ਕਰਨ ਦਿੰਦਾ ਹੈ। ਡਿਜ਼ਾਈਨ ਟ੍ਰਾਂਜੈਕਸ਼ਨ ਸੀਮਾਵਾਂ, ਪ੍ਰਾਇਮਰੀ-ਕੀ ਲੇਆਉਟ, ਰੀਪਲੇਨਿਸ਼ਮੈਂਟ ਨਿਯਮਾਂ ਅਤੇ ਚੈਕਆਉਟ ਵਿੱਚ ਕੁਨੈਕਸ਼ਨ ਹੋਲਡ ਸਮੇਂ ਨੂੰ ਦੇਖਣ 'ਤੇ ਵੀ ਨਿਰਭਰ ਕਰਦਾ ਹੈ।

ਲਿਖਤੀ ਐਡੀਸ਼ਨ ਪੜ੍ਹੋ (ਅੰਗਰੇਜ਼ੀ) ↗

ਇਹ ਵੀਡੀਓ ਕੀ ਕਵਰ ਕਰਦਾ ਹੈ

  • ਪੁਰਾਣੇ ਰੇਡਿਸ ਮਾਤਰਾ-ਕਾਉਂਟਰ ਮਾਡਲ ਨੇ ਸਮਕਾਲੀਤਾ ਨੂੰ ਸੰਭਾਲਿਆ, ਪਰ ਰਿਜ਼ਰਵੇਸ਼ਨ ਕਲੀਨਅੱਪ ਅਤੇ MySQL ਲੈਜਰ ਅਪਡੇਟ ਇੱਕ ਸਿੰਗਲ ਸਥਾਨਕ ਐਟੋਮਿਕ ਟ੍ਰਾਂਜੈਕਸ਼ਨ ਨੂੰ ਸਾਂਝਾ ਨਹੀਂ ਕਰ ਸਕਦੇ ਸਨ।
  • ਬਦਲਵਾਂ ਹੱਲ ਪ੍ਰਤੀ ਆਈਟਮ/ਸਥਾਨ ਸੰਯੋਜਨ 'ਤੇ 1,000 ਦੀ ਸੀਮਾ ਵਾਲੇ ਪੂਲ ਵਿੱਚ ਪ੍ਰਤੀ ਉਪਲਬਧ ਯੂਨਿਟ ਇੱਕ ਕਤਾਰ ਦੀ ਵਰਤੋਂ ਕਰਦਾ ਹੈ। ਇੱਕ ਖਾਲੀ ਪੂਲ ਰੀਪਲੇਨਿਸ਼ਮੈਂਟ ਲਾਕ ਦੇ ਪਿੱਛੇ ਉਡੀਕ ਕਰ ਰਹੇ ਸਮਕਾਲੀ ਬੇਨਤੀਆਂ ਦੇ ਨਾਲ ਇਨਲਾਈਨ ਰੀਪਲੇਨਿਸ਼ਮੈਂਟ ਨੂੰ ਚਾਲੂ ਕਰ ਸਕਦਾ ਹੈ।
  • ਸੰਯੁਕਤ ਪ੍ਰਾਇਮਰੀ ਕੁੰਜੀ (shop_id, inventory_item_id, inventory_group_id, id) ਹੈ। ਸ਼ੌਪੀਫਾਈ ਨੇ ਆਪਣੇ ਪ੍ਰੋਟੋਟਾਈਪ ਵਿੱਚ ਲਾਕ ਓਵਰਹੈੱਡ ਨੂੰ ਘਟਾਇਆ ਅਤੇ ਰੀਪਲੇਨਿਸ਼ਮੈਂਟ ਨੂੰ ਰੋਕਣ ਵਾਲੇ ਗੈਪ ਲਾਕ ਤੋਂ ਬਚਣ ਲਈ READ COMMITTED ਦੀ ਵਰਤੋਂ ਕੀਤੀ।
  • ਰਿਜ਼ਰਵ ਰਿਜ਼ਰਵੇਸ਼ਨ ਰਿਕਾਰਡਾਂ ਨੂੰ ਸ਼ਾਮਲ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ ਪੂਲ ਕਤਾਰਾਂ ਨੂੰ ਮਿਟਾਉਂਦਾ ਹੈ। ਕਮਿਟਿੰਗ ਡਾਟਾਬੇਸ ਲਾਕ ਜਾਰੀ ਕਰਦੀ ਹੈ ਜਦੋਂ ਕਿ ਭੁਗਤਾਨ ਭਰ ਵਿੱਚ ਸਟੋਰ ਕੀਤੀ ਹੋਲਡ ਬਣੀ ਰਹਿੰਦੀ ਹੈ; ਸਫਲ ਭੁਗਤਾਨ ਲੈਜਰ ਦਾ ਦਾਅਵਾ ਕਰਦਾ ਹੈ ਅਤੇ ਬਾਅਦ ਵਿੱਚ ਇੱਕ ਐਟੋਮਿਕ ਟ੍ਰਾਂਜੈਕਸ਼ਨ ਵਿੱਚ ਰਿਜ਼ਰਵੇਸ਼ਨ ਨੂੰ ਹਟਾ ਦਿੰਦਾ ਹੈ।
  • MySQL SKIP LOCKED ਨੂੰ ਇੱਕ ਅਸੰਗਤ ਦ੍ਰਿਸ਼ ਵਜੋਂ ਦਸਤਾਵੇਜ਼ ਕਰਦਾ ਹੈ ਜੋ ਲਾਕ ਕੀਤੀਆਂ ਕਤਾਰਾਂ ਨੂੰ ਛੱਡ ਦਿੰਦਾ ਹੈ। ਇਹ ਇੱਕ ਸੰਪੂਰਨ ਸਟਾਕ ਗਿਣਤੀ ਜਾਂ ਨਿਰਪੱਖ ਵਾਰੀ-ਵਾਰੀ ਲੈਣ-ਦੇਣ ਨੂੰ ਸਥਾਪਤ ਨਹੀਂ ਕਰਦਾ, ਸਿਰਫ਼ ਕਤਾਰ-ਪੱਧਰ ਦੇ ਲਾਕਾਂ 'ਤੇ ਲਾਗੂ ਹੁੰਦਾ ਹੈ ਅਤੇ ਸਟੇਟਮੈਂਟ-ਅਧਾਰਿਤ ਪ੍ਰਤੀਕ੍ਰਿਤੀ ਲਈ ਅਸੁਰੱਖਿਅਤ ਹੈ।
  • ਸਰੋਤ ਉਦਾਹਰਨ ਵਿੱਚ expires_at ਸ਼ਾਮਲ ਹੈ, ਪਰ ਸ਼ੌਪੀਫਾਈ MySQL ਮਿਆਦ ਪੁੱਗਣ-ਕਲੀਨਅੱਪ ਐਲਗੋਰਿਦਮ ਨੂੰ ਦਸਤਾਵੇਜ਼ ਨਹੀਂ ਕਰਦਾ ਹੈ। ਵੀਡੀਓ ਦੀ ਰੀਲੀਜ਼/ਮਿਆਦ ਪੁੱਗਣ ਦੀ ਸ਼ਾਖਾ ਇੱਕ ਵਿਆਖਿਆਤਮਕ ਜੀਵਨ ਚੱਕਰ ਦੀ ਲੋੜ ਹੈ।
  • ਹੋਰ ਚੈਕਆਉਟ ਕੋਡ ਵਿੱਚ ਕੁਨੈਕਸ਼ਨ ਹੋਲਡ ਸਮਾਂ ਅੰਤਿਮ ਥ੍ਰੂਪੁੱਟ ਬੋਤਲਨੇਕ ਸੀ। ਸ਼ੌਪੀਫਾਈ ਨੇ ਦੋਵਾਂ ਪ੍ਰਣਾਲੀਆਂ ਨੂੰ ਸ਼ੈਡੋ-ਰਾਈਟ ਕੀਤਾ, ਨਤੀਜਿਆਂ ਦੀ ਤੁਲਨਾ ਕੀਤੀ ਅਤੇ ਰੇਡਿਸ ਕਿੱਲ-ਸਵਿੱਚ ਫਾਲਬੈਕ ਨਾਲ ਹੌਲੀ-ਹੌਲੀ ਸਵਿੱਚ ਕੀਤਾ।

ਅਨੁਵਾਦਿਤ ਟ੍ਰਾਂਸਕ੍ਰਿਪਟ

ਮੂਲ ਅੰਗਰੇਜ਼ੀ ਬਿਰਤਾਂਤ ਤੋਂ ਅਨੁਵਾਦ ਕੀਤਾ ਗਿਆ। ਉਪਲਬਧ ਆਡੀਓ ਅਤੇ ਕੈਪਸ਼ਨ YouTube ਦੁਆਰਾ ਨਿਯੰਤਰਿਤ ਕੀਤੇ ਜਾਂਦੇ ਹਨ।

ਰਿਜ਼ਰਵੇਸ਼ਨਾਂ ਨੂੰ MySQL ਵਿੱਚ ਕਿਉਂ ਭੇਜਣਾ ਹੈ?

0:00 ਇੱਕ ਚੈਕਆਉਟ ਨੂੰ ਤੇਜ਼ ਰਹਿਣ ਲਈ ਰੇਡਿਸ ਦੀ ਲੋੜ ਹੈ। ਸ਼ੌਪੀਫਾਈ ਨੇ ਵਸਤੂ ਸੂਚੀ ਰਿਜ਼ਰਵੇਸ਼ਨਾਂ ਨੂੰ MySQL ਵਿੱਚ ਪ੍ਰਤੀ ਯੂਨਿਟ ਇੱਕ ਕਤਾਰ ਦੀ ਵਰਤੋਂ ਕਰਕੇ ਭੇਜਿਆ ਇੱਕ ਸੀਮਤ ਪੂਲ ਵਿੱਚ। MySQL ਕਿਉਂ ਚੁਣੋ? ਤੁਸੀਂ ਲਾਕਸ ਨੂੰ ਸੁਰੱਖਿਅਤ ਢੰਗ ਨਾਲ ਕਿਵੇਂ ਛੱਡਦੇ ਹੋ? ਇਹ ਪਰਦੇ ਦੇ ਪਿੱਛੇ The Daily Diff ਹੈ। ਅਤੇ ਤੇਜ਼ ਸਵਾਲ ਫਿਰ ਵੀ ਸੀਲਿੰਗ ਨੂੰ ਕਿਉਂ ਮਾਰਦੇ ਸਨ? ਸ਼ੌਪੀਫਾਈ ਆਨਲਾਈਨ ਅਤੇ ਵਿਅਕਤੀਗਤ ਤੌਰ 'ਤੇ ਵੇਚਣ ਲਈ ਇੱਕ ਵਣਜ ਪਲੇਟਫਾਰਮ ਹੈ। ਰੇਡਿਸ ਇੱਕ ਇਨ-ਮੈਮਰੀ ਡਾਟਾ ਸਟੋਰ ਹੈ।

0:21 MySQL ਇੱਕ ਰਿਲੇਸ਼ਨਲ ਡਾਟਾਬੇਸ ਹੈ, ਅਤੇ ਸ਼ੌਪੀਫਾਈ ਪਹਿਲਾਂ ਹੀ ਆਪਣੀ ਵਸਤੂ ਸੂਚੀ ਲੈਜਰ ਰੱਖਦਾ ਸੀ ਉੱਥੇ। ਇੱਕ ਰਿਜ਼ਰਵੇਸ਼ਨ ਸੰਖੇਪ ਵਿੱਚ ਸਟਾਕ ਰੱਖਦੀ ਹੈ ਜਦੋਂ ਇੱਕ ਖਰੀਦਦਾਰ ਭੁਗਤਾਨ ਕਰਦਾ ਹੈ।

ਦੋ ਸਟੋਰ ਖਤਰਨਾਕ ਕਿਉਂ ਸਨ?

0:29 ਉਨ੍ਹਾਂ ਦਾ ਰੇਡਿਸ ਮਾਡਲ ਨੇ ਇੱਕ ਆਈਟਮ ਕਾਊਂਟਰ ਨੂੰ ਘਟਾਇਆ। ਇੱਕ ਅਦਾਇਗੀਸ਼ੁਦਾ ਆਰਡਰ ਦਾ ਦਾਅਵਾ ਕਰਨ ਦਾ ਮਤਲਬ MySQL ਲੈਜਰ ਨੂੰ ਅਪਡੇਟ ਕਰਨਾ ਅਤੇ ਰੇਡਿਸ ਨੂੰ ਸਾਫ਼ ਕਰਨਾ ਸੀ। ਉਹ ਵੱਖਰੀਆਂ ਲਿਖਤਾਂ ਸਟਾਕ ਨੂੰ ਦੋ ਵਾਰ ਵੇਚਿਆ ਜਾਂ ਅਣਉਪਲਬਧ ਛੱਡ ਸਕਦੀਆਂ ਸਨ ਜਦੋਂ ਇਹ ਹੋਣਾ ਚਾਹੀਦਾ ਸੀ ਵੇਚਣ ਯੋਗ ਹੋਵੇ। ਪੁਰਾਣੇ ਮਾਡਲ ਵਿੱਚ ਸਥਾਨ ਜਾਗਰੂਕਤਾ ਦੀ ਵੀ ਘਾਟ ਸੀ। ਬਦਲਵਾਂ ਹੱਲ ਕਿਤੇ ਅਜਿਹੀ ਜਗ੍ਹਾ ਤੋਂ ਸਟਾਕ ਦੀ ਚੋਣ ਕਰਨਾ ਚਾਹੀਦਾ ਹੈ ਜੋ ਆਰਡਰ ਨੂੰ ਪੂਰਾ ਕਰ ਸਕੇ। ਗਲਤ ਮਹਾਂਦੀਪ 'ਤੇ ਇੱਕ ਗੋਦਾਮ ਇੱਕ ਸ਼ਾਨਦਾਰ ਡਾਟਾਬੇਸ ਐਂਟਰੀ ਅਤੇ ਇੱਕ ਭਿਆਨਕ ਡਿਲੀਵਰੀ ਵਾਅਦਾ ਕਰਦਾ ਹੈ। ਪਹਿਲਾਂ ਦੇ MySQL ਯਤਨਾਂ ਨੇ ਇੱਕ ਮਾਤਰਾ ਕਤਾਰ ਦੀ ਵਰਤੋਂ ਕੀਤੀ, ਇਸ ਲਈ ਮੁਕਾਬਲਾ ਕਰਨ ਵਾਲੇ ਚੈਕਆਉਟਸ ਉਸੇ 'ਤੇ ਕਤਾਰ ਵਿੱਚ ਲੱਗੇ ਹੋਏ ਸਨ

ਲਾਕ ਕਰਨ ਯੋਗ ਇਕਾਈ ਕੀ ਬਣ ਜਾਂਦੀ ਹੈ?

0:56 ਲਾਕ। ਇੱਕ ਸਪ੍ਰੈਡਸ਼ੀਟ ਸੈੱਲ ਦੇ ਆਲੇ ਦੁਆਲੇ ਇੱਕ ਵੇਲਵੇਟ ਰੱਸੀ ਬਾਰੇ ਸੋਚੋ। ਹੋਰ ਕਰਮਚਾਰੀ ਜੋੜਨਾ ਸਿਰਫ਼ ਕਤਾਰ ਨੂੰ ਲੰਬਾ ਕਰਦਾ ਹੈ। ਸ਼ੌਪੀਫਾਈ ਨੇ ਲਾਕ ਕਰਨ ਯੋਗ ਵਸਤੂ ਨੂੰ ਬਦਲਿਆ। ਹਰੇਕ ਉਪਲਬਧ ਇਕਾਈ ਨੂੰ ਆਪਣੀ ਕਤਾਰ ਮਿਲਦੀ ਹੈ। ਇੱਕ ਲਾਕਿੰਗ ਰੀਡ ਦੂਜੀ ਇਕਾਈਆਂ ਨੂੰ ਛੱਡ ਦਿੰਦੀ ਹੈ ਟ੍ਰਾਂਜੈਕਸ਼ਨ ਹੋਲਡ ਕਰਦਾ ਹੈ ਅਤੇ ਹੋਰ ਯੋਗ ਦੀ ਚੋਣ ਕਰਦਾ ਹੈ ਇਕਾਈਆਂ। ਵੱਖ-ਵੱਖ ਕਰਮਚਾਰੀ ਵੱਖਰੀਆਂ ਕਤਾਰਾਂ ਪ੍ਰਾਪਤ ਕਰ ਸਕਦੇ ਹਨ, ਜਦੋਂ ਕਿ ਗਰਮ ਕਾਊਂਟਰ ਉਨ੍ਹਾਂ ਦੇ ਰਾਹ ਤੋਂ ਬਾਹਰ ਰਹਿੰਦਾ ਹੈ।

ਜਦੋਂ ਪੂਲ ਖਾਲੀ ਹੋ ਜਾਂਦਾ ਹੈ ਤਾਂ ਕੀ ਹੁੰਦਾ ਹੈ?

1:15 ਉਹ ਪੂਲ ਪ੍ਰਤੀ ਆਈਟਮ ਅਤੇ ਸਥਾਨ ਇੱਕ ਹਜ਼ਾਰ ਕਤਾਰਾਂ 'ਤੇ ਸੀਮਤ ਹੈ। ਰੀਪਲੇਨਿਸ਼ਮੈਂਟ ਲੈਜਰ ਤੋਂ ਖਿੱਚਦਾ ਹੈ। ਜੇ ਇਹ ਖਾਲੀ ਹੋ ਜਾਂਦਾ ਹੈ, ਤਾਂ ਰਿਜ਼ਰਵ ਮਾਰਗ ਇਨਲਾਈਨ ਰੀਪਲੇਨਿਸ਼ ਕਰਦਾ ਹੈ, ਮੁਕਾਬਲਾ ਕਰਨ ਵਾਲੀਆਂ ਬੇਨਤੀਆਂ ਦੇ ਨਾਲ ਇੱਕ ਰੀਪਲੇਨਿਸ਼ਮੈਂਟ ਲਾਕ ਦੇ ਪਿੱਛੇ ਉਡੀਕ ਕਰ ਰਹੇ ਹਾਂ। ਖਾਲੀ ਪੂਲ ਦਾ ਮਤਲਬ ਖਾਲੀ ਗੋਦਾਮ ਨਹੀਂ ਹੈ। ਰਿਜ਼ਰਵ ਚੁਣੀਆਂ ਗਈਆਂ ਪੂਲ ਕਤਾਰਾਂ ਨੂੰ ਮਿਟਾਉਂਦਾ ਹੈ, ਫਿਰ ਇੱਕ ਵਿੱਚ ਰਿਜ਼ਰਵੇਸ਼ਨ ਰਿਕਾਰਡ ਸ਼ਾਮਲ ਕਰਦਾ ਹੈ ਟ੍ਰਾਂਜੈਕਸ਼ਨ। ਕਮਿਟ ਡਾਟਾਬੇਸ ਲਾਕ ਜਾਰੀ ਕਰਦਾ ਹੈ।

1:35 ਰੋਲਬੈਕ ਬਦਲਾਵਾਂ ਨੂੰ ਵਾਪਸ ਕਰ ਦਿੰਦਾ ਹੈ। ਰਿਜ਼ਰਵੇਸ਼ਨ ਭੁਗਤਾਨ ਪ੍ਰੋਸੈਸਿੰਗ ਦੌਰਾਨ ਸਟੋਰ ਕੀਤੀ ਸਥਿਤੀ ਵਜੋਂ ਬਚੀ ਰਹਿੰਦੀ ਹੈ। ਸਫਲ ਭੁਗਤਾਨ ਲੈਜਰ ਦਾ ਦਾਅਵਾ ਕਰਦਾ ਹੈ ਅਤੇ ਰਿਜ਼ਰਵੇਸ਼ਨ ਨੂੰ ਐਟੋਮਿਕ ਤੌਰ 'ਤੇ ਹਟਾ ਦਿੰਦਾ ਹੈ। ਡਾਟਾਬੇਸ ਲਾਕ ਨੂੰ ਕਦੇ ਵੀ ਭੁਗਤਾਨ ਫਾਰਮ ਦੀ ਦੇਖਭਾਲ ਕਰਨ ਦੀ ਲੋੜ ਨਹੀਂ ਹੁੰਦੀ। ਉਨ੍ਹਾਂ ਦੀ ਸੰਯੁਕਤ ਪ੍ਰਾਇਮਰੀ ਕੁੰਜੀ ਦੁਕਾਨ, ਆਈਟਮ ਤੋਂ ਸ਼ੁਰੂ ਹੁੰਦੀ ਹੈ, ਸਮੂਹ, ਫਿਰ ਇਕਾਈ ਦੀ ਪਛਾਣ। ਲੁੱਕਅੱਪ ਦਾ ਮੇਲ ਉਨ੍ਹਾਂ ਦੇ ਪ੍ਰੋਟੋਟਾਈਪ ਵਿੱਚ ਇੰਡੈਕਸ ਲਾਕਿੰਗ ਨੂੰ ਘਟਾਉਂਦਾ ਹੈ। ਉਹ ਪੂਲ ਨੂੰ ਰੋਕਣ ਵਾਲੇ ਗੈਪ ਲਾਕ ਤੋਂ ਬਚਣ ਲਈ ਪੜ੍ਹੇ ਗਏ ਕਮਿਟੇਡ ਦੀ ਵੀ ਵਰਤੋਂ ਕਰਦੇ ਹਨ

1:57 ਰੀਪਲੇਨਿਸ਼ਮੈਂਟ, ਅਤੇ ਸਰਕੂਲਰ ਉਡੀਕਾਂ ਨੂੰ ਰੋਕਣ ਲਈ ਇੱਕ ਇਕਸਾਰ ਸਾਰਣੀ ਕ੍ਰਮ। ਪ੍ਰਕਾਸ਼ਿਤ ਉਦਾਹਰਨ ਇੱਕ ਮਿਆਦ ਪੁੱਗਣ ਦਾ ਸਮਾਂ ਰਿਕਾਰਡ ਕਰਦੀ ਹੈ। ਛੱਡੇ ਗਏ ਭੁਗਤਾਨਾਂ ਨੂੰ ਅੰਤ ਵਿੱਚ ਸਟਾਕ ਜਾਰੀ ਕਰਨ ਦੀ ਲੋੜ ਹੁੰਦੀ ਹੈ, ਨਹੀਂ ਤਾਂ ਖਰੀਦਦਾਰੀ ਕਾਰਟ ਬਣ ਜਾਂਦੀ ਹੈ ਇੱਕ ਮਕਾਨ ਮਾਲਕ। ਸ਼ੌਪੀਫਾਈ ਦੀ ਪੋਸਟ ਉਸ ਕਲੀਨਅੱਪ ਐਲਗੋਰਿਦਮ ਨੂੰ ਅਨਿਰਧਾਰਤ ਛੱਡ ਦਿੰਦੀ ਹੈ, ਇਸ ਲਈ ਇਹ ਡਾਇਗ੍ਰਾਮ ਜੀਵਨ ਚੱਕਰ ਦੀ ਲੋੜ ਨੂੰ ਦਰਸਾਉਂਦਾ ਹੈ। ਇੱਥੇ ਫੜੋ।

SKIP LOCKED ਕੀ ਛੱਡਦਾ ਹੈ?

2:14 ਲਾਕ ਕੀਤਾ ਛੱਡੋ ਲਾਕ ਕੀਤੀਆਂ ਕਤਾਰਾਂ ਨੂੰ ਛੱਡ ਦਿੰਦਾ ਹੈ, ਇਸ ਲਈ ਮੈਨੂਅਲ ਇਸਦੇ ਨਤੀਜੇ ਨੂੰ ਇੱਕ ਅਸੰਗਤ ਕਹਿੰਦਾ ਹੈ ਦ੍ਰਿਸ਼। ਇਹ ਨਾ ਤਾਂ ਇੱਕ ਸੰਪੂਰਨ ਸਟਾਕ ਗਿਣਤੀ ਅਤੇ ਨਾ ਹੀ ਨਿਰਪੱਖ ਵਾਰੀ-ਵਾਰੀ ਪ੍ਰਦਾਨ ਕਰਦਾ ਹੈ। ਉਪਲਬਧਤਾ ਦਾ ਫੈਸਲਾ ਅਤੇ ਰੀਪਲੇਨਿਸ਼ਮੈਂਟ ਨਿਯਮਾਂ ਨੂੰ ਇਸਦੇ ਆਲੇ ਦੁਆਲੇ ਰੱਖੋ।

ਅਸਲੀ ਸੀਲਿੰਗ ਕਿੱਥੇ ਸੀ?

2:26 ਅਤੇ ਉਹ ਸੀਲਿੰਗ? ਹੋਰ ਚੈਕਆਉਟ ਕੋਡ ਡਾਟਾਬੇਸ ਕੁਨੈਕਸ਼ਨਾਂ ਨੂੰ ਬਹੁਤ ਲੰਬੇ ਸਮੇਂ ਤੱਕ ਰੱਖ ਰਿਹਾ ਸੀ। ਸ਼ੌਪੀਫਾਈ ਨੇ ਕਾਲ ਕਰਨ ਵਾਲਿਆਂ ਨੂੰ ਟੈਗ ਕੀਤਾ ਅਤੇ ਕੁਨੈਕਸ਼ਨ ਹੋਲਡ ਸਮੇਂ ਨੂੰ ਮਾਪਿਆ, ਫਿਰ ਚੈਕਆਉਟ ਮਾਰਗ ਨੂੰ ਸਾਫ਼ ਕੀਤਾ ਅਤੇ ਥ੍ਰੈਡ ਸਮਕਾਲੀਤਾ ਨੂੰ ਦੁਬਾਰਾ ਵੇਖਿਆ। ਤੇਜ਼ ਸਵਾਲ ਅਜੇ ਵੀ ਸਵਾਲ ਦੇ ਬਾਹਰ ਕਤਾਰ ਵਿੱਚ ਲੱਗ ਸਕਦੇ ਹਨ।

ਮੈਂ ਇਸ ਡਿਜ਼ਾਈਨ ਨੂੰ ਕਿਉਂ ਭੇਜਾਂਗਾ?

2:38 ਉਨ੍ਹਾਂ ਨੇ ਰੇਡਿਸ ਅਧਿਕਾਰਤ ਦੇ ਨਾਲ ਦੋਵਾਂ ਪ੍ਰਣਾਲੀਆਂ ਨੂੰ ਸ਼ੈਡੋ-ਰਾਈਟ ਕੀਤਾ, ਨਤੀਜਿਆਂ ਦੀ ਤੁਲਨਾ ਕੀਤੀ, ਫਿਰ ਕਿੱਲ ਸਵਿੱਚ ਨਾਲ ਹੌਲੀ-ਹੌਲੀ ਸਵਿੱਚ ਕੀਤਾ। ਮੇਰਾ ਫੈਸਲਾ ਹੈ ਇਸਨੂੰ ਭੇਜੋ। ਮੈਂ ਸਾਂਝੇ ਟ੍ਰਾਂਜੈਕਸ਼ਨ ਦੀ ਸੀਮਾ ਅਤੇ ਉਸ ਰੋਲਬੈਕਯੋਗ ਰੋਲਆਉਟ ਨੂੰ ਭੇਜਾਂਗਾ, ਪੂਰੇ ਚੈਕਆਉਟ ਮਾਰਗ ਨੂੰ ਇੰਸਟ੍ਰੂਮੈਂਟ ਕੀਤਾ ਗਿਆ ਹੈ। ਇਸ ਬਾਰੇ ਕੋਈ ਸਵਾਲ ਹੈ? ਇਸਨੂੰ ਟਿੱਪਣੀਆਂ ਵਿੱਚ ਪਾਓ। ਅਤੇ ਅੱਜ ਲਈ ਇਹ ਫਰਕ ਹੈ।

2:54 ਮੈਂ ਐਕਸਰਿਸੀ ਤੋਂ ਨਿਕੋ ਹਾਂ। ਜ਼ਿੰਮੇਵਾਰੀ ਨਾਲ ਮਿਲਾਓ।

ਸਰੋਤ

  1. We replaced Redis with MySQL for inventory reservations—and it scaledShopify Engineering — Emilie Noel
  2. Simplified reservation SQL embedded in Shopify's articleShopify Engineering / CourtneySymons on GitHub Gist
  3. MySQL 8.0 — Locking ReadsOracle / MySQL Reference Manual
  4. MySQL 8.0 — Transaction Isolation LevelsOracle / MySQL Reference Manual
  5. What Is Shopify and How Does It Work?Shopify
  6. Redis quick startsRedis documentation
  7. What is MySQL?Oracle / MySQL Reference Manual

ਸਬੰਧਤ ਵੀਡੀਓ

under-the-hood · pa · 11 ਅਕਤੂ 2026

ਸਟ੍ਰਾਈਪ ਤੁਹਾਡੀ ਬੇਨਤੀ ਨੂੰ ਯਾਦ ਰੱਖਦਾ ਹੈ ਜਦੋਂ ਜਵਾਬ ਗਾਇਬ ਹੋ ਜਾਂਦਾ ਹੈ

ਇੱਕ ਸਮਾਂ ਸਮਾਪਤੀ ਸਰਵਰ ਦੁਆਰਾ ਓਪਰੇਸ਼ਨ ਪੂਰਾ ਕਰਨ ਤੋਂ ਬਾਅਦ ਇੱਕ ਚੈੱਕਆਉਟ ਨੂੰ ਅਨਿਸ਼ਚਿਤ ਛੱਡ ਸਕਦੀ ਹੈ। ਇਹ ਅੰਡਰ ਦ ਹੁੱਡ ਐਕਸਪਲੇਨਰ ਸਟ੍ਰਾਈਪ API v1 ਦੇ ਦਸਤਾਵੇਜ਼ੀ ਆਇਡੈਂਪੋਟੈਂਸੀ ਕੰਟਰੈਕਟ ਦੀ ਵਰਤੋਂ ਸਥਿਰ ਓਪਰੇਸ਼ਨ ਕੁੰਜੀਆਂ, ਸੁਰੱਖ

2:54 ↗
under-the-hood · pa · 24 ਸਤੰ 2026

SAML, ਅੰਦਰੂਨੀ ਤੌਰ 'ਤੇ: ਚਿੱਠੀ ਦੇ ਅੰਦਰ ਦਸਤਖਤ

SAML ਤੁਹਾਨੂੰ ਲਗਭਗ ਹਰ ਕੰਮ ਵਾਲੀ ਐਪ ਵਿੱਚ ਲੌਗਇਨ ਕਰਵਾਉਂਦਾ ਹੈ, ਅਤੇ ਇਸਦੇ ਦਸਤਖਤ ਉਸ XML ਦੇ ਅੰਦਰ ਰਹਿੰਦੇ ਹਨ ਜਿਸ 'ਤੇ ਇਹ ਦਸਤਖਤ ਕਰਦਾ ਹੈ। ਅੰਦਰੂਨੀ ਤੌਰ 'ਤੇ: ਐਪ, ਬ੍ਰਾਊਜ਼ਰ ਅਤੇ ਪਛਾਣ ਪ੍ਰਦਾਤਾ ਵਿਚਕਾਰ ਲੌਗਇਨ ਡਾਂਸ, ਇੱਕ ਅਸਰਸ਼ਨ

3:02 ↗
under-the-hood · pa · 23 ਸਤੰ 2026

ਜਦੋਂ ਇੱਕ ਮਾਡਲ ਅੰਦਰੂਨੀ ਤੌਰ 'ਤੇ ਖਤਮ ਹੋ ਜਾਂਦਾ ਹੈ

ਇੱਕ AI ਮਾਡਲ ਖਤਮ ਨਹੀਂ ਹੁੰਦਾ — ਇਸਦੀ ਇੱਕ ਬੰਦ ਹੋਣ ਦੀ ਮਿਤੀ ਹੁੰਦੀ ਹੈ, ਅਤੇ ਅਗਲੀ ਸਵੇਰ, ਤੁਹਾਡੀ API ਕਾਲ 404 ਵਾਪਸ ਕਰਦੀ ਹੈ: "ਮਾਡਲ ਨੂੰ ਬੰਦ ਕਰ ਦਿੱਤਾ ਗਿਆ ਹੈ, ਇੱਥੇ ਹੋਰ ਜਾਣੋ।" ਅੰਦਰੂਨੀ ਤੌਰ 'ਤੇ: ਚਾਰ-ਸਟੇਟ ਪਾਈਪਲਾਈਨ (ਐਕਟਿਵ

3:15 ↗
under-the-hood · pa · 21 ਸਤੰ 2026

ਕਲਾਉਡ ਨੇ RSA-896 ਨੂੰ ਤੋੜਿਆ। ਇੱਥੇ ਦੱਸਿਆ ਗਿਆ ਹੈ ਕਿ RSA ਅਸਲ ਵਿੱਚ ਕਿਵੇਂ ਟੁੱਟਦਾ ਹੈ

19 ਸਤੰਬਰ ਨੂੰ ਇੱਕ ਐਂਥ੍ਰੋਪਿਕ ਇੰਜੀਨੀਅਰ ਨੇ RSA-896 — ਇੱਕ 270-ਅੰਕਾਂ ਦਾ ਚੁਣੌਤੀ ਨੰਬਰ — ਨੂੰ ਕਲਾਉਡ ਨਾਲ, ਜੋ ਕਿ ਓਪਨ-ਸੋਰਸ CADO-NFS sieve ਦਾ ਇੱਕ GPU ਪੋਰਟ ਹੈ ਅਤੇ ਲਗਭਗ 30 GPU-ਸਾਲਾਂ ਨੂੰ 2,048 ਵਿਹਲੇ GPUs 'ਤੇ ਦਸ ਦਿਨਾਂ

3:39 ↗