Fórum Root.cz

Hlavní témata => Server => Téma založeno: Jan Zapletal 10. 08. 2015, 20:42:26

Název: Jednoduchá key/value databáze
Přispěvatel: 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?
Název: Re:key/value databáze
Přispěvatel: Vít Pintér 10. 08. 2015, 21:11:33
http://html5doctor.com/introducing-web-sql-databases/

A napsat si v modelu key/value přistup už by neměl být problém
Název: Re:key/value databáze
Přispěvatel: Kit 10. 08. 2015, 21:13:25
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é.
Název: Re:key/value databáze
Přispěvatel: M. 10. 08. 2015, 21:14:33
Další možnost je třeba  DB Redis http://redis.io/
a k ní dát Webdis jako iface http://webd.is/
Název: Re:key/value databáze
Přispěvatel: Jan Zapletal 10. 08. 2015, 21:46:18
@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!
Název: Re:key/value databáze
Přispěvatel: Janci 10. 08. 2015, 21:50:05
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 {}
Název: Re:Jednoduchá key/value databáze
Přispěvatel: tdvorak 11. 08. 2015, 07:29:52
Co mrknout na https://www.firebase.com/ ? Přístup rovnou z klientského JS, netřeba nikam nic instalovat, základní plán zdarma.
Název: Re:Jednoduchá key/value databáze
Přispěvatel: tdvorak 11. 08. 2015, 07:32:29
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/
Název: Re:Jednoduchá key/value databáze
Přispěvatel: Filip Jirsák nepřihlášený 11. 08. 2015, 08:28:30
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.
Název: Re:Jednoduchá key/value databáze
Přispěvatel: Ivoszz 11. 08. 2015, 09:23:54
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.