Jump to content

will the A3 Epoch Server Files feature a Mysql Database?


HosteD

Recommended Posts

Hey MGT - So this will be a non-relational database? or? 

 

MGT - I'm guessing this is Redis (vid below) and for the Redis manager, are we talking about the Desktop Manager (http://redisdesktop.com/)?

 

https://www.youtube.com/watch?v=BLQIyYreK64 

 

Nothing to do with profile, that's what the users of the leaked files thought it was, the system it uses is Redis.

Awol is developing a tool to access the database, but if you're confident you can use Redis Manager.

Link to comment
Share on other sites

Yes, but there's really no need for the manager yet, it's mainly out of curiosity to see how it works, there's no setting up required except for in config files, like passwords etc

So is there like a server launcher that fires up the Redis exe or service the same time as the Arma server? How does that work? I read that Redis can be installed as a service in Windows as well.

Link to comment
Share on other sites

I say stick with MySQL. No other database design is better and more stable then MySQL.

The older versions of A3 Epoch had used the Profile Space since most servers had a lot of hackers due to this issue.

Even if it was using it or not, its not really hard to configure MySQL to work with it.

Link to comment
Share on other sites

I say stick with MySQL. No other database design is better and more stable then MySQL.

The older versions of A3 Epoch had used the Profile Space since most servers had a lot of hackers due to this issue.

Even if it was using it or not, its not really hard to configure MySQL to work with it.

 

Arma 3 Epoch has never used profile space, only the servers using hacked files used that. Redis is 1000x better for Epoch than MySQL

Link to comment
Share on other sites

Arma 3 Epoch has never used profile space, only the servers using hacked files used that. Redis is 1000x better for Epoch than MySQL

Not any where close to 1000x better.

Redis is a NoSQL... Yes it is faster at loading smaller types of data because its all stored in the memory. 

Now this means its fast, but it's prune to data loss due to server crashes and memory issues not to mention this will take up even more memory.

I will say Redis is good for loading the server up faster for performance.

Link to comment
Share on other sites

Not any where close to 1000x better.

Redis is a NoSQL... Yes it is faster at loading smaller types of data because its all stored in the memory. 

Now this means its fast, but it's prune to data loss due to server crashes and memory issues not to mention this will take up even more memory.

I will say Redis is good for loading the server up faster for performance.

 

I thought redis was ACID. which should retain data in the case of a crash/disconnect... 

 

By default, Redis syncs data to the disk at least every 2 seconds, with more or less robust options available if needed. In the case of a complete system failure on default settings, only a few seconds of data would be lost.
Link to comment
Share on other sites

Not any where close to 1000x better.

Redis is a NoSQL... Yes it is faster at loading smaller types of data because its all stored in the memory. 

Now this means its fast, but it's prune to data loss due to server crashes and memory issues not to mention this will take up even more memory.

I will say Redis is good for loading the server up faster for performance.

 

It has a live page file as a buffer, is persistent even if the server crashes and through restarts and in the server files is a batch file for BE log cleanups and auto backups.

Link to comment
Share on other sites

It has a live page file as a buffer, is persistent even if the server crashes and through restarts and in the server files is a batch file for BE log cleanups and auto backups.

Yeah that is because it uses memcache...

 

 

I thought redis was ACID. which should retain data in the case of a crash/disconnect... 

No, MySQL is ACID.

 

My biggest issue is that you are going from a schema data to a key-value.

Link to comment
Share on other sites

SQL is something that's pretty ubiquitous in the gaming and software world.  It has it's issues the same as anything else, but at least everyone is pretty much familiar with it at this point.  For as small as these server databases are (just a handful of MB) there's very little performance hit.  And if an admin will simply do a little homework and planning, making it secure isn't difficult either.  

 

Playing Devil's Advocate here though, based on the research I've done today it appears as though one key bonus to Redis is that it loads the entire DB to memory (or Virtual Memory too depending on the size of the db) once it's opened, which provides for really fast access times versus SQL, which searches the hard disk for the stored data it needs when it is called.  But, for those of us who have our servers running on an SSD this is of little consequence.  It also allows for asynchronous searching, has native multi-threading support, and also allows concurrent searches, which helps the speed factor too.  When you're talking about an Epoch server there can be some tangible benefits there, since there are often times scenarios where you will have multiple people doing trader transactions at the same time, multiple vehicles running around the map at the same time, etc.  This may result in a smoother gameplay experience once we get into cases where servers have gotten a bit of age on them and the item counts reach close to 10K objects, which was a big cause of low server FPS in A2 Epoch.  

Link to comment
Share on other sites

SQL is something that's pretty ubiquitous in the gaming and software world.  It has it's issues the same as anything else, but at least everyone is pretty much familiar with it at this point.  For as small as these server databases are (just a handful of MB) there's very little performance hit.  And if an admin will simply do a little homework and planning, making it secure isn't difficult either.  

 

Playing Devil's Advocate here though, based on the research I've done today it appears as though one key bonus to Redis is that it loads the entire DB to memory once it's opened, which provides for really fast access times versus SQL, which searches the hard disk for the stored data it needs when it is called.  But, for those of us who have our servers running on an SSD this is of little consequence.  It also allows for asynchronous searching and concurrent searches, which helps the speed factor too.  When you're talking about an Epoch server there can be some tangible benefits there, since there are often times scenarios where you will have multiple people doing trader transactions at the same time, multiple vehicles running around the map at the same time, etc.  This may result in a smoother gameplay experience once we get into cases where servers have gotten a bit of age on them and the item counts reach close to 10K objects, which was a big cause of low server FPS in A2 Epoch.  

That is the key thing, but the issue becomes what happens when you need to load a big db?

You will bottleneck the server more than anything else.

Redis takes up about 20% more memory than MySQL does. Lets not forget Redis is a key-value db not a table structure...

Link to comment
Share on other sites

After reading many articles the benefits seem to outweight the negatives for larger data. And as far a the ram usage it seems to only use more ram when writing back to disk, but it does not hinder the clients that are active on the instance. But thats just some initial researching on my part.

 

http://www.justincarmony.com/blog/2011/05/23/mysql-redis-and-a-billion-rows-a-love-story/

Link to comment
Share on other sites

I read the same article.  Most game servers have 16GB of memory at least.  I seriously doubt anyone is going to have a server db for Epoch that exceeds what RAM is available.  With my Overpoch server having close to 8000 objects the SQL tables totaled less than 1MB.  Hell the SQL service itself uses more memory than the database does.  

Link to comment
Share on other sites

I read the same article.  Most game servers have 16GB of memory at least.  I seriously doubt anyone is going to have a server db for Epoch that exceeds what RAM is available.  With my Overpoch server having close to 8000 objects the SQL tables totaled less than 1MB.  Hell the SQL service itself uses more memory than the database does.  

Your server barely has and players on it to cause any load to the pc. Thats why their 1mb. On a full server your looking at 2GB Min.

Link to comment
Share on other sites

I'm not talking about overall memory usage for the whole server instance.  I'm talking specifically about database size.  You are correct that when the server is running and full it will use upwards of a couple gigs.  But the database itself will always be comparatively quite small, regardless of whether you're using SQL or Redis, which is what we are discussing here.   

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Advertisement
  • Discord

×
×
  • Create New...