ఆర్కిటెక్చర్ నిర్ణయ రికార్డు: డేటాబేస్ సాంకేతికత ఎంపిక
స్థితి
అంగీకరించబడింది
సందర్భం
డేటాను విస్తరించదగిన, మెరుగైన పనితీరుతో నిల్వ చేయడానికి, తిరిగి పొందడానికి అవసరమైన ఒక కొత్త అప్లికేషన్ను మేము డిజైన్ చేస్తున్నాం. సాధారణంగా వాడే మూడు రకాల డేటాబేస్ సాంకేతికతలను మేము గుర్తించాం: రిలేషనల్ డేటాబేస్లు, డాక్యుమెంట్ డేటాబేస్లు, ఈవెంట్ డేటాబేస్లు.
రిలేషనల్ డేటాబేస్లు డేటాను స్థిర స్కీమాలతో పట్టికలలో నిల్వ చేస్తాయి, కఠినమైన డేటా సమగ్రత పరిమితులను అమలు చేస్తాయి. సంక్లిష్ట డేటా సంబంధాలు, లావాదేవీలు అవసరమైన అప్లికేషన్లకు ఇవి అనుకూలం. ఉదాహరణలు: MySQL, PostgreSQL, Oracle.
డాక్యుమెంట్ డేటాబేస్లు డేటాను JSON లాంటి డాక్యుమెంట్లలో నిల్వ చేస్తాయి, స్కీమా లేనివి. వెసులుబాటు గల డేటా మోడళ్లు, క్షితిజ సమాంతర విస్తరణ అవసరమైన అప్లికేషన్లకు ఇవి బాగా సరిపోతాయి. ఉదాహరణలు: MongoDB, Couchbase, Amazon DynamoDB.
ఈవెంట్ డేటాబేస్లు డేటాను ఈవెంట్ల శ్రేణిగా నిల్వ చేస్తాయి, డేటాకు జరిగే ప్రతి మార్పును సంగ్రహిస్తాయి. ఆడిటింగ్, ఈవెంట్ సోర్సింగ్, సంక్లిష్ట డేటా ప్రాసెసింగ్ అవసరమైన అప్లికేషన్లకు ఇవి అనుకూలం. ఉదాహరణలు: Apache Kafka, Apache Pulsar, AWS Kinesis. నిర్ణయం
మా అప్లికేషన్ అవసరాలు, పరిమితులను జాగ్రత్తగా మూల్యాంకనం చేసిన తర్వాత, డాక్యుమెంట్ డేటాబేస్ను వాడాలని మేము నిర్ణయించాం.
హేతువు
మేము డాక్యుమెంట్ డేటాబేస్ను ఎంచుకున్నాం ఎందుకంటే:
మా అప్లికేషన్కు కాలక్రమేణా పరిణామం చెందగల వెసులుబాటు గల డేటా మోడల్ అవసరం. డాక్యుమెంట్ డేటాబేస్లు డేటాను స్కీమా లేని ఫార్మాట్లో నిల్వ చేయడానికి అనుమతిస్తాయి, అంటే డేటాబేస్ స్కీమాను మార్చకుండానే కొత్త ఫీల్డ్లను జోడించవచ్చు లేదా ఉన్న డాక్యుమెంట్ల నిర్మాణాన్ని మార్చవచ్చు.
పెద్ద పరిమాణంలో డేటా, ట్రాఫిక్ను నిర్వహించడానికి మా అప్లికేషన్ క్షితిజ సమాంతరంగా విస్తరించాలి. డాక్యుమెంట్ డేటాబేస్లు షార్డింగ్, రెప్లికేషన్కు అంతర్నిర్మిత మద్దతును అందిస్తాయి, ఇది డేటాను అనేక సర్వర్లలో పంపిణీ చేయడానికి, అధిక రీడ్, రైట్ త్రూపుట్ను నిర్వహించడానికి మాకు వీలు కల్పిస్తుంది.
మా అప్లికేషన్కు వేగవంతమైన, సమర్థవంతమైన డేటా తిరిగి పొందడం అవసరం. డాక్యుమెంట్ డేటాబేస్లు డేటాను త్వరగా, సమర్థవంతంగా తిరిగి పొందడానికి మాకు వీలు కల్పించే శక్తివంతమైన ఇండెక్సింగ్, క్వెరీయింగ్ సామర్థ్యాలను అందిస్తాయి.
మా అప్లికేషన్కు సంక్లిష్ట లావాదేవీలు లేదా డేటా సంబంధాలు అవసరం లేదు. డేటా సమగ్రత పరిమితులను అమలు చేయడంలో, సంక్లిష్ట లావాదేవీలను నిర్వహించడంలో రిలేషనల్ డేటాబేస్లు రాణిస్తాయి, కానీ మా అప్లికేషన్కు అలాంటి అవసరాలు లేవు. మా వినియోగ సందర్భానికి డాక్యుమెంట్ డేటాబేస్లు తగినంత స్థిరత్వ, మన్నిక హామీలను అందించగలవు.
పర్యవసానాలు
డాక్యుమెంట్ డేటాబేస్ను ఎంచుకోవడం ద్వారా, మేము వాడాలని ఎంచుకున్న నిర్దిష్ట సాంకేతికతను నేర్చుకోవడంలో, అర్థం చేసుకోవడంలో పెట్టుబడి పెట్టాల్సి ఉంటుంది. అదనంగా, పనితీరు, విస్తరణ సామర్థ్యాన్ని గరిష్ఠం చేయడానికి మా అప్లికేషన్ డేటా మోడల్ డాక్యుమెంట్ డేటాబేస్ డేటా మోడల్కు బాగా సరిపోయేలా చూసుకోవాలి.
అయినప్పటికీ, డాక్యుమెంట్ డేటాబేస్ వాడటం వల్ల కలిగే ప్రయోజనాలు ఖర్చులను మించిపోతాయని, ఇది మా అప్లికేషన్ అవసరాలు, పరిమితులకు ఉత్తమంగా సరిపోతుందని మేము నమ్ముతున్నాం.