Freelance Java/Spring Framework Developer (Remote)

Tip colaborare:
Freelancer (hourly based). Este necesar sa ai PFA sau SRL pentru a emite facturi pentru serviciile prestate.

Skill-uri necesare:

  • Java
  • Spring framework / Spring boot
  • MongoDB (cu Spring Data)

Detalii proiect:
Este vorba despre partea de backend a unui SaaS aflat la inceput de drum. Acest backend expune REST APIs care sunt consumate de clienti web.
Te poti focusa doar pe development, insa daca ai si cunostinte de CI / Infrastructure, acestea sunt bine venite.

1 Like

Daca e un proiect la incept de drum, renunta la MongoDB ca main db, am vazut proiecte care s-au fript cu mongodb, ok ai date multe, vrei ceva no-sql, da, poti sa le tii intr-un elastic search ca un fel de persistent cache, dar nu ca source of truth.

As fi apreciat o parere de la cineva care a avut hands-on experience cu o astfel de situatie negativa cu MongoDB. Din ce inteleg, ai vazut/auzit la altcineva. Eu pot spune ca am dezvoltat proiecte cu MongoDB care au high-workloads in production si in prezent.

Hand on a fost dimensiunea datelor la un proiect 5+ ani, si faptul ca nimeni nu mai stia ce e acolo pt ca “schema-less”, si nu puteai sa tranzitionezi, aceeleasi date ar fi avut o dimensiune mult mai mica alte baze de date (postgresql), ceea ce inseamna ca totul se face de pe disk.

Alta problema, nu hands on, doar auzit, tranzactiile, da, nu ai nevoie pana cand ai, sunt chiar si bloguri cu startup-uri hack-ite prin timing attacks pt ca nu aveau tranzactii, (crypto-currency). Poate ca are tranzactii acum, dar ma indoiesc ca sunt la nivelul unui baze de date clasice.

Migrations se fac programatic. Un serviciu responsabil cu o baza de date MongoDB, poate fi responsabil sa isi migreze datele. Astfel, poti de exemplu sa faci achieve la lazy migrations - ce faci de exemplu daca ai un set foarte mare de date (sa zicem ca esti Facebook sau un crypto exchange), si vrei sa migrezi o tabela / colectie care cantareste Terabytes ? O sa rulezi un query care sa modifice structura acelui set de date? Programatic poti migra o resursa atunci cand este fetched din DB. Desigur, este bine sa ai disciplina de la inceput, altfel ajungi in situatii precum ai zis tu “nimeni nu mai stia ce e acolo”.

Transactions exista in MongoDB, probabil nu pentru versiuni foarte vechi (poti verifica Docs).

Mda, era vorba de efort, orice se poate face, dar cine plateste pt, nu e ca si cum rulezi un sql dump si un import apoi. Cand despre tx, poate ca exista acum, dar eu nu as avea incredere oricum, nu te joci cu transactiile, in special cand lucrezi cu bani, etc.

Oricum vad ca am cam deviat, mi-am dat si eu cu parerea, pt asta sunt forumurile doar, good luck with your project.

Acest subiect a fost închis automat după 30 de zile de la primul răspuns. Nu mai sunt permise răspunsuri noi.