Fórum Root.cz
Hlavní témata => Vývoj => Téma založeno: vir 02. 06. 2017, 16:13:24
-
Ahoj, s kamaratom ideme vyvijat appku, ktora bude umoznovat video stream, popripade video hovory, realtime chat, a podobne. Uvazujeme nad NoSQL databazou, viete nejaku doporucit ktora by sa hodila na takyto projekt, a povedat preco? Dik
-
Takze vlastne ani nevis, co budes vyvijet.
Co si predstavujes, ze budes do te databaze ukladat?
-
Takze vlastne ani nevis, co budes vyvijet.
Co si predstavujes, ze budes do te databaze ukladat?
No informacie o uzivateloch, spravy uzivatelov, nejake uzivatelske data a podobne. V podstate cital som niekde na blogu, ze na podobny typ aplikacii sa hodi NoSQL, tak som sa chcel poradit este tuna.
-
Takze vlastne ani nevis, co budes vyvijet.
Co si predstavujes, ze budes do te databaze ukladat?
No informacie o uzivateloch, spravy uzivatelov, nejake uzivatelske data a podobne. V podstate cital som niekde na blogu, ze na podobny typ aplikacii sa hodi NoSQL, tak som sa chcel poradit este tuna.
Moja skúsenosť je, že NoSQL (Mongo) oproti SQL (Postgres) je pri výbere položky podľa jej ID asi o 50% rýchlejšia. Bohužiaľ, vo veľa prípadoch nepotrebuješ (nevieš) položky vyberať podľa ID, ale podľa iných kritérií. A tam potom dostane NoSQL na frak.
Ale kým nemáš 10-tisíc návštev denne, tak Ti môže byť celkom jedno či použiješ jedno alebo druhé.
-
Ahoj, s kamaratom ideme vyvijat appku, ktora bude umoznovat video stream, popripade video hovory, realtime chat, a podobne. Uvazujeme nad NoSQL databazou, viete nejaku doporucit ktora by sa hodila na takyto projekt, a povedat preco? Dik
Tak podivej to zalezi na tom kolik kilogramu dat v te lednici budete mít - jestli nebude lepsi to jako vic naporcovat - taky de vo to co to je za maso a jestli je to jako mrazeny nebo co - tyvoe nechcete raci delat do vcel? Jestli mi jako rozumis..
-
Kedze idete vymyslat nieco, co uz vymyslene je, staci sa pozriet ako to vymysleli ini: WhatsApp.
- WhatsApp - HW/SW stack prezentacia (http://'https://www.youtube.com/watch?v=c12cYAUTXXs') (t.j. FreeBSD a Erlang)
- NoSQL databaza Mnesia (http://'https://en.wikipedia.org/wiki/Mnesia') v Erlangu
- Clanok s cislami a architekturou (http://'http://highscalability.com/blog/2014/3/31/how-whatsapp-grew-to-nearly-500-million-users-11000-cores-an.html')
-
Takze vlastne ani nevis, co budes vyvijet.
Co si predstavujes, ze budes do te databaze ukladat?
No informacie o uzivateloch, spravy uzivatelov, nejake uzivatelske data a podobne. V podstate cital som niekde na blogu, ze na podobny typ aplikacii sa hodi NoSQL, tak som sa chcel poradit este tuna.
A chcete si tohle resit sami? Neni identity managment uz mnohokrat reseny - at uz jako knihovna nebo jako sluzba?
-
Kedze idete vymyslat nieco, co uz vymyslene je, staci sa pozriet ako to vymysleli ini: WhatsApp.
- WhatsApp - HW/SW stack prezentacia (http://'https://www.youtube.com/watch?v=c12cYAUTXXs') (t.j. FreeBSD a Erlang)
- NoSQL databaza Mnesia (http://'https://en.wikipedia.org/wiki/Mnesia') v Erlangu
- Clanok s cislami a architekturou (http://'http://highscalability.com/blog/2014/3/31/how-whatsapp-grew-to-nearly-500-million-users-11000-cores-an.html')
Zeby som sa napodruhe naucil ten href synax?
- WhatsApp - HW/SW stack prezentacia (https://www.youtube.com/watch?v=c12cYAUTXXs) (t.j. FreeBSD a Erlang)
- NoSQL databaza Mnesia (https://en.wikipedia.org/wiki/Mnesia) v Erlangu
- Clanok s cislami a architekturou (http://highscalability.com/blog/2014/3/31/how-whatsapp-grew-to-nearly-500-million-users-11000-cores-an.html)
-
Nechcete radši udělat něco jako Facebook, ale lepší?
-
Nechcete radši udělat něco jako Facebook, ale lepší?
Jak lepší, to jako bez lidí? ;-)
-
Takze vlastne ani nevis, co budes vyvijet.
Co si predstavujes, ze budes do te databaze ukladat?
No informacie o uzivateloch, spravy uzivatelov, nejake uzivatelske data a podobne. V podstate cital som niekde na blogu, ze na podobny typ aplikacii sa hodi NoSQL, tak som sa chcel poradit este tuna.
Moja skúsenosť je, že NoSQL (Mongo) oproti SQL (Postgres) je pri výbere položky podľa jej ID asi o 50% rýchlejšia. Bohužiaľ, vo veľa prípadoch nepotrebuješ (nevieš) položky vyberať podľa ID, ale podľa iných kritérií. A tam potom dostane NoSQL na frak.
Ale kým nemáš 10-tisíc návštev denne, tak Ti môže byť celkom jedno či použiješ jedno alebo druhé.
10k navstev denne ma byt naka zatez? Ja sem loni spustil jeden mensi projekt (jednoducha webova appka, ukladam jen par uzivatelskych dat), za ten rok mam 5 000 000 (slovy pet mega) uzivatelu, v peaku sem tam vidal pres 5000 (slovy pet tisic) concurrentnich uzivatelu. Cely to bezi na AWS, konkretne databaze MySQL (Amazon RDS) bezi na ty nejmensi instanci, ktera je dostupna ve free tier. Samotna webova apka bezi v peaku na max trech EC2 medium instancich (priznavam, ze to neni uplne nejlip naprogramovany a asi by se to dalo nejak optimalizovat), mimo peak to spokojene bezi na ty nejmensi instanci (micro?), ktera je zase dostupna ve free tieru. Takze nevymyslej blbosti, na databazi vubec nezalezi (aspon pro zacatek dokud nenasbiras nekolik mega, nejlip desitek mega uzivatelu). Databazi vyber bud podle toho co umis nebo co se chces naucit, kazdopadne ve finale to je vicemene sumak.
-
Samotna webova apka bezi v peaku na max trech EC2 medium instancich (priznavam, ze to neni uplne nejlip naprogramovany a asi by se to dalo nejak optimalizovat), mimo peak to spokojene bezi na ty nejmensi instanci (micro?), ktera je zase dostupna ve free tieru.
Pro zajimavost: jakej to je backend?
-
Takze vlastne ani nevis, co budes vyvijet.
Co si predstavujes, ze budes do te databaze ukladat?
No informacie o uzivateloch, spravy uzivatelov, nejake uzivatelske data a podobne. V podstate cital som niekde na blogu, ze na podobny typ aplikacii sa hodi NoSQL, tak som sa chcel poradit este tuna.
Moja skúsenosť je, že NoSQL (Mongo) oproti SQL (Postgres) je pri výbere položky podľa jej ID asi o 50% rýchlejšia. Bohužiaľ, vo veľa prípadoch nepotrebuješ (nevieš) položky vyberať podľa ID, ale podľa iných kritérií. A tam potom dostane NoSQL na frak.
Ale kým nemáš 10-tisíc návštev denne, tak Ti môže byť celkom jedno či použiješ jedno alebo druhé.
10k navstev denne ma byt naka zatez? Ja sem loni spustil jeden mensi projekt (jednoducha webova appka, ukladam jen par uzivatelskych dat), za ten rok mam 5 000 000 (slovy pet mega) uzivatelu, v peaku sem tam vidal pres 5000 (slovy pet tisic) concurrentnich uzivatelu. Cely to bezi na AWS, konkretne databaze MySQL (Amazon RDS) bezi na ty nejmensi instanci, ktera je dostupna ve free tier. Samotna webova apka bezi v peaku na max trech EC2 medium instancich (priznavam, ze to neni uplne nejlip naprogramovany a asi by se to dalo nejak optimalizovat), mimo peak to spokojene bezi na ty nejmensi instanci (micro?), ktera je zase dostupna ve free tieru. Takze nevymyslej blbosti, na databazi vubec nezalezi (aspon pro zacatek dokud nenasbiras nekolik mega, nejlip desitek mega uzivatelu). Databazi vyber bud podle toho co umis nebo co se chces naucit, kazdopadne ve finale to je vicemene sumak.
V prvom rade gratulujem. Zjavne vieš čo robíš, nerobíš to prvý-krát a robíš to dobre.
10k návštev denne pre niekoho, kto je pravý opak Teba (nováčik, čo sa musí pýtať na fóre) je IMHO výzva. Stačí zabudnúť niekde index a nemať žiaden profiling a požiar je na streche. Web je plný stránok, ktoré by mali lietať ako z praku, lebo tam aj tak nikto nechodí a napriek tomu idú ako slimák.
-
Samotna webova apka bezi v peaku na max trech EC2 medium instancich (priznavam, ze to neni uplne nejlip naprogramovany a asi by se to dalo nejak optimalizovat), mimo peak to spokojene bezi na ty nejmensi instanci (micro?), ktera je zase dostupna ve free tieru.
Pro zajimavost: jakej to je backend?
javamanovi ted pookreje srdicko, protoze to bezi na jave :-) jinak server je Apache TomEE (jo, pouzivam ejb) a webovy framework Apache Wicket. To je asi vsechno; ja vim, technologicky sem trochu zamrznul v minulosti, ale holt i se starym naradim se porad da neco postavit ;-)
-
javamanovi ted pookreje srdicko, protoze to bezi na jave :-) jinak server je Apache TomEE (jo, pouzivam ejb) a webovy framework Apache Wicket. To je asi vsechno; ja vim, technologicky sem trochu zamrznul v minulosti, ale holt i se starym naradim se porad da neco postavit ;-)
:) Diky
-
javamanovi ted pookreje srdicko, protoze to bezi na jave :-) jinak server je Apache TomEE (jo, pouzivam ejb) a webovy framework Apache Wicket. To je asi vsechno; ja vim, technologicky sem trochu zamrznul v minulosti, ale holt i se starym naradim se porad da neco postavit ;-)
Nejdůležitější nářadí je lopata.
-
pokud chcete mít úspěšnou aplikaci, vykašlete se na nosql, to nevede k úspoře, ale k plýtvání časem na vývoj. Pokud si ale chcete hrát a něco se naučit, vemte tu první, která vám padne pod nos a vyzkoušejte si to na ní, u začátečníků má docela úspěch Mongo nebo Couchdb či Redis, pokročilejší jsou schopni pracovat s Elasticsearch. Rozhodně se vyhněte speciálkám typu Riak, Cassandra, Hadoop nebo těm stovkám velice malých bez velké komunity.
Ona je občas výzva i ten jeden uživatel za sekundu, záleží na typu aplikace a HW. Ty velké systém s miliony požadavků za sekundu prostě jen běží na mnoha strojích, to pak není zábava, mít pod kapotou 1000 cpu a desítky TB ram si člověk ani neužije, když jako vývojáře ho k tomu už nepustí a jako architekt si s tím nemůže hrát. Všichni se ale strašně rádi chlubí na jak velkém projektu pracovali :)
-
Je neco uplne vyjimecneho to mixovat?
Tedy primarne SQL nad kterym dokazu dobre vyhledavat + nejaka forma cache ktera umi rychle vracet podle ID (napr Redis)? Pro me je to naprosto bezne diky tomu jaky produkt implementuju tak me zajima jestli to je specifikum v PHP kvuli vykonu.
-
A neuvazoval jsi zacit stavet na necem a nezacinat uplne z cisteho stolu?
Treba Liferay portal je celkem moloch, ale posledni verze 7 je postavena na OSGi, jednotlive portlety jsou OSGi bundly, takze absolutni svoboda, pristup do SQL DB pres ORM s moznosti native dotazu a vysledky stejnych SQL dotazu se cachuji.
Bezi na tom napr Muj TMobile.
-
Bezi na tom napr Muj TMobile.
Opravdu je zde na místě slovo "běží" ? Liferay je opravdu moloch a použít ho na cokoli jiného než korporátní portál je cesta špatným směrem. Jenom si ho "prázdný" nainstalujte a po spuštění uvidíte tu rychlost a co až do toho něco přidáte ......
-
Na nestrukturovane data BigTable. Ma stabilny kod a niektori individualni uzivatelia v cloude posielaju v jednom datacentre cez 50M QPS. Vynasob si to poctom datacentier a mas slusny vykon. Dost na konkurovanie svetovym lidrom.
Tvoje data su strukturovane, tam pouzi radsej skutocnu SQL databazu. NoSQL radsej ako cache alebo ulozisko session alebo hocico ine.
-
Pozri firebase tam nemusíš žiadny backend písať alebo aj môžeš a potom to prepojiš s firebase , je to podla mna na nejaký rýchly prototyp ok. Teda ak chceš realtime DB , alebo ešte realtime DB môže byt rethinkDB