25
Bip Thelin Emilio Nyaray Twitter: @KivraLabs @nyaray @bipthelin

Riak Meetup Stockholm 1/11/2012

Embed Size (px)

DESCRIPTION

 

Citation preview

Page 1: Riak Meetup Stockholm 1/11/2012

Bip Thelin

Emilio Nyaray

Twitter:@KivraLabs@nyaray@bipthelin

Page 2: Riak Meetup Stockholm 1/11/2012

(Brief) History

Page 3: Riak Meetup Stockholm 1/11/2012

visionmissionTHE

Page 4: Riak Meetup Stockholm 1/11/2012

RIAKPractices

Page 5: Riak Meetup Stockholm 1/11/2012

Logging

Page 6: Riak Meetup Stockholm 1/11/2012

1. MetricsAnything you'd want to plot on a graph

Page 7: Riak Meetup Stockholm 1/11/2012

2. (Un)structured loggingLog data

you'd want to process

Page 8: Riak Meetup Stockholm 1/11/2012

3. Applicationlogging Error,

Notice,Warning, etc

Page 9: Riak Meetup Stockholm 1/11/2012

Requirements○ Search○ Archive○ Aggregate logs○ Slice logs by arbitrary

dimensions○ Alerting

Page 10: Riak Meetup Stockholm 1/11/2012
Page 11: Riak Meetup Stockholm 1/11/2012

Lager Logglygithub.com/kivra/lager_loggly.git

Page 12: Riak Meetup Stockholm 1/11/2012

Lager Sysloggithub.com/basho/lager_syslog

Page 13: Riak Meetup Stockholm 1/11/2012

~197 SLOC~23 SLOC

Page 14: Riak Meetup Stockholm 1/11/2012

Lager{lager, [

{handlers, [ {lager_console_backend, info}, {lager_loggly_backend, [<<"Riak">>,

info, 5, 3, "https://<Loggly URI>"]},

{lager_loggly_backend, [<<"Riak">>, error, 5, 3, "https://<Loggly URI>"]},

{lager_file_backend, [ {"/path/error.log", error, 10485760, "$D0", 5}, {"/path/console.log", info, 10485760, "$D0", 5} ]}

]}, ...]},

Page 15: Riak Meetup Stockholm 1/11/2012
Page 16: Riak Meetup Stockholm 1/11/2012

Lazy Upgrade

Page 17: Riak Meetup Stockholm 1/11/2012

It's fun to useupgrademanagediscuss

also, hard to resist

Riak <3

Page 18: Riak Meetup Stockholm 1/11/2012

Riak <3, really!Bu-bu-but... MySQL

PostgreSQLMSSQLOldSQL

No... same as before

SQLNoNo

ScaleOps

Page 19: Riak Meetup Stockholm 1/11/2012

Screw that!

Schema

Page 20: Riak Meetup Stockholm 1/11/2012

but,

STRUCTUREDTypo, it's JSON

Schema-less...

Page 21: Riak Meetup Stockholm 1/11/2012

-record(user, {

password = <<"l0ln00b">,

name = <<"noname">>,

i_primary_email = <<"[email protected]">,

i_primary_phone = <<"461337">>,

i_ssn = <<"0123456789">>,

l_tenant = {<<"B">>, <<"K">>}

}).

Schema-less...Or is it?

IntermediateRecords

Concerns?Add/Rename Field

BeforeStore

+ Search

Page 22: Riak Meetup Stockholm 1/11/2012

Be flexible,stay focused,

know your data

What does that even mean?!

Embrace Change

Page 23: Riak Meetup Stockholm 1/11/2012

schema_upgrade(?CURR_VSN, Props) ->

Props;

schema_upgrade(1, Props) ->

% Awesome upgrade,

% also defines NewProps

schema_upgrade(Vsn+1, NewProps).

Upgrade Path(tm)

Page 24: Riak Meetup Stockholm 1/11/2012

Save po-TAY-to...Read po-TAH-to!

SimplifiedEverything is fun

access

Page 25: Riak Meetup Stockholm 1/11/2012

Thank You!You've been great.

Go away now, drink some beer!