Temat Pracy Licencjackiej - Bazy Danych

0

Witam , kieruję się z prośbą o doradzenie tematu pracy licencjackiej gdyż mam takiego promotorka który nie zajmuje się daną specjalizacją ale jest przychylny na wszelkie tematy ( ogólnie ma być to aplikacja) , chciałbym wykorzystać bazę danych ( SQL,PL/SQL) do jakiejś aplikacji , myślałem nad bardziej skomplikowaną stroną internetową ( z wykorzystaniem bazy danych ) żeby było trudniej...

0
jelon512 napisał(a):

myślałem nad bardziej skomplikowaną stroną internetową ( z wykorzystaniem bazy danych ) żeby było trudniej...

Wybacz, ale "strona wykorzystująca bazę danych" to nie jest żaden skomplikowany temat. Mamy rok 2019, niemal każda, nawet najbardziej prymitywna "strona internetowa", którą odwiedzasz, ma za sobą jakąś bazę.

0
superdurszlak napisał(a):
jelon512 napisał(a):

myślałem nad bardziej skomplikowaną stroną internetową ( z wykorzystaniem bazy danych ) żeby było trudniej...

Wybacz, ale "strona wykorzystująca bazę danych" to nie jest żaden skomplikowany temat. Mamy rok 2019, niemal każda, nawet najbardziej prymitywna "strona internetowa", którą odwiedzasz, ma za sobą jakąś bazę.

no właśnie o to chodzi ze strona jest teraz w tych czasach za prosta :( i brak pomysłów

2

Nie wiem, jak zależy Ci na temacie związanym konkretnie z bazami, to może pomyśl co konkretnie chciałbyś z nimi zrobić (a nie tylko zapis/odczyt).

Może weź na tapetę np. optymalizacje? Nieraz można odnieść wrażenie że "ciepnę tu i tam indeksy i do przodu" to już wielce optymalizacja, ale jak wejdziesz głębiej w temat to może się okazać że

  • akurat ten typ indeksu w tym zastosowaniu niewiele daje (albo daje, ale chcesz więcej)
  • może taka i taka struktura danych w bazie spowalnia zapytania np. dlatego że wymusza duuużo joinów
  • może same zapytania są złe
  • może ten a ten silnik zwyczajnie dostaje zadyszki w danym scenariuszu, a inny by się lepiej nadał
  • może problem jest bardziej złożony i składa się na niego więcej czynników
1

Albo (poszerzając/uzupełniając poprzedni post Sitkowego) - może pójdź w kierunku porównania kilku najpopularniejszych silników, zmierz ich wydajność w poszczególnych typowych zastosowaniach. Wtedy miałbyć takie combo: że do np. raportów księgowych bardziej się nadaje X, ale do operacji na stringach/FTS silnik Y. Plus wspomniane wcześniej optymalizacje/benchmarki.

0

Możesz zrobić stronę, ale np. do tego dodatkowo podejść do tematu właśnie opytmalizacji lub normalizacji bazy danych. Przy tworzeniu strony nietrudno o pożal się boże bazę, więc wystarczy wymyślić najgorszą jaka przychodzi do głowy i polecieć przez postacie normalne, odpowiednio indeksując i ew. parametryzując sam serwer.

0
cerrato napisał(a):

Albo (poszerzając/uzupełniając poprzedni post Sitkowego) - może pójdź w kierunku porównania kilku najpopularniejszych silników, zmierz ich wydajność w poszczególnych typowych zastosowaniach. Wtedy miałbyć takie combo: że do np. raportów księgowych bardziej się nadaje X, ale do operacji na stringach/FTS silnik Y. Plus wspomniane wcześniej optymalizacje/benchmarki.

Bardzo fajny pomysł tylko ze to ma nie być badanie i projekt , tylko aplikacja (promotor tego wymaga) osobiście bym wolał projekt/badanie :(

2
jelon512 napisał(a):

Bardzo fajny pomysł tylko ze to ma nie być badanie i projekt , tylko aplikacja (promotor tego wymaga) osobiście bym wolał projekt/badanie :(

Na to jest bardzo prosty sposób.

  • zmiana promotora
  • aplikacja która sama w sobie nie jest przesadnie rozbudowana, ale musi np. spełniać dość wyśrubowane wymogi - i siłą rzeczy nie będzie wyjścia, trzeba będzie walnąć część badawczą żeby je spełnić
0
superdurszlak napisał(a):
jelon512 napisał(a):

Bardzo fajny pomysł tylko ze to ma nie być badanie i projekt , tylko aplikacja (promotor tego wymaga) osobiście bym wolał projekt/badanie :(

Na to jest bardzo prosty sposób.

  • zmiana promotora
  • aplikacja która sama w sobie nie jest przesadnie rozbudowana, ale musi np. spełniać dość wyśrubowane wymogi - i siłą rzeczy nie będzie wyjścia, trzeba będzie walnąć część badawczą żeby je spełnić

Na szczęście dogadałem się z promotorem i ustaliłem taki temat : "Optymalizacja wydajności relacyjnych baz danych"
upatrzyłem sobie tak jak wyżej pisaliście ze wybiorę sobie dwa silniki i będę porównywał ich czas pracy ( który do czego bardziej się nadaje)
czyli to będzie działanie na projekcie przy pomocy zlozonch oraz skomplikowanych zapytań/ funkcji i tym podobnych w celu sprawdzenia wydajności danego silnika
a teraz pytanie tylko jaki projekt stworzyć który byłby bardzo sensowny ( projekt typu sklep czy szkoła mysle ze to za proste jest ) myslalem o stworzenie bazy danych dla banku gdzie bede przechowywał informacje o klientach / dodawał klientów do testów / automatyczne generowanie klienta wraz z nr PESEL itd itp ) taki mam pomysł czy sugerujesz coś innego do sprawdzania wydajności ???

wybrałem Oracle Sql Developer i PostgreSQL

3

wybrałem Oracle Sql Developer i PostgreSQL

Słabo, bo Oracle nie pozwala na publikację benchmarków bez zgody Oracle (https://www.oracle.com/downloads/licenses/standard-license.html "disclose results of any Program benchmark tests without Oracle’s prior consent"). Jak już to zainteresuj się potencjalnymi usprawnieniami w Postgresie, a te są możliwe:

0
hauleth napisał(a):

wybrałem Oracle Sql Developer i PostgreSQL

Słabo, bo Oracle nie pozwala na publikację benchmarków bez zgody Oracle (https://www.oracle.com/downloads/licenses/standard-license.html "disclose results of any Program benchmark tests without Oracle’s prior consent"). Jak już to zainteresuj się potencjalnymi usprawnieniami w Postgresie, a te są możliwe:

czyli zamiast oracle co polecasz ?? MySQL i Postgres czy coś innnego

0
jelon512 napisał(a):

czyli zamiast oracle co polecasz ?? MySQL i Postgres czy coś innnego

W zasadzie to najlepiej by było, gdybyś dokonał jakiegoś przeglądu, poczytał trochę o różnych silnikach, po czym stwierdził

Mam do wyboru silniki A, B, C i D które są mainstreamowe, ale twórcy C zabraniają publikowania benchmarków bez ich zgody. Mam też silniki E, F ... K które są mniej popularne, ale E, G i J wyglądają obiecująco więc może im się przyjrzę

I tak też zrobił. I się im przyjrzał, porównał, bo może wyjdzie na to że mainstreamowe wypadają podobnie, E i G są lipne i nie bez powodu są niszowe, a J w niektórych wypadkach radzi sobie lepiej niż mainstream. Ale to powinno wyniknąć z Twojej pracy.

2

MySQL i Postgres czy coś innnego

MySQL to wspólny interface dla wielu silników (InnoDB, MyISAM to chyba najpopularniejsze). PostgreSQL to obecnie IMHO najbardziej rozbudowana FLOSS SQL DB na rynku z ogromną ilością rozszerzeń. Dodatkowo podałem Ci linki do informacji, że jest jeszcze trochę potencjalnych optymalizacji do zrobienia. Więc możesz np. mieć temat "optymalizacja niemożliwych warunków w zapytaniach PostgreSQL" i dodatkowo przysłużyć się społeczności. Jako, że jesteś studentem, to możesz dodatkowo spróbować zrobić to w ramach GSoC, bo Postgres od dawna bierze w tym udział.

Więc będziesz miał:

  • ciekawy i niebanalny tytuł pracy
  • przysłuży się on społeczności zamiast bycia kolejnym nudnym papierkiem w bibliotece uczelni
  • będziesz miał mentoring spoza uczelni i nałapiesz doświadczenia w ciekawym projekcie
0

PostgreSQL to obecnie IMHO najbardziej rozbudowana FLOSS SQL DB na rynku z ogromną ilością rozszerzeń

Też osobiście jestem fanem/entuzjastą/miłośnikiem Postgresa, dlatego zdziwiłem się, gdy niedawno kumpel opowiadał, że SQL od M$ jest lepszy. I że sam był świadkiem, jak Postgres prawie położył na łopatki 2 projekty, w których pojawiła się konieczność stosowania klastrów. Podobno wszystko się rozjeżdżało i ogólnie były poważne problemy. Szczegółów nie znam, ale mocno mnie ta informacja zdziwiła...

1
cerrato napisał(a):

SQL od M$ jest lepszy.

Gdyby tylko używał standardów. Ogólnie MS SQL słabo mi się widzi, bo ma bardzo dużo swoich własnych wynalazków przez co praktycznie trzeba się uczyć go od 0 jeśli przechodzi się z jakiejkolwiek innej DB. MySQL, Oracle, Postgres zgadzają się w zdecydowanie większej ilości miejsc.

I że sam był świadkiem, jak Postgres prawie położył na łopatki 2 projekty, w których pojawiła się konieczność stosowania klastrów. Podobno wszystko się rozjeżdżało i ogólnie były poważne problemy. Szczegółów nie znam, ale mocno mnie ta informacja zdziwiła...

Jeśli się zabrał za to ktoś bez doświadczenia z Postgresem to jestem w stanie w to uwierzyć. Klastrowany Postgres nie jest najprostszą rzeczą do zrobienia, ale się da i pojawia się coraz więcej narzędzi by to zrobić jak najłatwiej (np. CitusDB).

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