JeuWeb - Crée ton jeu par navigateur
SQLite - Version imprimable

+- JeuWeb - Crée ton jeu par navigateur (https://jeuweb.org)
+-- Forum : Discussions, Aide, Ressources... (https://jeuweb.org/forumdisplay.php?fid=38)
+--- Forum : Programmation, infrastructure (https://jeuweb.org/forumdisplay.php?fid=51)
+--- Sujet : SQLite (/showthread.php?tid=4128)



SQLite - DragonMaster - 23-06-2009

Bonjour à tous, j'ai observé beaucoup de vos projets et je me rend compte que la plupart font du tour par tour. Aussi j'ai remarqué que beaucoup de projet ne sollicite pas de manière extrême la base de donnée. Donc je me demandais pourquoi je n'avais vu nul part la base de donnée SQLite.

Pour ceux qui ne connaissent pas, SQLite est un SGBD relationnelle très léger qui enregistre les données dans un simple fichier sur votre serveur. SQLite comme son nom l'indique est beaucoup plus léger que MySQL et est tout de même très bien (c'est au niveau de la synchronisation que MySQL vaut vraiment la peine). Donc bref j'aurais aimé avoir votre avis sur SQLite. Moi je l'ai déjà utilisé dans un projet pour l'école...un site web de gestion et j'ai trouvé sa bien (parcontre il y a quelques trucs suprenant au niveau de la syntaxes).


RE: SQLite - Zamentur - 23-06-2009

Ben déjà je dirais que la plus part des hébergeurs proposent une bdd mysql, donc il n'y a pas de raison pour ne pas l'utiliser...

Ensuite je suis assez étonné d'entendre que les jeux en ligne n'utilise pas beaucoup la base de donnée, justement de mon point de vue c'est l'inverse et bon nombre de projet ont des problème de lenteur à cause des requêtes sql. Il s'agit parfois de problèmes d'optimisation certes, mais il n'empêche que la bdd joue un grand rôle quand même.

Il suffit de voir les jeux avec map en damier, une simple carte de 200 sur 200 peux représenter 400 000 entrés. Ce n'est certes pas extrêmes mais c'est pas non plus rien du tout!

Et puis avec un nombre de joueur croissant il faut des outils capable de répondre au besoin, or si SQLite a une syntaxe particulière çà peux poser des problème surtout si il n'y a pas de classe d'abstraction sql assez poussé.

En bref moi çà me parait quand même nécessaire, cependant je ne connais pas non plus trop le produit donc...

Mais pour l'instant j'aurai plutôt tendance à conseiller MySQL ou encore PostgreSQL.


RE: SQLite - DragonMaster - 23-06-2009

(23-06-2009, 07:50 PM)Zamentur a écrit : Ben déjà je dirais que la plus part des hébergeurs proposent une bdd mysql, donc il n'y a pas de raison pour ne pas l'utiliser...

Hum la plupart impose d'importante limite pour MySQL que se soit en tant que nombre de requête, nombre de table, bd ou quantité d'information en méga octet.

(23-06-2009, 07:50 PM)Zamentur a écrit : Ensuite je suis assez étonné d'entendre que les jeux en ligne n'utilise pas beaucoup la base de donnée, justement de mon point de vue c'est l'inverse et bon nombre de projet ont des problème de lenteur à cause des requêtes sql. Il s'agit parfois de problèmes d'optimisation certes, mais il n'empêche que la bdd joue un grand rôle quand même.

Il suffit de voir les jeux avec map en damier, une simple carte de 200 sur 200 peux représenter 400 000 entrés. Ce n'est certes pas extrêmes mais c'est pas non plus rien du tout!

Hum un jeu tour par tour et/ou un jeu sans requêtes asynchrone n'a pas besoin de faire une quantité énorme de requêtes. C'est vrai que pour beaucoup de jeu ici de bonnes performance du SQBDR est crucial... Mais ce n'est pas vraiment là la question...

SQLite peut sans difficulté posséder des tables avec 400 000 entrés, comme je l'ai dit c'est plutôt au niveau de la synchronisation qu'il est moins bien que MySQL.

Pour ce qui est de la syntaxe, en fait SQLite est un peu le PHP des SGBDR... on peut très bien définir une colonne INT et y mettre un string...


RE: SQLite - naholyr - 23-06-2009

Fais des bench, n'hésite pas. A priori tu verras que MySQL est un meilleur choix dans la grande majorité des cas.
La rapidité (toute relative) de SQLite en lecture ne compensera réellement jamais les blocages en écriture simultanée.


RE: SQLite - Roworll - 24-06-2009

Avant de choisir un moteur plutôt qu'un autre, il faut bien faire le tour de ses fonctionnalités et des outils qui gravitent autour.

Le SGBD supporte-t-il les vues ?
Est-il capable de gérer les transactions.
Peut-on créer des procédures stockées ?
Gère-t-il les relations et les clés étrangères ?
Quels sont les systèmes de locks dont il dispose ?
Comment fonctionne son système de cache des requêtes ?
De quels outils dispose-t-il pour administrer la base de données ?
Quels sont les moyens mis a disposition pour travailler sur l'optimisation ?

SQL Server par exemple met à disposition de très bon outils pour manipuler une base de données et analyser les requêtes. Voici une copie d'écran de l'analyseur de requête :
[Image: SQLPlan_u1245822567.jpg]
C'est à des kilomètres du simple EXPLAIN de MySQL.
Malheureusement,ce n'est pas un produit gratuit.

PostGreSQL est aussi un très bon outil mais de par sa complexité apparente, il n'est que rarement présent dans les solutions d'hébergement mutualisées. Son installation sur un serveur dédié demande également quelques connaissances en système d'exploitation et en PostGreSQL, ce qui n'est pas à la portée du plus grand nombre.

MySQL est un bon compromis entre l'accessibilité et la complexité. En plus, c'est souvent la plateforme fournie par défaut.