Temat: Połączenie bazy danych z wyszukiwarką zdjęć

Zadanie jest takie:
Stworzyć bazę danych zawierającą zdjęcia produktów, które są opisane w plikach exela. (Zdjęcia najlepiej gdzieś osobno w folderze). Wyniki mogłyby być wyszukiwane na stronie internetowej.

Chciałabym sama takie coś umieć stworzyć i zrozumieć, ale z baz danych na chwilę obecną znam same podstawy więc wszelkie rady/ pomysły są bardzo cenne.
Tomasz Filipkowski

Tomasz Filipkowski Senior Analyst /
Programist

Temat: Połączenie bazy danych z wyszukiwarką zdjęć

Chyba nie do końca dorze opisałaś co tak naprawdę chcesz osiągnąć? Czy chcesz sworzyć samą bazę danych, czy problemem jest przeniesienie do już istniejącej tego co masz w Excelu, przechowywanie zdjęć, czy chcesz swtorzyć stronę która będzie z tej bazy korzystać a może wszystkie te opcje?

Temat: Połączenie bazy danych z wyszukiwarką zdjęć

Przede wszystkim chodzi o samą bazę danych, która będzie w stanie połączyć wszystkie opcje które wymieniłeś.
Marcin Mackiewicz

Marcin Mackiewicz Programista JAVA, RS
Adware Polska

Temat: Połączenie bazy danych z wyszukiwarką zdjęć

Fajne to zadanie. Czytam i chcę zrozumieć co mam zrobić...

Zrób bazę danych:
1. Ma zawierać zdjęcia.

ale:
2. Zdjęcia mają być w plikach
3. Opis (dane o) zdjęcia jest w pliku excel

Wredny będę... zrób pusty database i gotowe. W założeniach zadana zdjęcia mają być w katalogu a opisy w plikach excel... to co ma być w bazie danych?

Co tale tak zero-jedynkowo ma zostać ogole zrobione?
Tomasz Filipkowski

Tomasz Filipkowski Senior Analyst /
Programist

Temat: Połączenie bazy danych z wyszukiwarką zdjęć

Marcin M.:
Fajne to zadanie. Czytam i chcę zrozumieć co mam zrobić...

Zrób bazę danych:
1. Ma zawierać zdjęcia.

ale:
2. Zdjęcia mają być w plikach
3. Opis (dane o) zdjęcia jest w pliku excel

Wredny będę... zrób pusty database i gotowe. W założeniach zadana zdjęcia mają być w katalogu a opisy w plikach excel... to co ma być w bazie danych?

Co tale tak zero-jedynkowo ma zostać ogole zrobione?

Marcin, chyba tylko lokalizacja plików i ewentualnie nazwa do wyświetlenia na stronie?
Ale to tylko moje domysły :)
Marcin Mackiewicz

Marcin Mackiewicz Programista JAVA, RS
Adware Polska

Temat: Połączenie bazy danych z wyszukiwarką zdjęć

No zależy od engine bazy danych i ich możliwości i wyboru sposobu przechowywania.

1. Jeżeli wyszukiwanie na stronie to na pewno zasoby w postaci foto muszą być serwowane usługą www czyli muszą leżeć na serwerze web na skonfigurowanym do czytania udziale.

2. Dane z pliku excel przekładam do tabeli lub tabel w bazie zachowując zasadę zachowania postaci normalnej. Zakładam, że w pliku excel jest nazwa pliku jakiego dotyczy w związku z tym w momencie czytania excel szukam pliku zrodlowego i wyliczam z niego md5 i zapisuje przy danych o pliku

3. Przy dużej liczbie foto (np 1 mln) przechowywanie na systemie plików jest problemem:

Przy dużej liczbie plików na każdym systemie plików problem będzie z indeksowaniem oraz wyszukiwaniem położenia danych wewnątrz systemu plików. Z doświadczenia wiem, że bardzo duże czasy dostępu do plików są nawet na systemach z journalingiem. Po prostu stworzenie indeksu dla dużej liczby plików zajmuje bo przeskanowania wymaga każdy plik.
Aby tego uniknąć przydałoby się foto pogrupować w jakąś sensowną strukturę. Stworzył bym sobie katalogi o dwuznakowych nazwach od 00 do FF i w każdym z tych katalogów jeszcze raz od 00 do FF (tak tak system szesnastkowy). Dla każdego pliku wyliczyłbym md5 z treści a następnie ulokował w odpowiednim katalogu. np. plik o moj_psiak.jpg ma sumę md5 16c487716e6ed76f6cc5150d8bc15127 co oznacza, że plik znajdzie się w katalogu 16 w podkatalogu c4 (oczywiście nazwę pliku zmieniam na sumę md5) :)
To załatwia szyki dostęp do pliku ponieważ przy np mln zdjęć w jednym katalogu średnio wypadnie 15 szt (1000000 / 65525 ~ 15).

4. Tworzę prosty formularz www + obsługę wyszukiwania plików w bazie. Same miniatury zaciągane w formie <img scr="" /> bezpośrednio z serwera.

Z drugiej strony może zamiast kombinować rozważyłbym użycie niemodelowej bazy / indeksera np. Elasticsearch, który zapewniłby mi przechowywanie zasobów wraz z danymi dodatkowymi oraz odpowiednio zindeksowałby zasoby pozwalając na szybkie wyszukiwanie :)Ten post został edytowany przez Autora dnia 26.06.17 o godzinie 22:34

Następna dyskusja:

Forum Bazy Danych




Wyślij zaproszenie do