MongoDB Pro și Contra

si uite asa o sa mai apara un rand de habarnisti care o sa foloseasca tehnologii pe care nu le inteleg doar pentru ca au citit ei pe undeva ca mysql-ul suge.
nu ma intelegeti gresit, mongodb si asemanatoarele sunt ok. doar ca exemplul cu blogul e extrem de neinspirat.

1 Like

@alescx Nu inteleg de ce sunt atati hateri cand vine vorba de node.js, mongo sau alte tehnologii nosql … de parca toti v-ati nascuti invatati. Dar poate vreau sa invat turbo pascal, wtf do you care? De ce faceti niste presupuneri aiurea? De unde stii tu ca toti care invata mongo nu stiu ce e ala mysql? Majoritatea framework-urilor (ca si express) au ca tutorial de inceput crearea unui blog, este cel mai simplu exercitiu de CRUD … adica cele mai basic operatii cu orice tip de baza de date (mongo) … ma rog …

Asta urasc cel mai mult la forumuri si grupuri de programatori romani in general … complexul asta al superioritatii este nelipsit …

2 Likes

Îți dau un :+1: pentru mesajul transmis în partea a doua (folosirea tehnologiilor doar de dragul de a fi folosite). Dar îți dau și un :-1: pentru modul în care l-ai transmis. Obositor modul în care amesteci româna cu engleza…

dau niste citate din iamntz? despre mode obositor de-a amesteca romana cu engleza? :smiley:

@dakull postgres nu am folosit, stiu ca tu esti fan si daca reusesti sa faci cu el tot ceea ce ai nevoie e si mai bine, eu unu folosesc mysql in general de peste 6 ani … si nu as renunta designul relational in favoarea celui de tip cheie valoare. Cursul asta te invata atat mongo cat si express ceea ce se apropie foarte tare de stack-ul http://mean.io/ pe care mi-ar placea sa-l adaug in bagajul meu de cunostinte.

Sunt constient si cred ca majoritatea de aici sunt constienti de asemenea de cazurile in care ar trebui folosit sau nu mongodb :slight_smile: Iar cu persoanele care iti aduc ca argumente faptul ca tehnologia este “cool” poate ca nu ar trebui sa mai vorbesti din start :stuck_out_tongue:

@alescx cu siguranta nu as face un blog folosind exemplul prezentat in curs dar din nou este pur demonstrativ ceea ce incearca ei sa construiasca.

Si cine vrea sa foloseasca noSQL pana la urma fara sa stie de ce il foloseste poate invata din greseli, la urma urmei cum sa invete? … Ce-ar mai fi … o lume fara noobs :smiling_imp:

Pana la urma cursul asta este gratuit, inveti ceva node, ceva mongo si la sfarsit ti se ofera si o certificare. Nu vad ce e rau in asta.

Si ce este in neregula in a fi fan? Nu inteleg. Poate ca inteleg gresit acest termen. Nu era in sensul negativ …

Nu inteleg quote-ul. Ce este in neregula cu faptul ca s-a folosit nosql impreuna cu mysql? Ca am spus ca nu as renunta la relational? Sau?

Holy cow! now they have free courses to further indoctrinate developers into their useless architecture of hipster programming. /hater

@iamntz hatereala? wtf pune si tu Pro/Cons altfel nimeni nu-l va lua in serios.

Poate cineva are chef de o discutie pe marginea la CAP theorem & co. sau ce in conditii iti poti pierde toate datele din Mongo :sunny:

1 Like

@tachyean nu este vorba de asta, probabil de asta am primit si flag insa eram sarcastic. Argumentul este simplu: sunt tehnologii ce au sens cand lucrezi cu > 1 milion/miliarde de records iar la nivelul de learnig new stuff nu sunt cine stie ce, ca learning curve: JSON si JS. How about learning some advanced Postgres like - views, full-text search, procedures, sharding how to use HStore and the useful native types in your day to day apps. Learning advanced SQL will make you a better programmer than learning NoSQL,

Si chiar cand ajungi la > 1 milion/miliarde guess what? Interfata de la Redshift este SQL based si o poti accesa cu orice adaptor de postgres.

Argumentul #2: sa zicem ca voi nu intrati aici insa am dat de persoane advanced care vroiau sa trecem pe MongoDB pur si simplu pentru ca era cool desi domeniul problemei nu avea nici o legatura cu NoSQL si da sunt biased si probl. next time someone tells me that I’m going to punch him in the face.

Also check out the CAP theorem and ACID compliance and so on.

In concluzie nu ma consider hater. da sunt acid insa fac asta pentru atrage atentia insa fara a folosi blanket statements.

din alt thread:

Apache Cassandra pentru generarea unui “graph” in care se stocau diferite relatii intre utilizatori (prieteni, notificari, posturi, requesturi, countere …), lucruri care se obtineau destul de greoi prin intermediul MySQL. ~ @tachyean

EDIT:

Iar legat de postgres, nu este vorba de fandom ci de OSS - odata ce mysql a fost preluat de Oracle toata lumea stie ca a stagnat constant, iar Facebook inca il foloseste pentru ca de asta inca folosesc si un non-responseive design. Iar MariaDB este un fork ce nu aduce mare lucru.

Deci nu, nu este vorba de fandom ci iarasi argumente. Cum ziceam - I don’t do blanket statements :sunny:

Mi-ar placea sa folositi argumente, in modul:

“la un proiect in care am avut de facut [x y z] am folosit mysql pt. ca in mongodb ar fi fost [argument]”.
“am incercat sa fac [z y x] in mongodb si comparat cu mysql este [argument]”

Eu pt. app-ul uni client (care genereaza un static site) am folosit LevelDB (key:value store). Are vreo ~2000 de articole introduse, si un search care le parcurge pe toate dureaza cam 30ms. De ce? Pt. ca avea nevoie de portabilitate, LevelDB e embeded, nu ai nevoie de un serviciu extern ca MongoDB / PostgreSQL. E light, fast si isi face treaba, plus ca am scris putin cod sa obtin ceea ce vreau.

Motivul pt. care alegi sa folosesti o tehnologie e mai important decat preferintele SQL / noSQL.

Cei care folositi MySQL, il folositi si pt. session storage / tokens / etc? De ce nu Redis? MySQL nu are TTL.

2 Likes

Si cum nu sare nimeni cu ceva legat de CAP theorem: here

2 Likes

@dakull da-mi si mie un exemplu in care te-ai lovit de CAP theorem in practia, intr-un proiect la care-ai lucrat.

Cat despre CAP si MongoDB, spre exemplu la CERN au construit un Compact Muon Solenoid (CMS) folosind MongoDB, dar Voxer au avut probleme cu MongoDB si au trecuit la Riak.

Sunt utile exemplele? Normal ca nu, sunt subiective si nu cred ca avem vreunul dintre noi experienta necesara sa ne dam cu parerea constructiv, doar asa religios, fiecare cu ce crede.

Consistency / Mongo nu este ACID compliant - try doing joins and transactions in it and enjoy shooting yourself in the foot.

Direct din FAQ-ul lor:

Do not use MongoDB for systems that require SQL, joins, and multi-object transactions.

Mi se pare comic cum majoritatea aplicatiilor necesita asa ceva iar apoi undeva mai sus in FAQ zic:

MongoDB has a general-purpose design, making it appropriate for a large number of use cases

i.e. nu sunt consistenti nici macar in propriul FAQ (pun intended)

Redis in schimb il folosesc mai tot timpul fie ca un cache store, session store sau message passing.

1 Like

Discutia asta imi aduce aminte de dBASE, prima baza de date pentru microcomputere. Initial a fost un succes dar apoi a fost criticata, ca nu este relationala, ca nu stie SQL. Ulterior s-a integrat si SQL dar deja pierduse teren in fata SQL Server si Oracle care erau native SQL.

Intrucatva MongoDB se aseamana cu dBASE si este interesant cum tehnologia software revine la origini dupa un timp, desigur mai matura, exact ca si in moda.

1 Like

Starting in the mid-1980s, several companies produced their own variations on the dBase product and especially the dBase programming language. These included FoxBASE+(later renamed FoxPro)

Greselile se repeta daca nu citesti istoria :sunny:

Cu FoxPro-ul este alta poveste, a venit cu un engine optimizat si SQL inclus inca de la primele versiuni. A fost cumparat de Microsoft care a scos un mediu data centric puternic Visiual FoxPro. Insa pe la versiunea 9 prin 2007 l-a abandonat pentru ca eclipsa perechea VB.NET si SQL Server. Echipa de dezvoltare a fost imprastiata pe la proiectele .NET si in scurt timp a aparut LINQ.

1 Like

Nu stiu de ce ar folosi un responsive design. E oribil, si low cost.

Daca exista buget e mult mai utila o versiune dedicata pentru mobile. Sau o aplicatie.

nice trolling :slight_smile:

Subiectul e unul foarte bun, Mongo fiind clar o tehnologie de luat in seama. Dar s-a luat pe aratura si v-as ruga, pe viitor, cand vreti sa atingeti, dintr-un subiect, un altul, sa creati un topic nou. Sa nu ajunga discutiile bune in categoria Offtopic.

Multumesc!