(jest „zorientowany na węzły”, jeśli to w ogóle istnieje)
Zacznij tutaj. Podczas pracy ze złożoną aplikacją, taką jak baza danych (nawet prosta baza danych jest złożoną aplikacją), powinieneś zapoznać się z historią domeny i właściwą terminologią oraz mieć przynajmniej bardzo wysoki poziom wiedzy o architekturze. Możesz zacząć od artykułu w Wikipedii na temat bazy danych . Spędziłem kilka dni czytając wszystkie artykuły na temat powiązanych pojęć i różnych typów baz danych.
A ponieważ to, co mam na myśli, nie jest ani relacyjne ani zorientowane na dokumenty
Następnie wybierz Relacyjny lub NoSQl. Jeśli wybierzesz NoSQL, powinieneś wybrać jeden typ NoSQL. To niezwykle ważne, nie znajdziesz żadnych dokumentów architektonicznych omawiających wszystkie różne rodziny baz danych. Tak naprawdę nie ma znaczenia, który wybierzesz, po prostu wybierz jeden i trzymaj się go.
Język nie ma najmniejszego znaczenia.
Tak, robi to (niestety), ponieważ po wybraniu rodziny baz danych powinieneś zacząć eksplorować kod z baz danych open source tej rodziny. Istnieje kilka ogólnych wskazówek na temat tego, czego szukać:
- Stosunkowo niewielka baza kodu,
- Dokumenty architektoniczne lub przynajmniej blog programistyczny,
- Wybrana baza danych powinna być zbliżona do tego, co w rodzinie jest uważane za ogólne, trudniej byłoby się nauczyć, jeśli jest wysoce wyspecjalizowane.
Kilka pasujących przykładów:
Zdobądź źródło, skompiluj je i baw się nim. Nie musisz przesyłać poprawek ani czegokolwiek innego, po prostu zapoznaj się z kodem i wprowadzaj niewielkie zmiany tu i tam, aby zobaczyć, co się stanie. Jest to proces przyrostowy, im więcej się nim bawisz, tym łatwiej będzie zrozumieć, co robi kod. Jeśli pierwszy wybrany projekt wydaje się niezwykle trudny do zrozumienia, przejdź do następnego.
Inną świetną opcją byłoby skoncentrowanie się na budowie silnika dla MySQL, jak sugeruje @NB we wcześniejszej odpowiedzi .
Jeśli osiągniesz punkt, w którym możesz zrobić coś pożytecznego z bazą kodu, zaangażuj się w społeczność projektu, to najłatwiejszy sposób na znalezienie bardziej szczegółowych zasobów na temat pojęć.
A potem wreszcie zacznij pracować nad bazą danych. Na początku możesz po prostu napisać bardzo pomniejszonego klona kodu, który eksplorujesz. To nie musi być oryginalne, całkiem sporo świetnych projektów powstało jako klony lub widelce.
Jakie zasoby / tutoriale / książki mogę przeczytać, aby zrozumieć?
Jest całkiem sporo książek:
I kilkaset innych, a także mnóstwo prac naukowych, które można łatwo prześledzić za pośrednictwem Google. Najpierw musisz zdefiniować, co chcesz zrobić, a następnie wyszukać książkę. Zaangażowanie się w społeczność innych autorów baz danych pomoże również zawęzić listę książek i być może uzyskać znacznie lepsze sugestie niż powyższe.
Powodzenia! Po zakończeniu oczekuję komentarza z linkiem do Twojego repozytorium. A jeśli nigdy nie skończyłeś, upewnij się, że zostawiłeś komentarz przypominający mi, że wciąż nie skończyłem kompilatora, który zacząłem pisać w 2001 roku.