Which database to use?

I'm new to databases, but I think I finally have a situation where flat files won't work.

I am writing a program for analyzing the results of multiplayer games, where each game can have any number of players grouped into any number of teams. I want players to be able to win, tie or leave part of the game (and win / lose based on team performance).

I may also want to keep the historical ratings of the players (unless this speeds up, just to retell it from the history of their game), so I don’t know if this means that they store the rating of each player next to each game or have a separate table for each player, or what.

+3
source share
5 answers

You did not mention the need to block mechanisms when several users can compete to simultaneously write the same data to the same resource (record or database file in case of flat files). I would suggest getting a good book on database design and trying to better understand the normalization rules. Distributing data into individual tables has an impact on performance, but it also affects the ease of use of the query design. This is a very controversial topic, and there is no easy answer. That is why companies are hiring database administrators to optimize their data structures.

You can look at SQLite if you need a lightweight database engine.

+3

, , :

, ​​ SQLite, , . , - SO, , ...

, (3NF), , . , - .

+7

, , Java H2 - . ( ), " ". , , , . . Java DB , . , , .

+3

, "NoSQL", :

-SQL- ( ) - , ( ), ( "" ). , - , , .

, SQL , ( ), ( ). , SQL, , (, , , , ). , .

+1

OrientDB. ( Apache 2), , SQL . 1 000 000 6 hw.

0

Source: https://habr.com/ru/post/1764343/


All Articles