16. 12. 2011. | #11 |
Ivan Dilber
Sir Write-a-Lot
|
ima smisla koristiti 2 baze ako ocekujes jak traffic da ne bi opterecivao bazu select-ima (ne znam kako tacno radi locking u mongu, trebalo bi proveriti). Ali mozda ti je lakse da repliciras monga, postoji dobra podrska za to, a mogao bi i o shardingu da razmislis...
Sto se selecta tice, ako ti ne trebaju komplikovani join-ovi mongo je sasvim jednostavan i brz, tako da sa te strane nema razloga da ga izbegavas...
__________________
Leadership is the art of getting people to want to do what you know must be done. |
16. 12. 2011. | #13 |
Ivan Dilber
Sir Write-a-Lot
|
ja sam vise mislio 2 baze generalno, nebitno koje, cisto da ne pises i citas iz iste, jer te operacije smetaju jedna drugoj, a replikacija to elegantno resi
ali svakako se slazem da noSQL ima i prednosti i mana u odnosu na relacione baze, mada mnogo tih mana moze da se resi i pametnim dizajnom scheme... ali treba uvek birati alat prema konkretnoj situaciji, naravno...
__________________
Leadership is the art of getting people to want to do what you know must be done. |
16. 12. 2011. | #14 |
Wait, What?
Qualified
Datum učlanjenja: 21.03.2010
Poruke: 148
Hvala: 8
188 "Hvala" u 14 poruka
|
Ja sam ipak odlucio da idem na Mysql i Mongo, na mongo ce ici write i nesto selecta (tipa dal je taj user vec bio na sajtu i sl), a na mysql ce ici drugi deo, koliko je ukupno korisnik bio, koliko je procitao stranica, registracije, banovi i sl ...
Tako da necu opteretiti niti jednu bazu previse a i u slucaju da jedna ispadne iz sistema druga moze da gura sama koliko toliko ... I mozda najvaznije stvar je sto neam pojma mongo tako da ce mi biti vatreno krstenje, i strah me da ceo sajt bude na mongo. No bice vec sledeceg meseca slicnih i vecih projekata tako da mozda neki buduci bude na jednoj bazi Jel ima neko neki artikal da mi preporuci tip quick mongo tips i sl?
__________________
Svakog dana uvlacim linije pa misle da se drogiram. |
17. 12. 2011. | #15 |
Ivan Dilber
Sir Write-a-Lot
|
ja sam samo mongodb manual citao i sasvim je dovoljno (za osnovne operacije bar, ja samo trackujem neke bannere).. umesto sql-a u klijent konzoli koristis javascript, prilicno je prosto.. ako ces iz php-a da pristupas, mi smo koristili mongo extenziju sa PECL-a, lako se instalira i metode su skoro identicne kao one u mongo js konzoli, pa je prosto...
ako hoces mogu da obesim primere kako se cita i pise iz php-a?
__________________
Leadership is the art of getting people to want to do what you know must be done. Poslednja izmena od ivanhoe : 17. 12. 2011. u 00:22. |
17. 12. 2011. | #16 |
Wait, What?
Qualified
Datum učlanjenja: 21.03.2010
Poruke: 148
Hvala: 8
188 "Hvala" u 14 poruka
|
video sam i ja to, ima na njihovom sajtu lepa dokumentacija , ako se neko nadje u slicnoj situaciji kao ja evo par linkova da ne trazi previse
"Konvertovanje" SQL-a u noSql http://www.mongodb.org/display/DOCS/...+Mapping+Chart PHP instalacija (upotreba PHPa i Monga ima na php manual sajtu) http://www.mongodb.org/display/DOCS/PHP+Language+Center Alternative phpmyadmina za mongo naravno http://www.mongodb.org/display/DOCS/Admin+UIs CI za Mongo http://codeigniter.com/forums/viewthread/162420/#885550 Ja sam mislio jel ima par brzih trikova za optimizaciju i na sta treba obratiti paznju i sl ...
__________________
Svakog dana uvlacim linije pa misle da se drogiram. |
17. 12. 2011. | #17 |
Ivan Dilber
Sir Write-a-Lot
|
nisam se udubljivao u optimizaciju, nije mi trebalo, sve mi je radilo super sa fabrickim podesavanjima za moje potrebe.
Jedna fora koja dobro dodje ako radis sa brojacima (a koliko sam razumeo radis), je sto u mongu mozes jednom komandom da insertuje record i updejtujes brojac (nesto kao INSERT .. ON DUPLICATE KEY UPDATE u mysql-u, stim sto se ovde gleda ceo record, ne samo index): PHP kôd:
__________________
Leadership is the art of getting people to want to do what you know must be done. |
17. 12. 2011. | #18 |
član
Certified
Datum učlanjenja: 03.10.2006
Poruke: 96
Hvala: 27
44 "Hvala" u 26 poruka
|
Mongo je po mom iskustvu idealan za bas takav use-case koji si napomenuo jer su write-ovi bolesno brzi, a i selectovanje ako pravilno izaberes indekse tako da ti mozda i ne treba cron.
Ono sto je meni kad sam prvi put koristio "NoSQL" bilo najneprirodnije je sto je filozofija iza njih - best effort - dakle ti mu bacis gomilu podataka a on ce se sa time snaci, ili mozda nece, nemas pojma, a ako te zanima bas jako pogledaj logove. Nema exception, integrity, bla bla Tako da ako ces ga koristit "in production" na zivom sajtu - dobro osmisli monitoring. Ovo je takozvani kultni "upsert" |
21. 12. 2011. | #19 |
Wait, What?
Qualified
Datum učlanjenja: 21.03.2010
Poruke: 148
Hvala: 8
188 "Hvala" u 14 poruka
|
ova mongodb biblioteka za CI nema upsert opciju(mozda je posle dodam) pa sam mislio prvo select pa ako ima taj ip onda update a ako nema onda insert...e sad me brine jel bi taj jedan vise SELECT mogao da stvori problema/opterecenje?
__________________
Svakog dana uvlacim linije pa misle da se drogiram. |
21. 12. 2011. | #20 |
Ivan Dilber
Sir Write-a-Lot
|
nije problem toliko u opterecenju, nego sto mongo koliko ja znam nema locking, tako da postoji mala, ali potencijano nezgodna situacija da ti to pukne: uradis select, drugi zahtev upise isti taj record, ti probas da ga insertujes, to ne uspe i nisi zabelezio taj record. Zato je upsert jako kul, jer on radi atomski.
ja bih ti savetovao da jednostavno ubacis svoju podrsku za upsert direktno i da radis sa njim... pogotovo ako su perorfmanse bitne uvek treba smanjiti broj wrappera...
__________________
Leadership is the art of getting people to want to do what you know must be done. |
|
|