Les bases de données relationnelles sont de nos jours jugées inefficaces, mais lorsque vous stockez le type de journaux dont vous parlez, vous n'avez pas vraiment besoin d'efficacité car ils ne seront pas constamment consultés par le jeu ou ses utilisateurs - seule votre équipe aura besoin pour lire les données.
Donc, "l'efficacité" importe peu. Ce qui importe le plus, c'est de classer les données de manière à pouvoir raconter facilement ce que les utilisateurs font dans le jeu. Vos développeurs devront généralement consommer ces données et les afficher dans une interface facile à lire pour les analystes et les analystes devront parfois interroger les données pour approfondir le comportement des utilisateurs. Par exemple, si les joueurs achètent un certain article avant une mise à jour, mais cessent de l'acheter après une mise à jour, un analyste bénéficiera en écrivant certaines requêtes qui exposent certains chiffres sur le comportement entourant cet achat pour déterminer pourquoi les utilisateurs ne l'achètent plus. Il est préférable qu'ils aient un langage de requête standard avec lequel travailler est bien documenté. S'ils doivent transformer ces requêtes en un format binaire personnalisé, leurs tâches seront BEAUCOUP plus difficiles,
Généralement, les événements de jeu ressemblent à ceci (c'est le format de DeltaDNA en particulier)
{
"eventName":"specific event code – eg. gameStarted",
"userID":"ABCD1-4321a879b185fcb9c6ca27abc5387e914",
"sessionID":"4879bf37-8566-46ce-9f3b-bd18d6ac614e",
"eventTimestamp":"yyyy-mm-dd hh:mm:ss.SSS",
"eventParams":
{
"platform":"WEB",
"param1":"stringParam",
"param2":true,
"param3":1234,
"param4":["a","b","c"]
},
}
L'événement comprend généralement un nom d'événement, un ID utilisateur, un ID de session, un horodatage et des paramètres qui vous permettent d'enregistrer toutes les données que vous trouvez utiles pour enregistrer autour de cet événement. Et d'après mon expérience, les formats de bases de données relationnelles sont les meilleurs pour enregistrer une telle structure.