Wpis użytkownika Barcol w Programowanie
BarcolGruba ryba
7piorunówCzytał ktoś "Designing Data-Intensive Applications. The Big Ideas Behind Reliable, Scalable, and Maintainable Systems" albo jest chętny na czytanie w ramach asynchronicznego reading clubu Hejtowego?
Wiecie, co 2 tygodnie wątek na tagu o danym rozdziale i w komentarzach dyskusja :v
Ogólnie książka dosyć dobra, i bardzo szeroko pokrywa tytułowe zagadnienie. OFC o ile nikt nie liczy, że jedna pozycja zrobi z niego specjalistę xD
Komentarze (7)
@Barcol , @Bujnik , @maniek110 - spędziłem całe popołudnie nad tą książka.
Zakety:
* Porusza wiele zagadnień w agnostyczny sposób
* Trzyma się wystarczająco wysokiego poziomu abstrakcji by nie zgubić czytającego
* Ma dobre przypisy pozwalające na eksplorację zagadnień w szczegółowy sposób
* Stanowi dobry zbiór pojęć, które w tej domenie warto znać
Wady:
* Świat poszedł do przodu w te kilka lat i pewne rzeczy są pominięte lub niedostatecznie wspomniane (jak Parquet)
* Mało jest o implementacji i z tych informacji w książce ciężko byłoby cokolwiek samemu zaimplementować - nie to, że ktokolwiek normalny chciałby nawet w stanie cały taki system samemu od podstaw zaprojektować i zaimplementować
W obecnym świecie architekturę takich systemów składa się z klocków:
* W chmurze z usług, które dostawca usług chmurowych dostarcza jako część swoje oferty (atchitektura i implementacja takich systemów jest umiejętnością samo w sobie na którą można zrobić sobie certyfikaty)
* On-prem/DC składa się z kilku rozwiązań typu Enterprise lub w mniejszym firmach dodatkowo elementów Open Source
Dla systemów typu ultra low latency część rzeczy faktycznie trzeba napisać samemu lub kupić wyspecjalizowaną platformę - ale większość ludzi pracujących z systemami danych nie zobaczy na oczy takich cudów bo to są rzeczy dosyć niszowe.
@Barcol - pracuję od ponad dekady przy platformach obsługujący ogromne ilości danych, czy to w chmurze, czy to działających na bare metal 🤷
Książka jest dobra do ogarnięcia tematu od teoretycznej strony - niemniej jak ktoś chce znaleźć w tym robotę to musi równolegle zadbać o praktyczne umiejętności - a te są tak naprawdę multidyscyplinarne bo nie tylko trzeba znać gotowe narzędzia ale jak chce się w tym siedzieć na poważnie to także Linuxa, sieci, protokoły, techniki cacheowania informacji, formaty plików i różne podejścia do serlializacji danych, Reliability, DevOps (SRE i DevOps to potrafi być całkiem osobna działka), infrastrukturę, hardware (zwłaszcza konfiguracje sprzętowe do low latency) itd.
Wołaj mnie do każdej dyskusji - z chęcią ponawijam makaron na uszy 😉
@koszotorobur jaki gigachad :open_mouth: ktoś wspomniał o książce - on ją zrecenzował w jedno popołudnie. Większość osób jakie znam po prostu dodaje zakładkę "na kiedyś" i zapomina :grinning:
Ogólnie zgadzam sie, tylko te minusy to dla mnie nie takie pełnoprawne minusy. W drugim wyjaśniłeś dlaczego, a co do pierwszego to książka i tak daje świetną bazę ze starszych rozwiązań, które często umożliwią lepsze lub łatwiejsze poznanie i zrozumienie kolejnych.
Co do puenty to te problemy pojawiają sie zawsze wraz ze skalowaniem aplikacji, i nie tylko system low latency może wymagać takiej wierzy. W pierwszym rozdziale jest swietny przykład z twitterem który sprytnie rozwiązał problem ciągłego fetchowania masy danych dla każdego usera który odświeża walla, takie problemy IMO mogą sie pojawić w każdej apce która nieoczekiwanie odniesie sukces.
I w końcu nie zrozumiałem czy uważasz, że książka jest warta przerobienia, i mam Cię wołać na reading club, czy nie? :grinning:
OK, zgłaszam się
Taktyczny
@Barcol - link to PDFa?