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