Architecture Decision Record

Active theme: Light

← ਫੈਸਲਾ ਰਿਕਾਰਡ ਉਦਾਹਰਨਾਂ

ਆਰਕੀਟੈਕਚਰ ਫੈਸਲਾ ਰਿਕਾਰਡ: ਡਾਟਾਬੇਸ ਤਕਨਾਲੋਜੀ ਦੀ ਚੋਣ

ਸਥਿਤੀ

ਸਵੀਕਾਰ

ਪ੍ਰਸੰਗ

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

ਰਿਲੇਸ਼ਨਲ ਡਾਟਾਬੇਸ ਡਾਟਾ ਨੂੰ ਸਥਿਰ ਸਕੀਮਾਂ ਵਾਲੀਆਂ ਸਾਰਣੀਆਂ ਵਿੱਚ ਸਟੋਰ ਕਰਦੇ ਹਨ ਅਤੇ ਡਾਟਾ ਅਖੰਡਤਾ ਦੀਆਂ ਸਖ਼ਤ ਬੰਦਸ਼ਾਂ ਲਾਗੂ ਕਰਦੇ ਹਨ। ਇਹ ਉਨ੍ਹਾਂ ਐਪਲੀਕੇਸ਼ਨਾਂ ਲਈ ਢੁਕਵੇਂ ਹਨ ਜਿਨ੍ਹਾਂ ਨੂੰ ਗੁੰਝਲਦਾਰ ਡਾਟਾ ਸੰਬੰਧਾਂ ਅਤੇ ਲੈਣ-ਦੇਣ (transactions) ਦੀ ਲੋੜ ਹੈ। ਉਦਾਹਰਨਾਂ ਵਿੱਚ MySQL, PostgreSQL ਅਤੇ Oracle ਸ਼ਾਮਲ ਹਨ।

ਦਸਤਾਵੇਜ਼ ਡਾਟਾਬੇਸ ਡਾਟਾ ਨੂੰ JSON ਵਰਗੇ ਦਸਤਾਵੇਜ਼ਾਂ ਵਿੱਚ ਸਟੋਰ ਕਰਦੇ ਹਨ ਅਤੇ ਸਕੀਮਾ-ਰਹਿਤ ਹੁੰਦੇ ਹਨ। ਇਹ ਉਨ੍ਹਾਂ ਐਪਲੀਕੇਸ਼ਨਾਂ ਲਈ ਚੰਗੀ ਤਰ੍ਹਾਂ ਢੁਕਵੇਂ ਹਨ ਜਿਨ੍ਹਾਂ ਨੂੰ ਲਚਕਦਾਰ ਡਾਟਾ ਮਾਡਲਾਂ ਅਤੇ ਖਿਤਿਜੀ ਪੈਮਾਨੇ ਵਧਾਉਣ ਦੀ ਲੋੜ ਹੈ। ਉਦਾਹਰਨਾਂ ਵਿੱਚ MongoDB, Couchbase ਅਤੇ Amazon DynamoDB ਸ਼ਾਮਲ ਹਨ।

ਇਵੈਂਟ ਡਾਟਾਬੇਸ ਡਾਟਾ ਨੂੰ ਇਵੈਂਟਾਂ ਦੀ ਲੜੀ ਵਜੋਂ ਸਟੋਰ ਕਰਦੇ ਹਨ, ਜੋ ਡਾਟਾ ਵਿੱਚ ਹਰ ਤਬਦੀਲੀ ਨੂੰ ਦਰਜ ਕਰਦੀ ਹੈ। ਇਹ ਉਨ੍ਹਾਂ ਐਪਲੀਕੇਸ਼ਨਾਂ ਲਈ ਢੁਕਵੇਂ ਹਨ ਜਿਨ੍ਹਾਂ ਨੂੰ ਆਡਿਟਿੰਗ, ਇਵੈਂਟ ਸੋਰਸਿੰਗ ਅਤੇ ਗੁੰਝਲਦਾਰ ਡਾਟਾ ਪ੍ਰੋਸੈਸਿੰਗ ਦੀ ਲੋੜ ਹੈ। ਉਦਾਹਰਨਾਂ ਵਿੱਚ Apache Kafka, Apache Pulsar ਅਤੇ AWS Kinesis ਸ਼ਾਮਲ ਹਨ। ਫੈਸਲਾ

ਆਪਣੀ ਐਪਲੀਕੇਸ਼ਨ ਦੀਆਂ ਲੋੜਾਂ ਅਤੇ ਬੰਦਸ਼ਾਂ ਦਾ ਧਿਆਨ ਨਾਲ ਮੁਲਾਂਕਣ ਕਰਨ ਤੋਂ ਬਾਅਦ, ਅਸੀਂ ਦਸਤਾਵੇਜ਼ ਡਾਟਾਬੇਸ ਵਰਤਣ ਦਾ ਫੈਸਲਾ ਕੀਤਾ ਹੈ।

ਤਰਕ-ਆਧਾਰ

ਅਸੀਂ ਦਸਤਾਵੇਜ਼ ਡਾਟਾਬੇਸ ਇਸ ਲਈ ਚੁਣਿਆ ਹੈ ਕਿਉਂਕਿ:

  1. ਸਾਡੀ ਐਪਲੀਕੇਸ਼ਨ ਨੂੰ ਲਚਕਦਾਰ ਡਾਟਾ ਮਾਡਲ ਦੀ ਲੋੜ ਹੈ ਜੋ ਸਮੇਂ ਦੇ ਨਾਲ ਵਿਕਸਿਤ ਹੋ ਸਕੇ। ਦਸਤਾਵੇਜ਼ ਡਾਟਾਬੇਸ ਸਾਨੂੰ ਡਾਟਾ ਨੂੰ ਸਕੀਮਾ-ਰਹਿਤ ਫਾਰਮੈਟ ਵਿੱਚ ਸਟੋਰ ਕਰਨ ਦੀ ਆਗਿਆ ਦਿੰਦੇ ਹਨ, ਜਿਸ ਦਾ ਮਤਲਬ ਹੈ ਕਿ ਅਸੀਂ ਡਾਟਾਬੇਸ ਸਕੀਮਾ ਨੂੰ ਬਦਲੇ ਬਿਨਾਂ ਨਵੇਂ ਖੇਤਰ ਜੋੜ ਸਕਦੇ ਹਾਂ ਜਾਂ ਮੌਜੂਦਾ ਦਸਤਾਵੇਜ਼ਾਂ ਦੀ ਬਣਤਰ ਬਦਲ ਸਕਦੇ ਹਾਂ।

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

  3. ਸਾਡੀ ਐਪਲੀਕੇਸ਼ਨ ਨੂੰ ਤੇਜ਼ ਅਤੇ ਕੁਸ਼ਲ ਡਾਟਾ ਪ੍ਰਾਪਤੀ ਦੀ ਲੋੜ ਹੈ। ਦਸਤਾਵੇਜ਼ ਡਾਟਾਬੇਸ ਸ਼ਕਤੀਸ਼ਾਲੀ ਇੰਡੈਕਸਿੰਗ ਅਤੇ ਪੁੱਛ-ਗਿੱਛ ਸਮਰੱਥਾਵਾਂ ਦਿੰਦੇ ਹਨ ਜੋ ਸਾਨੂੰ ਡਾਟਾ ਤੇਜ਼ੀ ਅਤੇ ਕੁਸ਼ਲਤਾ ਨਾਲ ਪ੍ਰਾਪਤ ਕਰਨ ਦੇ ਯੋਗ ਬਣਾਉਂਦੀਆਂ ਹਨ।

  4. ਸਾਡੀ ਐਪਲੀਕੇਸ਼ਨ ਨੂੰ ਗੁੰਝਲਦਾਰ ਲੈਣ-ਦੇਣ ਜਾਂ ਡਾਟਾ ਸੰਬੰਧਾਂ ਦੀ ਲੋੜ ਨਹੀਂ ਹੈ। ਜਦਕਿ ਰਿਲੇਸ਼ਨਲ ਡਾਟਾਬੇਸ ਡਾਟਾ ਅਖੰਡਤਾ ਦੀਆਂ ਬੰਦਸ਼ਾਂ ਲਾਗੂ ਕਰਨ ਅਤੇ ਗੁੰਝਲਦਾਰ ਲੈਣ-ਦੇਣ ਸੰਭਾਲਣ ਵਿੱਚ ਉੱਤਮ ਹਨ, ਸਾਡੀ ਐਪਲੀਕੇਸ਼ਨ ਦੀਆਂ ਅਜਿਹੀਆਂ ਲੋੜਾਂ ਨਹੀਂ ਹਨ। ਦਸਤਾਵੇਜ਼ ਡਾਟਾਬੇਸ ਸਾਡੇ ਵਰਤੋਂ ਦੇ ਕੇਸ ਲਈ ਲੋੜੀਂਦੀਆਂ ਇਕਸਾਰਤਾ ਅਤੇ ਟਿਕਾਊਪਣ ਦੀਆਂ ਗਾਰੰਟੀਆਂ ਦੇ ਸਕਦੇ ਹਨ।

ਨਤੀਜੇ

ਦਸਤਾਵੇਜ਼ ਡਾਟਾਬੇਸ ਚੁਣਨ ਨਾਲ, ਸਾਨੂੰ ਉਸ ਖਾਸ ਤਕਨਾਲੋਜੀ ਨੂੰ ਸਿੱਖਣ ਅਤੇ ਸਮਝਣ ਵਿੱਚ ਨਿਵੇਸ਼ ਕਰਨਾ ਪਵੇਗਾ ਜੋ ਅਸੀਂ ਵਰਤਣ ਲਈ ਚੁਣਦੇ ਹਾਂ। ਇਸ ਤੋਂ ਇਲਾਵਾ, ਸਾਨੂੰ ਇਹ ਯਕੀਨੀ ਬਣਾਉਣਾ ਪਵੇਗਾ ਕਿ ਸਾਡੀ ਐਪਲੀਕੇਸ਼ਨ ਦਾ ਡਾਟਾ ਮਾਡਲ ਦਸਤਾਵੇਜ਼ ਡਾਟਾਬੇਸ ਦੇ ਡਾਟਾ ਮਾਡਲ ਨਾਲ ਚੰਗੀ ਤਰ੍ਹਾਂ ਮੇਲ ਖਾਂਦਾ ਹੈ, ਤਾਂ ਜੋ ਕਾਰਗੁਜ਼ਾਰੀ ਅਤੇ ਵਧਣਯੋਗਤਾ ਨੂੰ ਵੱਧ ਤੋਂ ਵੱਧ ਕੀਤਾ ਜਾ ਸਕੇ।

ਫਿਰ ਵੀ, ਸਾਡਾ ਮੰਨਣਾ ਹੈ ਕਿ ਦਸਤਾਵੇਜ਼ ਡਾਟਾਬੇਸ ਵਰਤਣ ਦੇ ਫਾਇਦੇ ਲਾਗਤਾਂ ਨਾਲੋਂ ਵੱਧ ਹਨ, ਅਤੇ ਇਹ ਸਾਡੀ ਐਪਲੀਕੇਸ਼ਨ ਦੀਆਂ ਲੋੜਾਂ ਅਤੇ ਬੰਦਸ਼ਾਂ ਲਈ ਸਭ ਤੋਂ ਢੁਕਵਾਂ ਹੈ।