Pracal licencjacka - temat: bazy danych/python

0

Cześć, zaczynam ostatni rok licencjatu z informatyki, więc muszę znaleźć temat dla mojej pracy licencjackiej.
Temat seminariów to bazy danych, z tym też ma wiązać się moja praca.
Myślałem o czymś w stylu porównania baz relacyjnych i nierelacyjnych, ale promotor powiedział że to strasznie oklepane.
Chciałbym więc zrobić coś swojego, swoją bazę i ew. swoją aplikację. Będzie to wymagało na pewno jakiegoś dodatkowego programowania, najbardziej odpowiadałby mi python, którego uczyłem się sam i znam go lepiej od innych języków, lub C#, którego miałem na uniwersytecie (miałem też delphi, ale z tym raczej nie chcę pracować xD).

Ma ktoś z was jakiś ciekawy pomysł co mogę zrobić?

0
michal999 napisał(a):

Myślałem o czymś w stylu porównania baz relacyjnych i nierelacyjnych, ale promotor powiedział że to strasznie oklepane.

Bo jest, takie proste porównania "A bo w MySQL jest tak a w MongoDB zupełnie inaczej" są obrobione na wszystkie strony, znajdziesz tysiąc technicznych blogów i blogasów które 3-minutowymi wpisami wałkują to w kółko i w kółko. Jak już porównywać coś w bazach danych, to coś nieoczywistego i nietrywialnego, co nie jest w ogóle analizowane w takich sztampowych i oklepanych porównaniach, ale wtedy temat i cel pracy powinien jasno na to wskazywać.

Chciałbym więc zrobić coś swojego, swoją bazę i ew. swoją aplikację. Będzie to wymagało na pewno jakiegoś dodatkowego programowania, najbardziej odpowiadałby mi python, którego uczyłem się sam i znam go lepiej od innych języków, lub C#, którego miałem na uniwersytecie (miałem też delphi, ale z tym raczej nie chcę pracować xD).

Za ile lat chciałbyś obronić ten licencjat? Tworzenie od zera własnego DBMS nie mając doświadczenia w tworzeniu DBMS brzmi jak robota na lata, jeśli nie ma być to MVP ledwo kwalifikujący się do nazwania bazą danych i który będzie wypadał tragicznie na tle wszystkiego. Tym bardziej w Pythonie - w czymś takim jak bazy danych wydajność jednak ma znaczenie, a niestety nie jest mocną stroną Pythona.

Ma ktoś z was jakiś ciekawy pomysł co mogę zrobić?

Jakbyś dla przykładu zamiast wałkować relacyjne vs nierelacyjne porównał kilka DBMS implemetujących replikację single-leader, leaderless, multi-leader, rozwiązujących problem konsensusu różnymi protokołami, posprawdzał w jaki sposób będą sobie radzić np. z ubijaniem replik, z ubijaniem lidera (o ile istnieje), jak te sytuacje wpłyną na działanie DBMS (np. jak się zmienią percentyle odpowiedzi, gdy ubijesz węzły bazie pod obciążeniem), czy i jak często dane się rozjadą z oczekiwanymi itd. to takie porównanie mogłoby już nie być aż tak oklepane.

0

Praca licencjacka nie różni się zbytnio od pracy inżynierskiej ( https://pl.wikipedia.org/wiki/Praca_dyplomowa#Prace_dyplomowe_licencjackie,_in%C5%BCynierskie_i_magisterskie ).

Polega na zastosowaniu metod zawodowych do osiągnięcia celu pracy.

Powinieneś móc po prostu naklepać jakiś serwis internetowy, a nie ulegać ambicji promotora...

0
superdurszlak napisał(a):

Za ile lat chciałbyś obronić ten licencjat? Tworzenie od zera własnego DBMS nie mając doświadczenia w tworzeniu DBMS brzmi jak robota na lata, jeśli nie ma być to MVP ledwo kwalifikujący się do nazwania bazą danych i który będzie wypadał tragicznie na tle wszystkiego.

Po pierwsze nikt nie oczekuje, że będzie to coś więcej od MVP, a po drugie, to nie przesadzajmy. Zrobienie podstawowej implementacji SQL-92 (mówię tu o części DQL) zajmie jakieś 2 miesiące umiarkowanie intensywnej pracy (o ile nie bumelowało się na studiach), potem można brać się za obsługę pamięci, planu wykonania zapytania, a potem bawić się wielowątkowością. I mówię to z praktyki, bo sam klepałem RDBMS na inżynierkę (i w wakacje poszło na luzie).

michal999 napisał(a):

Ma ktoś z was jakiś ciekawy pomysł co mogę zrobić?

Weź dowolny nierelacyjny format danych (na przykład YAML lub JSON), zrób koncepcję wypłaszczenia do modelu relacyjnego, a potem zaimplementuj cały silnik. Możesz iść w użyteczność (SQL2003, funkcje okienkowe itp), wydajność (optymalizowanie planu zapytań), albo po prostu implementowanie czegoś "produkcyjnego", na przykład ARIES-a.

1 użytkowników online, w tym zalogowanych: 0, gości: 1