Fórum Root.cz
Hlavní témata => Server => Téma založeno: Jan Zapletal 10. 08. 2015, 20:42:26
-
Dobrý den,
mám malou html5 stránku s javascriptem, která z několika zadaných hodnot vypočítá výsledek.
Protože se mi nechce zadávat vstupní údaje pokaždé znovu, ukládám si poslední zadané hodnoty pomocí html5 local storage přímo do prohlížeče.
Toto mi přestalo stačit a chtěl bych, aby tyto vstupní hodnoty byly vidět i z jiných počítačů - tj. potřebuju si hodnoty ukládat ne lokálně, ale na server.
Jelikož se jedná max. o stovku hodnot, nepotřebuji žádný super výkonný DB nástroj. Rád bych, aby se to dalo spustit pod běžným uživatelem (mám k dispozici jeden shellový účet na počítači v internetu, který mi i hostuje tu html stránku) a pak jsem tam ty hodnoty mohl ukládat/číst ze svého javascriptu podobně, jako teď používám to html5 storage.
Tuším, že chci asi nějakou malou nosql key/value databázi, ale našel jsem jich hodně napsaných v erlagu (není na daném stroji nainstalovaný), javě (příliš nenažrané), nebo mají knihovny do pythonu, ruby, go, ... ale přístup z javascriptu ne a ne najít.
Poradíte?
-
http://html5doctor.com/introducing-web-sql-databases/
A napsat si v modelu key/value přistup už by neměl být problém
-
Pokud na serveru běží PHP, tak jeho součástí je obvykle několik zajímavých souborových databází:
- inifile - pro uložení konfigurace ve stylu INI souborů pro Windows
- cdb - konstantní databáze pro data, která se nemění (např. číselníky, PSČ,...)
- db4 nebo gdbm - jako rychlé úložiště key/value
- sqlite3 - SQL databáze, která je také uložena v jednom souboru
Záleží na tom, co si vybereš. Každá z nich se hodí k jinému účelu a jsou i rychlé.
-
Další možnost je třeba DB Redis http://redis.io/
a k ní dát Webdis jako iface http://webd.is/
-
@Vít Pintér - jestli to dobře chápu, jedná se o databázi na klientovi, tj. vlastně předchůdce html5 local storage, které nyní používám.
@Kit - php na tom počítači neběží, nicméně díky za zajímavé odkazy, může se hodit.
@M. - na redis jsem už při bádání narazil, ale chyběla mi tam právě ta zmínka o webdis - v této kombinaci to asi vypadá na to, co hledám. Díky!
-
Ja by som odporucil NodeJS https://nodejs.org/ (https://nodejs.org/), je to Javascript interpret co bezi na serveri,
na par riadkov napises HTTP server, ktory moze jednak hostovat tu HTML5 stranku,
druhak bude mat jeden AJAX endpoint, ktory bude robit tu key/value databazu
na par stoviek zaznamov netreba nic vymyslat, pohodlne to moze byt ulozene v pamati v JS objekte {}
-
Co mrknout na https://www.firebase.com/ ? Přístup rovnou z klientského JS, netřeba nikam nic instalovat, základní plán zdarma.
-
Co mrknout na https://www.firebase.com/ ? Přístup rovnou z klientského JS, netřeba nikam nic instalovat, základní plán zdarma.
Ještě úvod do Firebase: http://www.zdrojak.cz/clanky/firebase-kratke-seznameni/
-
ale přístup z javascriptu ne a ne najít.
JavaScript vám běží v prohlížeči, z něj se přímo do databáze na serveru nedostanete. Budete muset z prohlížeče dávat požadavky přes protokol HTTP a posílat je třeba ve formátu JSON nebo XML, a na serveru se pak musí přeložit pro tu příslušnou databázi. Server může být v libovolném jazyce, na JavaScriptu v prohlížeči je to nezávislé – může to být PHP, Java, Ruby ale klidně i serverový JavaScript.
Pro vás bude nejlepší nějaká databáze, která už má HTTP rozhraní a umí komunikovat přes JSON nebo XML, abyste na serveru nemusel nic programovat. Pokud chcete mít svůj vlastní server, můžete použít třeba CouchDB (http://couchdb.apache.org/) nebo eXist-db (http://exist-db.org/), jednodušší asi bude hostované řešení, třeba Amazon SimpleDB (http://aws.amazon.com/simpledb/) nebo Firebase (https://www.firebase.com/). Když budete hledat "JSON database", "REST database", "web database" apod., najdete toho spoustu.
-
Myslím, že Firebase je slušná volba, za zmínku asi stojí i LevelDB (resp. levelup), ale ten nemá přímo REST interface, takže by se muselo něco najít nebo napsat.