FerretDB 0.1 విడుదల, PostgreSQL DBMS ఆధారంగా MongoDB అమలు

FerretDB 0.1 ప్రాజెక్ట్ (గతంలో MangoDB) యొక్క విడుదల ప్రచురించబడింది, అప్లికేషన్ కోడ్‌లో మార్పులు చేయకుండానే డాక్యుమెంట్-ఆధారిత DBMS MongoDBని PostgreSQLతో భర్తీ చేయడానికి మిమ్మల్ని అనుమతిస్తుంది. FerretDB ప్రాక్సీ సర్వర్‌గా అమలు చేయబడింది, ఇది MangoDBకి కాల్‌లను SQL ప్రశ్నలను PostgreSQLకి అనువదిస్తుంది, PostgreSQLని వాస్తవ నిల్వగా ఉపయోగించడానికి అనుమతిస్తుంది. కోడ్ గోలో వ్రాయబడింది మరియు Apache 2.0 లైసెన్స్ క్రింద పంపిణీ చేయబడుతుంది.

AGPLv3 లైసెన్స్‌పై ఆధారపడిన యాజమాన్య SSPL లైసెన్స్‌కి MongoDB మారడం వల్ల వలస అవసరం ఏర్పడవచ్చు, కానీ అది అప్లికేషన్ కోడ్‌లోనే కాకుండా SSPL లైసెన్స్ కింద బట్వాడా చేయడానికి వివక్షాపూరితమైన ఆవశ్యకతను కలిగి ఉన్నందున ఇది తెరవబడదు. ప్రొవిజన్ క్లౌడ్ సేవలో పాల్గొన్న అన్ని భాగాల సోర్స్ కోడ్.

FerretDB యొక్క లక్ష్య ప్రేక్షకులు తమ అప్లికేషన్‌లలో MongoDB యొక్క అధునాతన సామర్థ్యాలను ఉపయోగించని వినియోగదారులు, కానీ పూర్తిగా ఓపెన్ సాఫ్ట్‌వేర్ స్టాక్‌ను ఉపయోగించాలనుకుంటున్నారు. ప్రస్తుత అభివృద్ధి దశలో, ఫెరెట్‌డిబి ఇప్పటికీ విలక్షణమైన అప్లికేషన్‌లలో ఎక్కువగా ఉపయోగించే మొంగోడిబి సామర్థ్యాలలో కొంత భాగాన్ని మాత్రమే సపోర్ట్ చేస్తుంది. భవిష్యత్తులో, వారు MongoDB కోసం డ్రైవర్‌లతో పూర్తి అనుకూలతను సాధించాలని ప్లాన్ చేస్తారు మరియు MongoDBకి పారదర్శక ప్రత్యామ్నాయంగా FerretDBని ఉపయోగించే సామర్థ్యాన్ని అందిస్తారు.

కీ/విలువ ఫార్మాట్‌లో డేటాను ఆపరేట్ చేసే వేగవంతమైన మరియు స్కేలబుల్ సిస్టమ్‌లు మరియు క్రియాత్మకమైన మరియు ప్రశ్నలను రూపొందించడానికి సులభమైన రిలేషనల్ DBMSల మధ్య MongoDB సముచిత స్థానాన్ని ఆక్రమించిందని మనం గుర్తుచేసుకుందాం. MongoDB పత్రాలను JSON-వంటి ఫార్మాట్‌లో నిల్వ చేయడానికి మద్దతు ఇస్తుంది, ప్రశ్నలను రూపొందించడానికి చాలా సరళమైన భాషను కలిగి ఉంటుంది, వివిధ నిల్వ చేయబడిన లక్షణాల కోసం సూచికలను సృష్టించగలదు, పెద్ద బైనరీ వస్తువుల నిల్వను సమర్ధవంతంగా అందిస్తుంది, డేటాబేస్‌కు డేటాను మార్చడానికి మరియు జోడించడానికి కార్యకలాపాలను లాగింగ్ చేయడానికి మద్దతు ఇస్తుంది. నమూనా మ్యాప్/తగ్గింపుకు అనుగుణంగా పని చేయండి, తప్పు-తట్టుకునే కాన్ఫిగరేషన్‌ల ప్రతిరూపణ మరియు నిర్మాణానికి మద్దతు ఇస్తుంది.

FerretDB 0.1.0 విడుదల PostgreSQL నుండి డేటాను తిరిగి పొందే పద్ధతిని పూర్తిగా పునఃరూపకల్పన చేసింది. గతంలో, ప్రతి ఇన్‌కమింగ్ MongoDB అభ్యర్థన కోసం, JSON ఫార్మాట్‌తో పని చేయడానికి మరియు PostgreSQL వైపు ఫలితాలను ఫిల్టర్ చేయడానికి ఫంక్షన్‌లను ఉపయోగించి PostgreSQLకి ఒక SQL ప్రశ్న రూపొందించబడింది. PostgreSQL మరియు MongoDB json ఫంక్షన్‌ల సెమాంటిక్స్‌లో తేడాల కారణంగా, విభిన్న రకాలను పోల్చినప్పుడు మరియు క్రమబద్ధీకరించేటప్పుడు ప్రవర్తనలో వ్యత్యాసం ఉంది. ఈ సమస్యను పరిష్కరించడానికి, డేటా ఇప్పుడు PostgreSQL నుండి అనవసరంగా పొందబడింది మరియు ఫలితం FerretDB వైపు ఫిల్టర్ చేయబడుతుంది, ఇది చాలా సందర్భాలలో MongoDB ప్రవర్తనను పునరావృతం చేయడం సాధ్యపడింది.

పెరిగిన అనుకూలత యొక్క ధర పనితీరులో తగ్గుదల, ఇది భవిష్యత్ విడుదలలలో ప్రవర్తనలో వ్యత్యాసం ఉన్న ప్రశ్నలను మాత్రమే FerretDB వైపు ఎంపిక చేసి ఫిల్టర్ చేయడం ద్వారా భర్తీ చేయాలని వారు భావిస్తున్నారు. ఉదాహరణకు, "db.collection.find({_id: 'some-id-value'})" ప్రశ్న పూర్తిగా PostgreSQLలో ప్రాసెస్ చేయబడుతుంది. అభివృద్ధి యొక్క ఈ దశలో ప్రాజెక్ట్ యొక్క ప్రాథమిక లక్ష్యం MongoDBతో అనుకూలతను సాధించడం మరియు పనితీరు ప్రస్తుతానికి నేపథ్యానికి పంపబడింది. కొత్త వెర్షన్‌లోని ఫంక్షనల్ మార్పులలో, అన్ని బిట్ ఆపరేటర్‌లకు మద్దతు, “$eq” కంపారిజన్ ఆపరేటర్, అలాగే “$elemMatch” మరియు “$bitsAllClear” ఆపరేటర్‌లు గుర్తించబడ్డాయి.

మూలం: opennet.ru

ఒక వ్యాఖ్యను జోడించండి