• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

baza danych do aplikacji mobilnej

VPS Starter Arubacloud
0 głosów
285 wizyt
pytanie zadane 6 kwietnia 2021 w SQL, bazy danych przez theemperor Użytkownik (710 p.)
SIemka, mam w planach zrobienie aplikacji mobilnej, cały projekt jest jeszcze w powijakach ale już muszę myśleć o bazie danych. Baza ma zadanie przechowywać dane usera, komentarze i przede wszystkim bardzo dużą ilość zdjęć. NIe mam pojęcia jak zrobić te przechowywanie zdjęć czy użyć do tego bazy SQL czy lepiej sprawdzi się MongoDB lub Redis?

1 odpowiedź

+2 głosów
odpowiedź 6 kwietnia 2021 przez rafal.budzis Szeryf (85,260 p.)
W bazie danych przechowuj tylko nazwę zdjęcia lub link do niego! Trzymanie zdjęcia w bazie danych to najgorsze co możesz zrobić. Jaka technologia? Najlepiej taka którą znasz. Nie znasz jeszcze żadnej? To polecę bazy danych firebase. Firebase ma też osobną usługę do przechowywania plików więc miałbyś całość w jednym ekosystemie.
komentarz 6 kwietnia 2021 przez theemperor Użytkownik (710 p.)
słyszałem że da się przechowywać zdjęcia w mongo. Jeśli nie w bazie to gdzie mają one być skoro ma być link do nich?

Piszę apkę w swift na ios, czy przechowując 20 tysięcy zdjęć nie będę miał przypadkiem do zapłacenia bardzo dużego rachunku za to?
komentarz 6 kwietnia 2021 przez rafal.budzis Szeryf (85,260 p.)
Zależy jak duże będą to zdjęcia :) W firebase masz 5 GB na pliki za darmo + oraz 1 GB transferu do wykorzystania dziennie. Dropbox chyba też jest możliwy do wykorzystania. Są też płatne rozwiązania jak AWS S3. Lub zwykłe konto hostingowe.

Zdjęcia przechowywane w badzie danych są głupie bo:
 - spowalniasz zapytania
 - przechowujesz dane po których nie będziesz wyszukiwać, sortować
 - i tak każde z nich będziesz pobierał osobnym zapytaniem aby zrobić "link do zdjęcia"
komentarz 6 kwietnia 2021 przez theemperor Użytkownik (710 p.)
Ok zrobię jak mówisz, to skoro link ma być w bazie to zdjęcie gdzie ma być?

Zgaduję że połączenie z bazą zrobić w rest api i podlinkować wszystko do aplikacji mobilnej? czy rest api również mogę napisać w swift czy muszę skorzystać na przykład z node.js python itd?
komentarz 6 kwietnia 2021 przez rafal.budzis Szeryf (85,260 p.)
Jeśli poważnie myślisz o aplikacji i chcesz ją zrobić szybko to wykorzystaj firebase. Firebase udostępnia bazy danych które mają już gotowe REST API ;). Z REST API pobierasz tylko link do zdjęcia i aplikacja niech sobie te zdjęcie już pobiera osobno ;) Dzięki temu będziesz mógł zrobić też ikonę ładowania zdjęcia i nic nie bezie zamulać ;) W bazie danych warto zapisywać sobie również wymiary zdjęcia aby znać miejsce jakie trzeba będzie zarezerwować na zdjęcie :)
komentarz 6 kwietnia 2021 przez theemperor Użytkownik (710 p.)
Nie mam zamiaru zrobić jej szybko tylko dokładnie. Chcę zrobić wszystko tak jak być powinno powiedzmy że robię aplikację typu instagram i ma ja dziennie przeglądać bardzo dużo osób i ma śmigać jak szalona ponieważ zamierzam ją wystawić w przyszłości do app store
komentarz 6 kwietnia 2021 przez rafal.budzis Szeryf (85,260 p.)

Brakuje ci doświadczenia. Twoje podejście jest złe. Sam jestem autorem aplikacji więc wiem co mówię ;) https://play.google.com/store/apps/details?id=pl.scan.food.twa 

Najważniejsze jest aby szybko sprawdzić swój pomysł ;) Powinieneś zacząć od MVP . Czyli najmniejszego kawałka aplikacji który da wartość użytkownikom. Aplikacja nie gromadzi userów w ciągu jednego dnia. Jeśli Twoja aplikacja chwyci to zanim się zjawią te tysiące userów będziesz miał czas aby skupić się na optymalizacji. Ba moze nawet zarobisz na aplikacji i łatwiej bedzie Ci po prostu kupić lepsze serwery niż poprawiać aplikację.

Nie da się optymalizować aplikacji jeśli nie wiesz ile na prawdę osób będzie z niej korzystać. Zrobienie czegoś szybko dzięki gotowym narzędziom nie jest niczym złym ;) To tak jak miałbyś pisać kod w notepad.exe da się i będzie wolno ale czy lepiej? :) Gotowce są po to żeby z nich korzystać. Do tego dobrze się skalują w wersjach płatnych jeśli appka chwyci :) 

Ja polecam firebase i jednocześnie jest mi smutno że nie znałem tego narzędzia gdy zaczynałem z swoją appką. 

 

komentarz 6 kwietnia 2021 przez theemperor Użytkownik (710 p.)
Oczywiście że brakuje mi doświadczenia dlatego wszedłem na te forum XD mam zamiar pracować jako ios developer napisałem że będzie odwiedzać aplikację mnóstwo osób bo myślę że tak należy zakładać bo co mało prawdopodobne ale nadal możliwe że nagle użytkowników będzie masa a ja wyląduję z bardzo dużym rachunkiem od wujka google. Mam zamiar nauczyć się jak pisać aplikację od samego początku do samego końca, bo jak potem znajdę pracę i każą mi napisać prostą funkcjonalność to będę siedział nad tym 3 miesiące zamiast 3 dni max.
1
komentarz 6 kwietnia 2021 przez Wonderpol Gaduła (3,730 p.)
Ja również polecam Firebase. Jeżeli Cię nie przekonuje kolega, który używa Firebase na innej platformie to ja też Ci to powiem(sam korzystam przy tworzeniu aplikacji w Swift). Firebase wiadomo ma swoje plusy i minusy ale jest to świetne narzędzie.

Do twojego problemu potrzebował będziesz: Firebase firestore, Firebase Storage oraz ewentualnie Firebase Functions (dodatkowo). W bazie firestore przechowujesz ścieżki do zdjęcia w "Storage". Co do modułu Functions to już sobie sam poczytaj.
1
komentarz 6 kwietnia 2021 przez theemperor Użytkownik (710 p.)
OK dzięki za wszystkie odpowiedzi sprawdzę ten firebase i zobaczymy ;)
komentarz 6 kwietnia 2021 przez rafal.budzis Szeryf (85,260 p.)
W dużej firmie korzystają również z wielu gotowców. Łatwiej zapłacić za serwer te tysiąc zł więcej niż wydać dwa razy tyle aby programiści to zoptymalizowali. Dodatkowo w zależności od wielkości firmy masz wiele osób które dbają o każdą warstwę osobno. Administratorzy / Architekci baz danych / Programiści BE / Programiści FE. Jeśli ktoś w pracy kiedykolwiek będzie myślał o optymalizacji pod wiele osób to zapamiętaj. Tak zwana przedwczesna optymalizacji to anty wzorzec zarządzania projektem :)

Trzymanie się ogólnie przyjętych standardów zazwyczaj starcza aby było wystarczająco dobrze. Nie musi być idealnie a nawet nie powinno! Perfekcjonizm to coś z czego trzeba czasem się wyleczyć. Wystarczy napisać to lepiej od innych na rynku. Nie trzeba programować najlepiej jak się da.

Nie martw się rachunkiem jeśli chodzi o firebase. Jeśli nie klikniesz świadomi że chcesz płacić nic się nie stanie a narzędzie jest świetne.

Podobne pytania

+1 głos
1 odpowiedź 502 wizyt
0 głosów
2 odpowiedzi 4,703 wizyt
+1 głos
2 odpowiedzi 236 wizyt
pytanie zadane 24 kwietnia 2021 w Grafika i multimedia przez theemperor Użytkownik (710 p.)

92,451 zapytań

141,261 odpowiedzi

319,073 komentarzy

61,853 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Akademia Sekuraka 2024 zapewnia dostęp do minimum 15 szkoleń online z bezpieczeństwa IT oraz dostęp także do materiałów z edycji Sekurak Academy z roku 2023!

Przy zakupie możecie skorzystać z kodu: pasja-akademia - użyjcie go w koszyku, a uzyskacie rabat -30% na bilety w wersji "Standard"! Więcej informacji na temat akademii 2024 znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...