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

baza danych do aplikacji mobilnej

Fiszki IT
Fiszki IT
0 głosów
68 wizyt
pytanie zadane 6 kwietnia 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 przez rafal.budzis Maniak (65,460 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 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 przez rafal.budzis Maniak (65,460 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 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 przez rafal.budzis Maniak (65,460 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 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 przez rafal.budzis Maniak (65,460 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 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 przez Wonderpol Gaduła (3,230 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 przez theemperor Użytkownik (710 p.)
OK dzięki za wszystkie odpowiedzi sprawdzę ten firebase i zobaczymy ;)
komentarz 6 kwietnia przez rafal.budzis Maniak (65,460 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

0 głosów
2 odpowiedzi 2,237 wizyt
+1 głos
2 odpowiedzi 59 wizyt
pytanie zadane 24 kwietnia w Grafika i multimedia przez theemperor Użytkownik (710 p.)
0 głosów
1 odpowiedź 64 wizyt
pytanie zadane 14 stycznia 2020 w Python przez TheMartian Początkujący (250 p.)
Porady nie od parady
Możesz ukryć, zamknąć lub zmodyfikować swoje pytanie, za pomocą przycisków znajdujących się pod nim. Nie krępuj się poprawić pochopnie opublikowanego pytania czy zamknąć go po uzyskaniu satysfakcjonującej odpowiedzi. Umożliwi to zachowanie porządku na forum.Przyciski pytania

84,762 zapytań

133,562 odpowiedzi

295,997 komentarzy

56,017 pasjonatów

Motyw:

Akcja Pajacyk

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

Oto dwie polecane książki warte uwagi. Pełną listę znajdziesz tutaj.

...