New on LowEndTalk? Please Register and read our Community Rules.
All new Registrations are manually reviewed and approved, so a short delay after registration may occur before your account becomes active.
All new Registrations are manually reviewed and approved, so a short delay after registration may occur before your account becomes active.
Best 3 location for worldwide traffic and dbserver advice
Hi
I'm planning to expand a website that gets worldwide traffic.
ATM is running at Netcup with Cloudflare in front of it, but for a better performance I was looking to get eventually more two server, on in US and another in Asia.
What locations do you suggest?
My second chalange is to choose a database server to synchronize data between locations (using MariaDB atm)
My first thought was use Redis on all servers (I'm already using) and only one database,, but I'm in doubt.
Pages are updated on every request, so I should chose something different.
What db server or combo do you suggest?
Thanks
Thanked by 1bulbasaur
Comments
It is impossible to give an answer without knowing more about your data - is it write-heavy, is sync latency super important, and so on.
I use Percona XtraDB cluster, which would be an easy migration from MariaDB.
No it's not heavy, some pages have a view counter and some have a on_update field that is updated it on every request.
It has daily updated content that need to be synchronized too.
Is there a reason you have gone with Percona instead of Galera cluster?
Would the content changes come from one place (via one node) or are they distributed?
At the time we set it up, Percona supported the "memory" storage engine on nodes within the cluster and MariaDB+Galera did not. Don't know whether this is still true.
I was planning on running a geo cluster with Route53, so content comes from anywhere.
If all your dynamic stuff is already in whatever mysql variant then it would probably be simplest just to turn that into a cluster. The consideration is that mysql-based clusters have strict coherence so when a write is made, it has to be confirmed on each node of the cluster before it is accepted. This can make it seem slower to the user for writes compared to master-slave. However, if your writes are in the background, or not very frequent, then it isn't a big deal. The advantages are that you've already got stuff in mysql so converting is simple, and that programming remains the same.
However, there's no right or wrong answer. I also run couchbase on multiple continents.
I don't have to be stuck to MariaDB server if it's not the right tool for the job.
The application uses Models (MVC), changes can be made if possible and necessary.
@nfn
NA: a location more or less in the network center of the USA, Europe: NL or DE,FRA, Asia: Singapore I guess.
And: @tetech is right. To offer sensible advice we must know much more. Example: is the view counter visible or just for internal use; if visible, how important is precision?
Generally speaking I'd suggest to chose a route (read: redesign some parts of what you have) that does not need frequent (more than 1 every 10 sec. or so) updates and is not sensitive to (small) delays. Simple reason: while it of course is possible to go way beyond that (e.g. in the financial industry) that tends to come at a cost that pretty much exponentially increases wit frequency and sensitivity.
The view counter is not important. It's visible but it's something that can fail from time to time.
Hi
Just a quick update on this, I've been playing with CockroachDB with 3 servers and works very well. Just need to change a few queries for compatibility.
Anyone running this db server in production?
Note: Since this is just an hobby site, I'm running on what they call "anti-pattern" topology with 3 server in different continents, but so far so good!