Kam umiestnit DB pre aplikaciu ?
-
ktozesomja
Medium Star
- Príspevky: 326
- Registrovaný: 07 máj 2013, 12:05
Kam umiestnit DB pre aplikaciu ?
Robim jednu aplikaciu do skoly, ktora potrebuje databazu. A potreboval by som, aby sa ta aplikacia dala spustit z hocijakeho PC. Je to robene v Jave. Cize vsade, kde je nainstalovana Java. Ale neviem ako poriesit databazu. Kam ju umiestnit ? Nejaky free server ? Ked si zaregistrujem nejaku subdomenu napr. na hostuju.cz tak to sa bude dat spojit ta DB, ktoru mi tam daju s aplikaciou ?
Re: Kam umiestnit DB pre aplikaciu ?
* Ak to budeš riešiť takto tak ti aplikácia bude fungovať len ,ak budeš online tz. ak budeš mať prístup k DB. (Samozrejme len v prípade ak tvoja aplikácia nevyhnutne potrebuje DB)
* Na DB sa vieš pripojiť priamo z aplikácie avšak ,ak ti záleži na bezpečnosti tak by si týmto smerom asi nemal isť.
Pokiaľ to chceš riešiť na 100% vzdialenou databázou tak to si budeš musieť nahodiť niečo na stranu servera. Servlet alebo nejaké PHP... a zasielať požiadavky pre výber/aktualizáciu dát...
* Na DB sa vieš pripojiť priamo z aplikácie avšak ,ak ti záleži na bezpečnosti tak by si týmto smerom asi nemal isť.
Pokiaľ to chceš riešiť na 100% vzdialenou databázou tak to si budeš musieť nahodiť niečo na stranu servera. Servlet alebo nejaké PHP... a zasielať požiadavky pre výber/aktualizáciu dát...
-
audiotrack
VIP
- Príspevky: 25958
- Registrovaný: 09 sep 2005, 18:39
- Kontaktovať používateľa:
Re: Kam umiestnit DB pre aplikaciu ?
prečo by musel robiť servlet alebo php rozhranie? Na databázu sa vie pripojiť priamo, rovnako ako keby tá databáza beží lokálne. Zadá adresu servera (ip alebo doménový menom), port, užívateľa, heslo a vybavné. Spúšťa dopyt rovnako ako keby tá db bola hocikde inde
Re: Kam umiestnit DB pre aplikaciu ?
No veď keby si čítal môj príspevok pozornejšie tak by si si všimol ,že som to aj spomenul. Aby som bol konkretnejší tak:
* Na DB sa vieš pripojiť priamo z aplikácie avšak ,ak ti záleži na bezpečnosti tak by si týmto smerom asi nemal isť.
-
audiotrack
VIP
- Príspevky: 25958
- Registrovaný: 09 sep 2005, 18:39
- Kontaktovať používateľa:
Re: Kam umiestnit DB pre aplikaciu ?
priamo z aplikácie je aj prostredníctvom api ktoré si neskôr spomenul, a práve takéto riešenie nie je bezpečné, tak som predpokladal že to myslíš takto
Re: Kam umiestnit DB pre aplikaciu ?
Takže hovoríš ,že ukladať údaje k databáze na strane klienta a k tomu ešte v Jave je bezpečnejšie než len zasielať nejaké HTTP požiadavky prípadne to riešiť cez sockety...?
-
audiotrack
VIP
- Príspevky: 25958
- Registrovaný: 09 sep 2005, 18:39
- Kontaktovať používateľa:
Re: Kam umiestnit DB pre aplikaciu ?
nie, ja nehovorím že na strane klienta. Súhlasím, že db môže byť centralizovaná a prístupna zo všadial. Ale nie cez nejaké php api, ale priamo prístupom z aplikácie do db.
Re: Kam umiestnit DB pre aplikaciu ?
No a kde potom budú tieto údaje?
-
audiotrack
VIP
- Príspevky: 25958
- Registrovaný: 09 sep 2005, 18:39
- Kontaktovať používateľa:
Re: Kam umiestnit DB pre aplikaciu ?
ktoré tieto údaje? 
Tam kde si zaplatí hosting a kde si vytvorí tú db. Nejako mi uniká pointa celej tejto diskusie. Asi sa len nechápeme. Ja nevravím že si navrhol niečo zlé, hovorím to isté čo ty. Len neodporúčam robiť nejaké php api ktoré ti vykoná dotaz ktorý pošleš a vypluje výsledky, keď tie dotazy môžeš priamo pustiť na db a nie sprostredkovane. To je všetko
Tam kde si zaplatí hosting a kde si vytvorí tú db. Nejako mi uniká pointa celej tejto diskusie. Asi sa len nechápeme. Ja nevravím že si navrhol niečo zlé, hovorím to isté čo ty. Len neodporúčam robiť nejaké php api ktoré ti vykoná dotaz ktorý pošleš a vypluje výsledky, keď tie dotazy môžeš priamo pustiť na db a nie sprostredkovane. To je všetko
-
ktozesomja
Medium Star
- Príspevky: 326
- Registrovaný: 07 máj 2013, 12:05
Re: Kam umiestnit DB pre aplikaciu ?
Nevadi, ze tam musi byt pripojenie na internet. A bezpecnost nie je dolezita, je to len trapne zadanie do skoly, nechce sa mi s tym prilis babrat. Potrebujem len to, aby som mal databazu, lebo je potrebna k aplikacii a potrebujem aby to islo z hocijakeho PC kde je Java. Je jedno ako to docielim.
Takze ako by sa to dalo zriesit ? Ked si zaregistrujem niekde na freehostingu subdomenu, ku ktorej dostanem DB, tak da sa vyuzit ? Alebo nieco ine ?
Takze ako by sa to dalo zriesit ? Ked si zaregistrujem niekde na freehostingu subdomenu, ku ktorej dostanem DB, tak da sa vyuzit ? Alebo nieco ine ?
Re: Kam umiestnit DB pre aplikaciu ?
No údaje k databáze ako napríklad meno, port, heslo... Pokiaľ k nej má mať prístup aplikácia priamo tak musí mať tieto údaje dostupné inač sa asi len ťažko pripojí...
-
audiotrack
VIP
- Príspevky: 25958
- Registrovaný: 09 sep 2005, 18:39
- Kontaktovať používateľa:
Re: Kam umiestnit DB pre aplikaciu ?
ktozesomja: to záleží od konkrétneho hostingu, či poskytujú pripojenie na db zvonka. Neviem ako pri freehostingoch, ale napríklad websupport to umožňuje bez akýchkoľvek ďalších nastavení
S-player: aj ak to bude cez web api, musí to mať zaheslované aby nemohol hocikto prísť na stránku a spúšťať dopyty na jeho databáze. Takže tak či tak musí posielať meno a heslo alebo nejaký tajný kľúč. Web api tento problém autorizácie nerieši. Nikto ale nepíše, že sa má na ňu prihlasovať cez roota s plnými oprávneniami.
S-player: aj ak to bude cez web api, musí to mať zaheslované aby nemohol hocikto prísť na stránku a spúšťať dopyty na jeho databáze. Takže tak či tak musí posielať meno a heslo alebo nejaký tajný kľúč. Web api tento problém autorizácie nerieši. Nikto ale nepíše, že sa má na ňu prihlasovať cez roota s plnými oprávneniami.
Re: Kam umiestnit DB pre aplikaciu ?
Tak stále lepšie posielať meno&heslo než mať fixne uložené všetky údaje v aplikácii. Hrozí tam oveľa väčšie nebezpečenstvo toho ,že sa k nim niekto dostane a zneužije to. Plus ,ak by neskôr zmenil tieto údaje tak by si aplikáciu museli aktializovať všetci klienti inač by stratili prístup... Ale tak už to je aj tak jedno kedže mu to netreba zabezpečovať 
-
ktozesomja
Medium Star
- Príspevky: 326
- Registrovaný: 07 máj 2013, 12:05
Re: Kam umiestnit DB pre aplikaciu ?
A nešlo by to s použitím SQLite ? Čítam teraz, že SQLite nepotrebuje server. Takže stačilo by, keby som mal v adresári programu súbor s databázou .sqlite ?
-
ChallengerQo
Expert
- Príspevky: 183
- Registrovaný: 05 júl 2009, 17:08
- Bydlisko: Kodaň
Re: Kam umiestnit DB pre aplikaciu ?
Samozrejme, sqlite je Ti tu mali borci poradiť už dávno, neviem kde to drhlo.
PS: Neviem či ti to dovolia, ale ak si k tomu stiahneš ešte aj nejaké orm (napr. ormlite), tak nemáš prakticky s databázou žiadnu prácu.
PS: Neviem či ti to dovolia, ale ak si k tomu stiahneš ešte aj nejaké orm (napr. ormlite), tak nemáš prakticky s databázou žiadnu prácu.
Re: Kam umiestnit DB pre aplikaciu ?
No drhlo to v tom ,že spočiatku malo isť o vzdialené pripojenie sa k databáze (Tá by bola jedinou & hlavnou). Aktuálne však chlapec rieši niečo úplne iné...
-
ktozesomja
Medium Star
- Príspevky: 326
- Registrovaný: 07 máj 2013, 12:05
Re: Kam umiestnit DB pre aplikaciu ?
Riešim stále to isté. Celý čas mi ide o to, ako poriešiť databázu tak, aby aplikácia fungovala z ktoréhokoľvek PC, kde je nainštalovaná Java. A SQLite to vyriešilo, stačí keď ku programu priložím aj súbor s databázou a je po probléme. Síce je tam taký detail, že teraz vlastne každý PC bude mať tú databázu inú, ak tam bude vykonávať nejaké zmeny v DB, ale čo už, je to len do školy a kým mi neposkytnú nejaký server tak bohužiaľ.
Re: Kam umiestnit DB pre aplikaciu ?
No a z kadiaľ sme mali vedieť ,že ti to stačí takto?ktozesomja napísal:Síce je tam taký detail, že teraz vlastne každý PC bude mať tú databázu inú, ak tam bude vykonávať nejaké zmeny v DB...
-
Fabo
Hardcore addict
- Príspevky: 6810
- Registrovaný: 16 nov 2007, 17:23
- Bydlisko: 's Chravenhache
- Kontaktovať používateľa:
Re: Kam umiestnit DB pre aplikaciu ?
On to hlavne mal chalan specifikovat okamzite... databaza jak databaza, ale lokalna k instancii a centralna je sakra rozdiel. potom sa da bavit o technologiach, na zaklade rozsahu, pouzitia, obsahu, citlivosti. teoreticky drbnut tam sproste .csv moze postacovat. V niektorych use caseoch.