Added web storage reference, mnesia reference and added text to database module
This commit is contained in:
parent
e63263eccc
commit
5f187abbf6
2 changed files with 97 additions and 10 deletions
|
@ -242,3 +242,31 @@
|
|||
isbn = {0201702452},
|
||||
publisher = {Pearson Education},
|
||||
}
|
||||
|
||||
|
||||
@inproceedings{667766,
|
||||
address = {London, UK},
|
||||
author = {Haakan Mattsson and Hans Nilsson and Claes Wikstrom},
|
||||
booktitle = {PADL '99: Proceedings of the First International Workshop on Practical Aspects of Declarative Languages},
|
||||
interhash = {3b61289b4cf321234fcef209681d70e6},
|
||||
intrahash = {f9f1e5b94bbcd945aa03459ad1698f61},
|
||||
pages = {152--163},
|
||||
publisher = {Springer-Verlag},
|
||||
title = {Mnesia - A Distributed Robust DBMS for Telecommunications Applications},
|
||||
url = {http://portal.acm.org/citation.cfm?id=645769.667766},
|
||||
year = 1998,
|
||||
timestamp = {2007-12-06T05:02:39.000+0100},
|
||||
keywords = {database distributed erlang mnesia},
|
||||
added-at = {2007-12-06T05:02:39.000+0100},
|
||||
description = {Mnesia - A Distributed Robust DBMS for Telecommunications Applications},
|
||||
isbn = {3-540-65527-1},
|
||||
biburl = {http://www.bibsonomy.org/bibtex/2f9f1e5b94bbcd945aa03459ad1698f61/jhammerb}
|
||||
}
|
||||
|
||||
@MISC{webstorage:website,
|
||||
AUTHOR = "Ian Hickson",
|
||||
TITLE = "Web Storage -- Editor's Draft 27 April 2011",
|
||||
MONTH = "May",
|
||||
YEAR = {2011},
|
||||
URL = "http://dev.w3.org/html5/webstorage/"
|
||||
}
|
||||
|
|
79
report.lyx
79
report.lyx
|
@ -4747,10 +4747,53 @@ name "sub:The-database-module"
|
|||
\end_layout
|
||||
|
||||
\begin_layout Standard
|
||||
Game data from all games on the GGS are stored here.
|
||||
The database module is using a database management system called Mnesia.
|
||||
Game data will not be lost when a game is stopped or has went down for
|
||||
unknown reasons.
|
||||
Game data from all games on the GGS are stored in the database backend of
|
||||
the database module.
|
||||
\end_layout
|
||||
|
||||
\begin_layout Standard
|
||||
In the GGS prototype the database module is using a database management
|
||||
system called Mnesia.
|
||||
Mnesia ships with the standard Erlang distribution and is a key-value store
|
||||
type database.
|
||||
Mnesia is designed to handle the stress of telecoms systems, and has some
|
||||
features specifically tailored for telecoms which are not commonly found
|
||||
in other databases.
|
||||
Key features of the Mnesia database are:
|
||||
\end_layout
|
||||
|
||||
\begin_layout Itemize
|
||||
Fast key/value lookups
|
||||
\end_layout
|
||||
|
||||
\begin_layout Itemize
|
||||
Distribution of the database system
|
||||
\end_layout
|
||||
|
||||
\begin_layout Itemize
|
||||
Fault tolerance
|
||||
\end_layout
|
||||
|
||||
\begin_layout Standard
|
||||
\begin_inset CommandInset citation
|
||||
LatexCommand citet
|
||||
key "667766"
|
||||
|
||||
\end_inset
|
||||
|
||||
|
||||
\end_layout
|
||||
|
||||
\begin_layout Standard
|
||||
The features of Mnesia originally intended for telecoms prove very useful
|
||||
for the purposes of the GGS as well.
|
||||
The fault tolerance and speed of Mnesia are very valueable tools, the fast
|
||||
key/value lookups permit many lookups per second to the database.
|
||||
\end_layout
|
||||
|
||||
\begin_layout Standard
|
||||
Game data will not be lost when a game is stopped or has gone down for unknown
|
||||
reasons.
|
||||
This makes it possible to continue a game just before the failure without
|
||||
having to start the game from the beginning.
|
||||
|
||||
|
@ -4770,8 +4813,13 @@ nomenclature{Mnesia}{Database server used in the GGS}
|
|||
\end_layout
|
||||
|
||||
\begin_layout Standard
|
||||
Each game is uniquely identified by a table token and it's data is stored
|
||||
within two different namespaces.
|
||||
The GGS stores the game state in the distributed Mnesia database, from which
|
||||
the state can be restored in the event of a crash.
|
||||
\end_layout
|
||||
|
||||
\begin_layout Standard
|
||||
Each game is uniquely identified by a table token and the data of each game
|
||||
is stored within two different namespaces.
|
||||
The namespaces are named World and Localstorage.
|
||||
The World is used contain all game data related to the game state.
|
||||
This sort of game data may change during the runtime of the game.
|
||||
|
@ -4786,10 +4834,21 @@ Each game is uniquely identified by a table token and it's data is stored
|
|||
\end_layout
|
||||
|
||||
\begin_layout Standard
|
||||
The interface of the database module has been inspired by the W3C Web Storage
|
||||
interface.
|
||||
Only difference is the usage of the game token and namespace within the
|
||||
database module of GGS.
|
||||
The interface of the database module is an implementation of the upcoming
|
||||
W3C Web Storage specification.
|
||||
Web Storage is intended for use in web browsers, providing a persistant
|
||||
storage on the local machine for web applications.
|
||||
The storage can be used to communicate in between browser windows (which
|
||||
is difficult when using cookies), and to store larger chunks of data
|
||||
\begin_inset CommandInset citation
|
||||
LatexCommand citet
|
||||
key "webstorage:website"
|
||||
|
||||
\end_inset
|
||||
|
||||
.
|
||||
Usage of the web storage standard in the GGS provides a well documented
|
||||
interface to the database backend.
|
||||
\end_layout
|
||||
|
||||
\begin_layout Section
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue