Take the 2-minute tour ×
Server Fault is a question and answer site for professional system and network administrators. It's 100% free, no registration required.

I'm looking for a way to have several physical front-end servers with ACID data access.

In a setup where several servers gets load-balanced using DNS-round robin, the problem is that whatever server you land on the data must be ACID. E.g. when sharding data you need to have the shard-mapping ACID across servers, right?

How can I achieve this using open-source software?

One solution is MySQL Cluster but Google or Facebook does not use this(?). Is there an alternative?

share|improve this question
add comment

2 Answers

Google and Facebook almost always don't need ACID data. If your Facebook news feed is out of date by a few seconds (or minutes, or more) or you're seeing yesterday's Google search index it's not the end of the world.

For anything that does absolutely need to be ACID, you'd likely want to look into sharding, where specific servers are masters for specific subsets of the database.

share|improve this answer
    
Google offers ACIDish on Cloud Storage –  Gustav Mar 15 '12 at 21:46
    
The sharding part is good but the initial "id to shard"-lookup need to be ACID right? That's what I mean by front-end. –  Gustav Mar 15 '12 at 22:14
    
Depends. Some sharding strategies do some of the sharding on the application side. There are a number of different methods. –  ceejayoz Mar 16 '12 at 0:05
add comment

I'm not sure if Percona's XtraDB Cluster meets a strict definition of ACID compliance (the XtraDB engine does) but it is a synchronous solution like MySQL Cluster that is suitable for web applications. Note that it is not production ready but development/progress is rapid so I'd check it out if I were you. You may want to touch base with the Percona folks about your business need.

Hope this helps.

share|improve this answer
    
Thanks! I will check it out. –  Gustav Mar 15 '12 at 22:31
    
It meets ACID requirements. Every committed transaction is guaranteed to be durable on all servers in the cluster, guaranteeing A and D. C and I are handled by clusterwide transaction certification at commit time. –  Baron Schwartz Mar 16 '12 at 10:43
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.