181
Vývoj / Re:Agregace velkeho mnzstvi stream dat
« kdy: 22. 09. 2021, 19:50:28 »Ale jako prvni pokus zkusim ten MapDB projekt.
nejhorsi mozna volba, kdyz uz chcete ukladat json, tak je efektivnejsi Mongo.
Tato sekce Vám umožňuje zobrazit všechny příspěvky tohoto uživatele. Prosím uvědomte si, že můžete vidět příspěvky pouze z oblastí Vám přístupných.
Ale jako prvni pokus zkusim ten MapDB projekt.
Ked uz tam mas niekde postgres tak ta asi bude zaujimat toto: https://www.timescale.com/
Robi to presne to co pozadujes. Naviac ti to poskytne efektivnejsie a bezpecnejsie ulozisko ako kafka...
To jsou nazvy sloupcu, uz chapu.
Ten seznam nazvu counteru ale neni uplny ani finalni, muze se celkem dynamicky menit. Kazdy typ metriky mue mit jiny set counteru
Ještě je možnost kouknout po nějaké off-memory hashmapě pro javu, něco jako https://github.com/jankotek/MapDB nebo podobně. Nemám s tím zkušenost, ale bylo by to něco mezi řešením v paměti a řešením pomocí externí databáze.
To je pravda, ale to neni muj boj. Na danem projektu jsem ciste v pozici precerpavace kejdy z kafky dale do sveta.
kokud to jde nejak rozlozit do sloupcu, lil bych do sloupcove databaze, treba clickhouse
ukladat to jako JSON je nesmysl, mimo jine prijdte o moznost komprese
Ja to nepotrebuju ukladat, jenom zpracovat agregaci a poslat dal do sveta
ok, mozna bezpecnejsi to ukladat (alespon par dnu zpet) a agregovat ta data offline
Ok, diky za hint, ulozene by to melo byt v kafce, co neni v kafce, to neexistuje. Melo by stacit si do sloupcove DB ulozit pouze tu jednu aktualne zpracovavanou hodinu.
treba takove sloupce, stovky miliard zaznamu by nemel byt problem na terabitovem disku, agregacni dotazy v radu par sekundTo vubec neznam, jak to funguje? Jak k sobe spojim countery co nalezi k urcite metrice?Kód: [Vybrat]datetime
metric
metadata_nodeid
metadata_cardid
metadata_portid
metadata_lvidid
counters_MP_TOTAL_TRANS_AUDIO_SESSIONS
counters_MP_PEAK_TRANS_VIDEO_SESSIONS
counters_MP_ACTIVE_TRANS_DTMF_SESSION
counters_MP_ACTIVE_AUDIO_SESSIONS
counters_MP_PEAK_SRTP_SESSIONS
counters_MP_PEAK_TRANS_AUDIO_SESSIONS
counters_MP_TOTAL_SRTP_SESSIONS
counters_MP_PEAK_TRANS_DTMF_SESSION
counters_MP_TOTAL_AUDIO_SESSIONS
counters_MP_TOTAL_VIDEO_SESSIONS
counters_MP_PEAK_AUDIO_SESSIONS
counters_MP_PEAK_VIDEO_SESSIONS
counters_MP_ACTIVE_TRANS_AUDIO_SESSIONS
counters_MP_ACTIVE_SRTP_SESSIONS
counters_MP_TOTAL_ROGUE_SESSIONS
counters_MP_ACTIVE_VIDEO_SESSIONS
counters_MP_ACTIVE_TRANS_VIDEO_SESSIONS
counters_MP_TOTAL_TRANS_VIDEO_SESSIONS
Je to rozvoj nazvu sloupce?
kokud to jde nejak rozlozit do sloupcu, lil bych do sloupcove databaze, treba clickhouse
ukladat to jako JSON je nesmysl, mimo jine prijdte o moznost komprese
Ja to nepotrebuju ukladat, jenom zpracovat agregaci a poslat dal do sveta
datetime
metric
metadata_nodeid
metadata_cardid
metadata_portid
metadata_lvidid
counters_MP_TOTAL_TRANS_AUDIO_SESSIONS
counters_MP_PEAK_TRANS_VIDEO_SESSIONS
counters_MP_ACTIVE_TRANS_DTMF_SESSION
counters_MP_ACTIVE_AUDIO_SESSIONS
counters_MP_PEAK_SRTP_SESSIONS
counters_MP_PEAK_TRANS_AUDIO_SESSIONS
counters_MP_TOTAL_SRTP_SESSIONS
counters_MP_PEAK_TRANS_DTMF_SESSION
counters_MP_TOTAL_AUDIO_SESSIONS
counters_MP_TOTAL_VIDEO_SESSIONS
counters_MP_PEAK_AUDIO_SESSIONS
counters_MP_PEAK_VIDEO_SESSIONS
counters_MP_ACTIVE_TRANS_AUDIO_SESSIONS
counters_MP_ACTIVE_SRTP_SESSIONS
counters_MP_TOTAL_ROGUE_SESSIONS
counters_MP_ACTIVE_VIDEO_SESSIONS
counters_MP_ACTIVE_TRANS_VIDEO_SESSIONS
counters_MP_TOTAL_TRANS_VIDEO_SESSIONS
Zásadní rozdíl mezi linterem a kompilerem (staticky typovaného jazyka) je v tom, že linter lze nepoužít. (Plus je tam ta historická souvislost, že linter se používá na jazyky, které nebyly navrženy se statickými typy - Python, JS například.)Ak by linter odhalil rovnaky typ chyb ako kompiler, tak by bol tak trocha zbytocny, nie?Linter odhali stejny typ chyb jako kompiler.Odvážné tvrzení. Ale budiž, nebudem se o tom přít.
Ak by linter odhalil rovnaky typ chyb ako kompiler, tak by bol tak trocha zbytocny, nie?Linter odhali stejny typ chyb jako kompiler.Odvážné tvrzení. Ale budiž, nebudem se o tom přít.
Linter odhali stejny typ chyb jako kompiler.Odvážné tvrzení. Ale budiž, nebudem se o tom přít.
Tak to prr! Na nic takového jsem neptal. Já se jen opatrně ptal, co skutečnost, že to spadne dokazuje. Ty říkáš, že na to přijdu při testu. OK, tak ten test teda musím napsat. Nebo musím spustit linter, což je takovej podivnej kříženec mezi statickými typy a automatickými testy - ok.Ale ty testy musím napsat, že? A musím je napsat správně, že?
Ale vy jste se ptal, jak pomohou testy. Na tuhle chybu prijde kazdy linter, k tomu nejsou treba testy. Ale staci i uplne trivialni test, ktery pokryje ten kod.
Každopádně mi furt nedochází, v čem by to testování mělo být výhodnější, nebo co jako. (Bez ohledu na to, že už tu jedno vlákno na toto téma bylo, kde to bylo do mrti rozebráno. Ale někdo si chce tu slepou uličku asi prolézt znova. No, buduž mu přáno.)