What is new in Riak 2.0
Upcoming SlideShare
Loading in...5

What is new in Riak 2.0



Walk through some basic examples for Riaks Solr integration yokozuna, CRDTs, and Authentication

Walk through some basic examples for Riaks Solr integration yokozuna, CRDTs, and Authentication

Find all the example on Github https://github.com/sideshowcoder/whats_new_in_riak_2_0



Total Views
Views on SlideShare
Embed Views



6 Embeds 405

http://sideshowcoder.com 400
http://twimblr.appspot.com 1
http://www.linkedin.com 1
http://newsblur.com 1
https://www.google.de 1
http://www.newsblur.com 1



Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
Post Comment
Edit your comment

What is new in Riak 2.0 What is new in Riak 2.0 Presentation Transcript

  • Exploring Riak 2.0 Let me tell you about Solr, CRDTs, and Authentication
  • Philipp Fehre ! Twitter @ischi Github @sideshowcoder http://sideshowcoder.com
  • Riak 2.0 is coming so time to explore!
  • http://docs.basho.com/riak/2.0.0pre5/downloads/
  • What I changed…
  • What is new?
  • Not a search expert, correct me if I am wrong!
  • Yokozuna ~ Solr ~ Search
  • Now there is Solr, which is great
  • DEMO
  • Solr can do much more…
  • But I can’t because I don’t know Solr this well :(
  • How it works
  • Solr running on the Nodes
  • Riak handles the distribution
  • http://www.youtube.com/watch?v=-c1eynVLNMo
  • CRDTs Convergent / Commutative Replicated Data Types
  • What?
  • Why?
  • function _unionMergeProperties(siblings, properties, cb) { var _vclock = siblings[0].meta.vclock; var root = _.omit.apply(siblings[0].data, properties); var dataObjs = _.pluck(siblings, "data"); properties.forEach(function(property) { var data = _.pluck(dataObjs, property); var mergedData; if(_.isArray(data[0])) { mergedData = _.union.apply(this, data); } else if(_.isNumber(data[0])) { mergedData = Math.max.apply(this, data); } else { cb(new Error("Can't union merge " + data[0])); } root[property] = mergedData; }); Object.defineProperty(root, "_vclock", { value: _vclock }); cb(null, root); } !
  • Offer some save datatypes and operations
  • Counters
  • Sets
  • Maps
  • DEMO
  • See could have used a set before…
  • What about data size?
  • Grow O(actors)
  • Use them for years and still be save
  • Drivers are coming
  • http://www.youtube.com/watch?v=zUJiWEbtCv8
  • Authentication Finally users for riak
  • Implement Riak based app for Company
  • Deploy ~> DevOps
  • Now…
  • DevOps: Ok this is nice, so how do I restrict access for clients? Me: We use HTTP and don't pass queries to the DB DevOps: Meee…
  • Now Riak has Auth
  • riak-admin securtiy add-user phil
  • riak-admin security add-user phil password=justmypassword
  • riak-admin securtiy grant riak_kv.get ON default test TO phil
  • riak-admin security add-source all trust
  • So basically works like postgres
  • It’s coming, but besides the erlang client no support yet
  • http://www.youtube.com/watch?v=T6i8S6_dV7U
  • Questions? ! Be sure to join the Riak UG Munich ! http://www.meetup.com/Riak-Munchen/