FerretDB 0.1 ಬಿಡುಗಡೆ, PostgreSQL DBMS ಆಧಾರಿತ MongoDB ಯ ಅನುಷ್ಠಾನ

FerretDB 0.1 ಪ್ರಾಜೆಕ್ಟ್‌ನ (ಹಿಂದೆ MangoDB) ಬಿಡುಗಡೆಯನ್ನು ಪ್ರಕಟಿಸಲಾಗಿದೆ, ಅಪ್ಲಿಕೇಶನ್ ಕೋಡ್‌ಗೆ ಬದಲಾವಣೆಗಳನ್ನು ಮಾಡದೆಯೇ ಡಾಕ್ಯುಮೆಂಟ್-ಆಧಾರಿತ DBMS MongoDB ಅನ್ನು PostgreSQL ನೊಂದಿಗೆ ಬದಲಾಯಿಸಲು ನಿಮಗೆ ಅನುಮತಿಸುತ್ತದೆ. FerretDB ಅನ್ನು ಪ್ರಾಕ್ಸಿ ಸರ್ವರ್ ಆಗಿ ಅಳವಡಿಸಲಾಗಿದೆ ಅದು MangoDB ಗೆ SQL ಪ್ರಶ್ನೆಗಳಿಗೆ PostgreSQL ಗೆ ಅನುವಾದಿಸುತ್ತದೆ, ಇದು PostgreSQL ಅನ್ನು ನಿಜವಾದ ಸಂಗ್ರಹಣೆಯಾಗಿ ಬಳಸಲು ಅನುಮತಿಸುತ್ತದೆ. ಕೋಡ್ ಅನ್ನು Go ನಲ್ಲಿ ಬರೆಯಲಾಗಿದೆ ಮತ್ತು Apache 2.0 ಪರವಾನಗಿ ಅಡಿಯಲ್ಲಿ ವಿತರಿಸಲಾಗಿದೆ.

AGPLv3 ಪರವಾನಗಿಯನ್ನು ಆಧರಿಸಿದ ಸ್ವಾಮ್ಯದ SSPL ಪರವಾನಗಿಗೆ MongoDB ಯ ಪರಿವರ್ತನೆಯಿಂದಾಗಿ ವಲಸೆಯ ಅಗತ್ಯವು ಉದ್ಭವಿಸಬಹುದು, ಆದರೆ ಅದು ತೆರೆದಿರುವುದಿಲ್ಲ, ಏಕೆಂದರೆ ಇದು SSPL ಪರವಾನಗಿ ಅಡಿಯಲ್ಲಿ ವಿತರಿಸಲು ತಾರತಮ್ಯದ ಅಗತ್ಯವನ್ನು ಹೊಂದಿದ್ದು ಅಪ್ಲಿಕೇಶನ್ ಕೋಡ್ ಮಾತ್ರವಲ್ಲ, ನಿಬಂಧನೆ ಕ್ಲೌಡ್ ಸೇವೆಯಲ್ಲಿ ಒಳಗೊಂಡಿರುವ ಎಲ್ಲಾ ಘಟಕಗಳ ಮೂಲ ಕೋಡ್.

ಫೆರೆಟ್‌ಡಿಬಿಯ ಗುರಿ ಪ್ರೇಕ್ಷಕರು ತಮ್ಮ ಅಪ್ಲಿಕೇಶನ್‌ಗಳಲ್ಲಿ ಮೊಂಗೋಡಿಬಿಯ ಸುಧಾರಿತ ಸಾಮರ್ಥ್ಯಗಳನ್ನು ಬಳಸದ ಬಳಕೆದಾರರು, ಆದರೆ ಸಂಪೂರ್ಣವಾಗಿ ತೆರೆದ ಸಾಫ್ಟ್‌ವೇರ್ ಸ್ಟ್ಯಾಕ್ ಅನ್ನು ಬಳಸಲು ಬಯಸುತ್ತಾರೆ. ಅಭಿವೃದ್ಧಿಯ ಪ್ರಸ್ತುತ ಹಂತದಲ್ಲಿ, ಫೆರೆಟ್‌ಡಿಬಿ ಇನ್ನೂ ಮೊಂಗೊಡಿಬಿ ಸಾಮರ್ಥ್ಯಗಳ ಒಂದು ಭಾಗವನ್ನು ಮಾತ್ರ ಬೆಂಬಲಿಸುತ್ತದೆ, ಇದನ್ನು ಸಾಮಾನ್ಯವಾಗಿ ವಿಶಿಷ್ಟ ಅಪ್ಲಿಕೇಶನ್‌ಗಳಲ್ಲಿ ಬಳಸಲಾಗುತ್ತದೆ. ಭವಿಷ್ಯದಲ್ಲಿ, ಅವರು MongoDB ಗಾಗಿ ಡ್ರೈವರ್‌ಗಳೊಂದಿಗೆ ಸಂಪೂರ್ಣ ಹೊಂದಾಣಿಕೆಯನ್ನು ಸಾಧಿಸಲು ಯೋಜಿಸುತ್ತಾರೆ ಮತ್ತು MongoDB ಗೆ ಪಾರದರ್ಶಕ ಬದಲಿಯಾಗಿ FerretDB ಅನ್ನು ಬಳಸುವ ಸಾಮರ್ಥ್ಯವನ್ನು ಒದಗಿಸುತ್ತಾರೆ.

ಪ್ರಮುಖ/ಮೌಲ್ಯ ಸ್ವರೂಪದಲ್ಲಿ ಡೇಟಾವನ್ನು ನಿರ್ವಹಿಸುವ ವೇಗದ ಮತ್ತು ಸ್ಕೇಲೆಬಲ್ ಸಿಸ್ಟಮ್‌ಗಳು ಮತ್ತು ಕ್ರಿಯಾತ್ಮಕ ಮತ್ತು ಪ್ರಶ್ನೆಗಳನ್ನು ರೂಪಿಸಲು ಸುಲಭವಾದ ಸಂಬಂಧಿತ DBMS ಗಳ ನಡುವೆ MongoDB ಒಂದು ಸ್ಥಾನವನ್ನು ಹೊಂದಿದೆ ಎಂಬುದನ್ನು ನಾವು ನೆನಪಿಸಿಕೊಳ್ಳೋಣ. MongoDB JSON-ರೀತಿಯ ಸ್ವರೂಪದಲ್ಲಿ ಡಾಕ್ಯುಮೆಂಟ್‌ಗಳನ್ನು ಸಂಗ್ರಹಿಸುವುದನ್ನು ಬೆಂಬಲಿಸುತ್ತದೆ, ಪ್ರಶ್ನೆಗಳನ್ನು ರಚಿಸಲು ಸಾಕಷ್ಟು ಹೊಂದಿಕೊಳ್ಳುವ ಭಾಷೆಯನ್ನು ಹೊಂದಿದೆ, ವಿವಿಧ ಸಂಗ್ರಹಿಸಿದ ಗುಣಲಕ್ಷಣಗಳಿಗೆ ಸೂಚ್ಯಂಕಗಳನ್ನು ರಚಿಸಬಹುದು, ದೊಡ್ಡ ಬೈನರಿ ವಸ್ತುಗಳ ಸಂಗ್ರಹಣೆಯನ್ನು ಸಮರ್ಥವಾಗಿ ಒದಗಿಸುತ್ತದೆ, ಡೇಟಾಬೇಸ್‌ಗೆ ಡೇಟಾವನ್ನು ಬದಲಾಯಿಸಲು ಮತ್ತು ಸೇರಿಸಲು ಕಾರ್ಯಾಚರಣೆಗಳ ಲಾಗಿಂಗ್ ಅನ್ನು ಬೆಂಬಲಿಸುತ್ತದೆ, ಮಾಡಬಹುದು ಮಾದರಿ ನಕ್ಷೆ/ಕಡಿಮೆಗೆ ಅನುಗುಣವಾಗಿ ಕೆಲಸ ಮಾಡಿ, ದೋಷ-ಸಹಿಷ್ಣು ಕಾನ್ಫಿಗರೇಶನ್‌ಗಳ ಪುನರಾವರ್ತನೆ ಮತ್ತು ನಿರ್ಮಾಣವನ್ನು ಬೆಂಬಲಿಸುತ್ತದೆ.

FerretDB 0.1.0 ಬಿಡುಗಡೆಯು PostgreSQL ನಿಂದ ದತ್ತಾಂಶವನ್ನು ಹಿಂಪಡೆಯುವ ವಿಧಾನವನ್ನು ಸಂಪೂರ್ಣವಾಗಿ ಮರುವಿನ್ಯಾಸಗೊಳಿಸಿತು. ಹಿಂದೆ, ಪ್ರತಿ ಒಳಬರುವ MongoDB ವಿನಂತಿಗಾಗಿ, ಒಂದು SQL ಪ್ರಶ್ನೆಯನ್ನು PostgreSQL ಗೆ ರಚಿಸಲಾಗಿದೆ, JSON ಫಾರ್ಮ್ಯಾಟ್‌ನೊಂದಿಗೆ ಕೆಲಸ ಮಾಡಲು ಮತ್ತು PostgreSQL ಬದಿಯಲ್ಲಿ ಫಲಿತಾಂಶಗಳನ್ನು ಫಿಲ್ಟರ್ ಮಾಡಲು ಕಾರ್ಯಗಳನ್ನು ಬಳಸಿ. PostgreSQL ಮತ್ತು MongoDB json ಕಾರ್ಯಗಳ ಶಬ್ದಾರ್ಥದಲ್ಲಿನ ವ್ಯತ್ಯಾಸಗಳಿಂದಾಗಿ, ವಿಭಿನ್ನ ಪ್ರಕಾರಗಳನ್ನು ಹೋಲಿಸುವಾಗ ಮತ್ತು ವಿಂಗಡಿಸುವಾಗ ವರ್ತನೆಯಲ್ಲಿ ವ್ಯತ್ಯಾಸ ಕಂಡುಬಂದಿದೆ. ಈ ಸಮಸ್ಯೆಯನ್ನು ಪರಿಹರಿಸಲು, ಡೇಟಾವನ್ನು ಈಗ PostgreSQL ನಿಂದ ಅನಗತ್ಯವಾಗಿ ಪಡೆಯಲಾಗಿದೆ, ಮತ್ತು ಫಲಿತಾಂಶವನ್ನು ಫೆರೆಟ್‌ಡಿಬಿ ಬದಿಯಲ್ಲಿ ಫಿಲ್ಟರ್ ಮಾಡಲಾಗಿದೆ, ಇದು ಹೆಚ್ಚಿನ ಸಂದರ್ಭಗಳಲ್ಲಿ ಮೊಂಗೋಡಿಬಿಯ ನಡವಳಿಕೆಯನ್ನು ಪುನರಾವರ್ತಿಸಲು ಸಾಧ್ಯವಾಗಿಸಿತು.

ಹೆಚ್ಚಿದ ಹೊಂದಾಣಿಕೆಯ ಬೆಲೆಯು ಕಾರ್ಯಕ್ಷಮತೆಯಲ್ಲಿನ ಇಳಿಕೆಯಾಗಿದೆ, ಭವಿಷ್ಯದ ಬಿಡುಗಡೆಗಳಲ್ಲಿ ಅವರು FerretDB ಬದಿಯಲ್ಲಿ ಆಯ್ಕೆಯಾಗಿ ಫಿಲ್ಟರ್ ಮಾಡುವ ಮೂಲಕ ಸರಿದೂಗಿಸಲು ನಿರೀಕ್ಷಿಸುತ್ತಾರೆ, ಇದಕ್ಕಾಗಿ ನಡವಳಿಕೆಯಲ್ಲಿ ವ್ಯತ್ಯಾಸವಿದೆ. ಉದಾಹರಣೆಗೆ, "db.collection.find({_id: 'some-id-value'})" ಪ್ರಶ್ನೆಯನ್ನು PostgreSQL ನಲ್ಲಿ ಸಂಪೂರ್ಣವಾಗಿ ಪ್ರಕ್ರಿಯೆಗೊಳಿಸಬಹುದು. ಅಭಿವೃದ್ಧಿಯ ಈ ಹಂತದಲ್ಲಿ ಯೋಜನೆಯ ಪ್ರಾಥಮಿಕ ಗುರಿ MongoDB ಯೊಂದಿಗೆ ಹೊಂದಾಣಿಕೆಯನ್ನು ಸಾಧಿಸುವುದು, ಮತ್ತು ಕಾರ್ಯಕ್ಷಮತೆಯನ್ನು ಇದೀಗ ಹಿನ್ನೆಲೆಗೆ ತಳ್ಳಲಾಗಿದೆ. ಹೊಸ ಆವೃತ್ತಿಯಲ್ಲಿನ ಕ್ರಿಯಾತ್ಮಕ ಬದಲಾವಣೆಗಳಲ್ಲಿ, ಎಲ್ಲಾ ಬಿಟ್ ಆಪರೇಟರ್‌ಗಳಿಗೆ ಬೆಂಬಲ, “$eq” ಹೋಲಿಕೆ ಆಪರೇಟರ್, ಹಾಗೆಯೇ “$elemMatch” ಮತ್ತು “$bitsAllClear” ಆಪರೇಟರ್‌ಗಳನ್ನು ಗುರುತಿಸಲಾಗಿದೆ.

ಮೂಲ: opennet.ru

ಕಾಮೆಂಟ್ ಅನ್ನು ಸೇರಿಸಿ