FerretDB-nin ilk stabil buraxılışı, PostgreSQL DBMS əsasında MongoDB tətbiqi

Tətbiq kodunda dəyişiklik etmədən sənəd yönümlü DBMS MongoDB-ni PostgreSQL ilə əvəz etməyə imkan verən FerretDB 1.0 layihəsinin buraxılışı nəşr olundu. FerretDB, MongoDB-yə edilən zəngləri SQL sorğularına PostgreSQL-ə çevirən proxy server kimi həyata keçirilir ki, bu da PostgreSQL-i faktiki yaddaş kimi istifadə etməyə imkan verir. Versiya 1.0 ümumi istifadəyə hazır olan ilk stabil buraxılış kimi qeyd olunur. Kod Go-da yazılır və Apache 2.0 lisenziyası altında paylanır.

FerretDB-nin əsas hədəf auditoriyası öz tətbiqlərində MongoDB qabaqcıl xüsusiyyətlərindən istifadə etməyən, lakin tamamilə açıq proqram yığınından istifadə etmək istəyən istifadəçilərdir. Hazırkı inkişaf mərhələsində, FerretDB tipik tətbiqlərdə ən çox istifadə olunan MongoDB xüsusiyyətlərinin bir hissəsini dəstəkləyir. FerretDB-nin tətbiqi ehtiyacı MongoDB-nin AGPLv3 lisenziyasına əsaslanan, lakin açıq olmayan qeyri-pulsuz SSPL lisenziyasına keçidi ilə əlaqədar yarana bilər, çünki o, təkcə SSPL lisenziyası altında təchizat üçün ayrı-seçkilik tələbini ehtiva edir. proqram kodunun özü, həm də bulud xidmətlərinin göstərilməsində iştirak edən bütün komponentlərin mənbə kodları.

MongoDB, açar/dəyər məlumatları və funksional və sorğulanması asan olan relational DBMS-lər üzərində işləyən sürətli və genişlənə bilən sistemlər arasında yer tutur. MongoDB sənədlərin JSON formatında saxlanmasını dəstəkləyir, sorğular yaratmaq üçün kifayət qədər çevik bir dilə malikdir, müxtəlif saxlanılan atributlar üçün indekslər yarada bilir, böyük ikili obyektlərin saxlanmasını səmərəli şəkildə təmin edir, verilənlər bazasına məlumatların dəyişdirilməsi və əlavə edilməsi üçün əməliyyatların qeydiyyatını dəstəkləyir, Xəritə/Reduce paradiqmasına uyğun olaraq işləmək, replikasiyanı və xətaya dözümlü konfiqurasiyaların qurulmasını dəstəkləyir.

FerretDB 1.0-dakı dəyişikliklər arasında:

  • Kolleksiyaya bir və ya bir neçə indeks yaratmaq və buraxmaq üçün createIndexes və dropIndexes əmrləri həyata keçirilib.
  • GetMore əmri tap və toplama kimi kursoru qaytaran əmrlərin icrasından əldə edilən nəticənin yeni hissəsini göstərmək üçün tətbiq edilmişdir.
  • Qrup dəyərlərinin cəmini hesablamaq üçün $sum toplama operatoru üçün dəstək əlavə edildi.
  • $limit və $skip operatorları üçün rəqəmi məhdudlaşdırmaq və toplama zamanı sənədləri atlamaq üçün əlavə dəstək.
  • Toplama zamanı sənədləri saymaq üçün $count operatoru üçün dəstək əlavə edildi.
  • Daxil olan sənədlərdə massiv sahələrini təhlil etmək və hər massiv elementi üçün ayrıca sənədlə siyahı yaratmaq üçün $unwind operatoru üçün dəstək əlavə edildi.
  • Kolleksiya və verilənlər bazası statistikası və məlumat ölçüsünü əldə etmək üçün collStats, dbStats və dataSize əmrləri üçün qismən dəstək əlavə edildi.

Mənbə: opennet.ru

Добавить комментарий