Damian Kamiński Sprawdź mnie :P
Temat: Zadanie/wyzwanie dla speców od wysokiego poziomu...
W grupie UML bo interesuje mnie zdanie speców od modelowania, a nie ortodoxów od konkretnych technologii i podejść :) A chciałbym zweryfikować swoje subiektywne zdanie co do architektury takiego systemu z waszymi, nieskażonymi moimi uprzedzeniami, umysłami :)Założenia :
- pełna swoboda, dowolne technologie
- nieograniczony czas i budżet
Cel :
- realizacja systemu smart meteringowego ( takie modne w polskiej energetyce)
- system gromadzi dane z różnych źródeł różnymi kanałami (np. informacje o zużyciu prądu, ale cześć spływa sms’ami z dziwnych urządzeń A, a część spływa jednym z wielu innych protokołów z urządzenia B) – chodzi o to ze jest to TA SAMA klasa informacji, ale w systemie pojawia się pod wieloma postaciami które wypada standaryzować choćby dlatego ze 1 + 1 może wynosić 1,001 jeśli jedno urządzenie rozmawia watami a drugie kilo watami
- dodatkowo klienta rozliczamy np. ze zużycia łącznego, a ma 3 przyłącza i na każdym z nich innego rodzaju urządzenia
- system podejmuje decyzje w oparciu o zgromadzone dane (np. steruje siecią)
- system przetwarza te dane i na ich podstawie generuje rozliczenia dla klientów i inne „BI like” raporty
- system online udostępnia dane wieloma „kanałami”, klientowi poprzez sms czy www, innym systemom w dowolny sposób, za granice w formacie np. EDI
- całość dopełnia SCADA która na bieżąco wizualizuje stan sieci (widać np. linie przesyłowe i obecne obciążenie, które jest wyliczane wg dziwnych wzorów w locie, na podstawie odczytów w wielu punktach równocześnie)
- system będzie ewoluował w czasie, integrował się z innymi systemami, zmieniał filozofie obliczeń (bo np. gaz za jakiś czas będzie rozliczany w energii a nie w m3 jak obecnie)
- wolumen danych … 10 mln punktów pomiaru, odczyty co 5 minut z możliwością przeskalowania do 1 minuty … innymi słowy 120 mln rekordów na godzinę , a system musi praktycznie z miejsca odpowiedzieć jaki był pobór prądu do południa w mazowieckim (duuużo obliczeń)
Pytanie / zadanie :
- Jak to ugryźć ? Jakie podejście ? jaka filozofia ? jedna baza ? wiele baz ? jeden system i moduły ? wiele wsp. systemów ? client-serwer ? 3 warstwy ? itd. Itd.
Chętnie posłucham waszych przemyśleń jakie by nie były :)
Damian Kamiński Sprawdź mnie :P
Temat: Zadanie/wyzwanie dla speców od wysokiego poziomu...
W ramach uzupełnienia :)Chodzi mi np o to czy ktoś wpadnie na pomysł , by ładnie po nowoczesnemu, na jednej z maszyn przeznaczonej do komunikacji, wydzwaniającej się modemami czy łącząca się po tcp/ip do konkretnych urządzeń, postawić "agenta" który po odczytaniu danych będzie je ładnie pakował w obiekciki z np. 4 polami (data, strefa, moc, coś tam) a następnie przepychał je JMS'em do innego serwera.
Zakładając ze w godzinę taka maszynka ma przepchać 20 mln rekordów pomiarowych, daje to 5555 obiektów na sekundę gdzie w praktyce wykręcić 2500 prostych komunikatów na sekundę to już jest wyczyn.
Pawel
Dolega
SoftQ sp. z o.o. -
przedsiębiorca /
software engineer
Temat: Zadanie/wyzwanie dla speców od wysokiego poziomu...
Pierwsza mysl: jezeli mozesz sobie pozwolic na utrate granularnosci danych (a zakladam, ze pewnie i tak nie masz wyjscia przy takiej ilosci danych musisz w koncu agregowac i elementarne informacje odrzucac) to moze mozesz ugryzc temat poprzez preprocessing danych - kilka serwerow (pewnie raczej VMek bo latwiej to bedzie skalowac), ktore robia normalizacje jednostek i agregacje danych i przesylaja do glownego serwera zagregowana informacje (np. obszarami czy na jakas mniej granularna jednostke czasu ?).Pawel Dolega edytował(a) ten post dnia 10.09.11 o godzinie 02:22
Mateusz
Kurleto
Analizuję biznesowo
i zarządzam
projektami.
Wdrażasz syst...
Temat: Zadanie/wyzwanie dla speców od wysokiego poziomu...
Ja nie rozumiem ten nowomody planowania technologii przed analizą wymagań. Technologia rzecz wtórna - szczególnie że w poszczególnych warstwach to samo można zrobić na różnych stackach np aplikację web:JEE/.NET/RoR/python/...
jeśli chcesz zrobić ten system sensownie zacznij od formalnej analizy wymagań (BPMN+UML+mierzalne wymagania pozafunkcjonalne)
Jakub
Wojt
Projektant systemów
IT, Team Leader,
Programista .NET C#
Temat: Zadanie/wyzwanie dla speców od wysokiego poziomu...
W ramach uzupełnienia :)
Chodzi mi np o to czy ktoś wpadnie na pomysł , by ładnie po nowoczesnemu, na jednej z maszyn przeznaczonej do komunikacji, wydzwaniającej się modemami czy łącząca się po tcp/ip do konkretnych urządzeń, postawić "agenta" który po odczytaniu danych będzie je ładnie pakował w obiekciki z np. 4 polami (data, strefa, moc, coś tam) a następnie przepychał je JMS'em do innego serwera.
Zakładając ze w godzinę taka maszynka ma przepchać 20 mln rekordów pomiarowych, daje to 5555 obiektów na sekundę gdzie w praktyce wykręcić 2500 prostych komunikatów na sekundę to już jest wyczyn.
Mam dwa pomysły:
1. Outsourcingować do IBM. ;)
2. Paraleizacja tzn:
- X maszyn 'z agentem' (konwersja danych, przesyłanie do DB i SCADA)
- Y maszyn z bazami danych ( każda baza zawiera tylko część informacji systemu )
- V maszyn udostępniających, poprzez np. webservice, dane innym systemom (raporty, sterowanie, itd...)
.. żeby coś na poważnie zaprojektować to trzeba jednak trochę głębiej zbadać problem.Jakub Wojt edytował(a) ten post dnia 10.09.11 o godzinie 15:42
Damian Kamiński Sprawdź mnie :P
Temat: Zadanie/wyzwanie dla speców od wysokiego poziomu...
Mateusz Kurleto:
Ja nie rozumiem ten nowomody planowania technologii przed analizą wymagań. Technologia rzecz wtórna - szczególnie że w poszczególnych warstwach to samo można zrobić na różnych stackach np aplikację web:
JEE/.NET/RoR/python/...
jeśli chcesz zrobić ten system sensownie zacznij od formalnej analizy wymagań (BPMN+UML+mierzalne wymagania pozafunkcjonalne)
Zgadzam się. Moda głupia, wynikająca z pisania SIWZ'ow pod konkretne firmy, co nie zmienia postaci rzeczy że, jak weźmiesz pierwszy lepszy SIWZ, to masz wszystko podyktowane i możesz się albo dostosować, albo nie startować :)
Poza tym wybór technologii wynika czasami z dostępnych zasobów, bo np programiści C# są zasypani, a javowcy jeszcze wystają trochę ponad piasek, wiec, wtedy twój zarząd już wie że robicie to w javie.
Staram się spekulować o praktyce i realiach :) A nie o tym jak powinno być :)
Mateusz
Kurleto
Analizuję biznesowo
i zarządzam
projektami.
Wdrażasz syst...
Temat: Zadanie/wyzwanie dla speców od wysokiego poziomu...
Damian Kamiński:Ja próbuję edukować rynek. Nie uśmiecha mi się robienie takiego samego g... jak tzw. "liderzy":P
Staram się spekulować o praktyce i realiach :) A nie o tym jak powinno być :)
A ten projekt to teoria czy masz jakiś kontrakt na oku?:)
Jarek
Żeliński
Analityk biznesowy,
systemowy,
projektant aplikacji
(i fo...
Temat: Zadanie/wyzwanie dla speców od wysokiego poziomu...
Zgadzam się. Moda głupia,
więc nie stosujemy jej...
Jarek
Żeliński
Analityk biznesowy,
systemowy,
projektant aplikacji
(i fo...
