Riak provides the ability to tune CAP. CAP, which stands for Consistency, Availability, and Partition tolerance, does not seem like controls that are tunable. These terms seem evoke images of binary choices, as in either you have it or you don't. CAP terms by itself is ambiguous in their definitions. I'm not the only one who feels that way as can be seen in Daniel Abadi's blog post. For me, it was more helpful for me to think of tradeoffs as consistency latency (time needed to achieve eventual consistency), performance (read/write latency), and node failure tolerance (how many nodes can fail and still have a working cluster).
Riak exposes their CAP tuning controls via the named variables N, R, and W. These variables are defined as follows:
- N
- Number of nodes to replicated a piece of data
- R
- Number of nodes to read data to be considered success (read failure tolerance)
- W
- Number of nodes to write data to be considered write complete (write fault tolerance)
- PR
- Number of primary, non-fallback nodes that must return results for a successful read
- PW
- Number of primary, non-fallback nodes that must accept a write
- DW
- Number of nodes which have received an acknowledgement of the write from the storage backend
In addition, Riak exposes these additional tuning controls:
Bucket Level CAP Controls in Riak
Here's an example on how to set bucket level CAP settings in Riak with CorrugatedIron:
// Get existing bucket properties let properties = ciClient.GetBucketProperties("animals",true).Value // Set # of nodes a write must ultimately replicate to // This should be set at the creation of the bucket properties.SetNVal(3u) // Set number of nodes that must successfully written before successful write response properties.SetWVal(2u) // Set # of nodes required to read a value succesfully properties.SetRVal(1u) // Set primary read value properties.SetPrVal(1u) // Set primary write value properties.SetPwVal(1u) // Set durable write value properties.SetDwVal(1u) // Change bucket properties with these new CAP control values ciClient.SetBucketProperties("animals",properties)
Per Request CAP Controls in Riak
Riak allows you to tune CAP controls at per request level:
// Setting W & DW on puts let options = new RiakPutOptions() options.SetW(3u).SetDw(1u) let data = new RiakObject("animals","toto",{nickname="Toto"; breed="Cairn Terrier"; score=5}) ciClient.Put(data,options) // Get item with R value set to 2 ciClient.Get("animals","toto",1u).Value.GetObject<Animal>() // Specify quorum let getOptions = new RiakGetOptions() getOptions.SetR("quorum") // Need to convert IRiakClient to RiakClient in order to set RiakGetOptions let client = ciClient :?> RiakClient client.Get("animals","toto",getOptions).Value.GetObject<Animal>()
28 comments:
I feel really happy to have seen your webpage and look forward to so many more entertaining times reading here. Thanks once more for all the details.
Block Chain Training in pune
Thanks It is a great blog post.
Seo Service Faridabad
Web Design Service Faridabad
SMO Service Faridabad
Wow it is really wonderful and awesome thus it is very much useful for me to understand many concepts and helped me a lot. it is really explainable very well and i got more information from your blog.
rpa training in chennai | best rpa training in chennai | rpa training in chennai | rpa training in bangalore
rpa training in pune | rpa online training
Woah this blog is wonderful i like studying your posts. Keep up the great work! You understand, lots of persons are hunting around for this info, you could help them greatly.
Data Science training in rajaji nagar | Data Science with Python training in chenni
Data Science training in electronic city | Data Science training in USA
Data science training in pune | Data science training in kalyan nagar
Very good brief and this post helped me alot. Say thank you I searching for your facts. Thanks for sharing with us!
online Python certification course
python training in OMR
python training course in chennai
Very nice post here thanks for it .I always like and such a super contents of these post.Excellent and very cool idea and great content of different kinds of the valuable information's.
machine learning training in Velachery
best training insitute for machine learning
Android training in Chennai
PMP training in chennai
Hi, Thanks a lot for your explanation which is really nice. I have read all your posts here. It is amazing!!!
Keeps the users interest in the website, and keep on sharing more, To know more about our service:
Please free to call us @ +91 9884412301 / 9600112302
Openstack course training in Chennai | best Openstack course in Chennai | best Openstack certification training in Chennai | Openstack certification course in Chennai
I Got Job in my dream company with decent 12 Lacks Per Annum salary, I have learned this world most demanding course out there in the current IT Market from the Big Data Hadoop Training In Pune Providers who helped me a lot to achieve my dreams comes true. Really worth trying.freelance SEO expert in bangalore
good
interview-questions/aptitude/permutation-and-combination/how-many-groups-of-6-
persons-can-be-formed
tutorials/oracle/oracle-delete
technology/chrome-flags-complete-guide-enhance-browsing-experience/
interview-questions/aptitude/time-and-work/a-alone-can-do-1-4-of-the-work-in-2-days
interview-questions/programming/recursion-and-iteration/integer-a-40-b-35-c-20-d-10-comment-about-the-output-of-the-following-two-statements
Good
Permutation and Combination Aptitude Interview Questions
Oracle Delete
Time and Work Aptitude Interview Questions
Chrome Flags Complete Guide Enhance Browsing Experience
Recursion and Iteration Programming Interview Questions
Apache Pig Subtract Function
Xml Serializer there was an Error Reflecting Type
Simple Interest Aptitude Interview Questions
Compound Interest Aptitude Interview Questions
Specimen Presentation of Letters Issued by Company
Really interesting...
ece internship
data science training in chennai
Internship in Chennai
Internship at Chennai
Internship Chennai
IT Internships
Online Internship
MBA internship
internship for b.arch students in chennai
mechanical internship in chennai
internship for ece students
big data training in chennai
free internship for cse students in chennai
automobile internship in chennai
robotics course in chennai
internship in chennai
supper information
Australia hosting
Bermuda web hosting
Botswana hosting
mexico web hosting
moldova web hosting
albania web hosting
andorra hosting
armenia web hosting
australia web hosting
denmark web hosting
Good Post! Thank you so much for sharing this pretty post, it was so good to read and useful to improve my knowledge as updated one, keep blogging.
aws Training in Bangalore
python Training in Bangalore
hadoop Training in Bangalore
angular js Training in Bangalore
bigdata analytics Training in Bangalore
python Training in Bangalore
aws Training in Bangalore
Good Post! Thank you so much for sharing this pretty post, it was so good to read and useful to improve my knowledge as updated one, keep blogging.
aws Training in Bangalore
python Training in Bangalore
hadoop Training in Bangalore
angular js Training in Bangalore
bigdata analytics Training in Bangalore
python Training in Bangalore
aws Training in Bangalore
Very Nice...
internship in chennai for ece students with stipend
internship for mechanical engineering students in chennai
inplant training in chennai
free internship in pune for computer engineering students
internship in chennai for mca
iot internships
internships for cse students in
implant training in chennai
internship for aeronautical engineering students in bangalore
inplant training certificate
super and excellent blogs.....!!!
chile web hosting
colombia web hosting
croatia web hosting
cyprus web hosting
bahrain web hosting
india web hosting
iran web hosting
kazakhstan web hosting
korea web hosting
moldova web hosting
Hardware and Networking Training in Chennai
CCNA Training in Chennai
AWS Training in Chennai
SAP Training in Chennai
Software Testing Training in Chennai
Java Training in Chennai
SAP Training in Chennai
I am really happy with your blog because your article is very unique and powerful for new reader.
aws Training in Bangalore
python Training in Bangalore
hadoop Training in Bangalore
angular js Training in Bangalore
bigdata analytics Training in Bangalore
python Training in Bangalore
aws Training in Bangalore
Thank you for sharing information. Wonderful blog & good post.
aws Training in Bangalore
python Training in Bangalore
hadoop Training in Bangalore
angular js Training in Bangalore
bigdata analytics Training in Bangalore
python Training in Bangalore
aws Training in Bangalore
Thank you so much for this nice information. Hope so many people will get aware of this and useful as well. And please keep update like this. Robotic Process Automation Training in Pune
Good Post! Thank you so much for sharing this pretty post, it was so good to read and useful to improve my knowledge as an updated one, keep blogging.
Devops Certification Pune
Devops Training in Pune
Selenium Classes in Pune Hadapsar
AngularJS Training in Pun
RPA Training Institute in Pune
very usefull.....
coronavirus update
inplant training in chennai
inplant training
inplant training in chennai for cse
inplant training in chennai for ece
inplant training in chennai for eee
inplant training in chennai for mechanical
internship in chennai
online internship
The Blog is really very Impressive.every content should be very uniquely represented. really the blog is useful while reading easily clarify the queries for the beginners.
Data Science Training Course In Chennai | Data Science Training Course In Anna Nagar | Data Science Training Course In OMR | Data Science Training Course In Porur | Data Science Training Course In Tambaram | Data Science Training Course In Velachery
Great post. keep sharing such a worthy information.
PHP Training in Chennai
PHP Training
PHP Training in Bangalore
This post is so interactive and informative.keep update more information...
ccna Training in Velachery
ccna course in Chennai
Mindblowing blog very useful thanks
Android Training in Velachery
Android Training in Chennai
Post a Comment