<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40"><head><META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=us-ascii"><meta name=Generator content="Microsoft Word 12 (filtered medium)"><style><!--
/* Font Definitions */
@font-face
        {font-family:"Cambria Math";
        panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
        {font-family:Tahoma;
        panose-1:2 11 6 4 3 5 4 4 2 4;}
@font-face
        {font-family:"Arial Black";
        panose-1:2 11 10 4 2 1 2 2 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0in;
        margin-bottom:.0001pt;
        font-size:11.0pt;
        font-family:"Calibri","sans-serif";}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:blue;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {mso-style-priority:99;
        color:purple;
        text-decoration:underline;}
code
        {mso-style-priority:99;
        font-family:"Courier New";}
span.EmailStyle18
        {mso-style-type:personal;
        font-family:"Calibri","sans-serif";
        color:windowtext;}
span.EmailStyle19
        {mso-style-type:personal-reply;
        font-family:"Calibri","sans-serif";
        color:#1F497D;}
.MsoChpDefault
        {mso-style-type:export-only;
        font-size:10.0pt;}
@page WordSection1
        {size:8.5in 11.0in;
        margin:1.0in 1.0in 1.0in 1.0in;}
div.WordSection1
        {page:WordSection1;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]--></head><body lang=EN-US link=blue vlink=purple><div class=WordSection1><p class=MsoNormal><span style='color:#1F497D'>Let me clarify that a bit, after 10 days there will be about 2 – 3 millions records in that bucket, about 200,000 – 300,000 of those records will need to be pruned off nightly.<o:p></o:p></span></p><p class=MsoNormal><span style='color:#1F497D'><o:p> </o:p></span></p><div><p class=MsoNormal><span style='color:#1F497D'>-Chad<o:p></o:p></span></p></div><p class=MsoNormal><span style='color:#1F497D'><o:p> </o:p></span></p><div><div style='border:none;border-top:solid #B5C4DF 1.0pt;padding:3.0pt 0in 0in 0in'><p class=MsoNormal><b><span style='font-size:10.0pt;font-family:"Tahoma","sans-serif"'>From:</span></b><span style='font-size:10.0pt;font-family:"Tahoma","sans-serif"'> riak-users [mailto:riak-users-bounces@lists.basho.com] <b>On Behalf Of </b>Chad Engler<br><b>Sent:</b> Thursday, February 07, 2013 10:53 AM<br><b>To:</b> riak-users@lists.basho.com<br><b>Subject:</b> Nightly Prune<o:p></o:p></span></p></div></div><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>We need records in our database to only live for a certain period of time (and we are using Bitcask). At first glance, <code><span style='font-size:10.0pt'>expiry_secs</span></code><code><span style='font-size:10.0pt;font-family:"Calibri","sans-serif"'> seems to be exactly what we are looking for.<o:p></o:p></span></code></p><p class=MsoNormal><code><span style='font-size:10.0pt;font-family:"Calibri","sans-serif"'><o:p> </o:p></span></code></p><p class=MsoNormal><code><span style='font-size:10.0pt;font-family:"Calibri","sans-serif"'>The problem is, these records need to be pruned when they are older than 10 days *<b>according to date information in the record</b>*, not the time that it was inserted. Many times we will repost events and things from the day before or a week before into riak. So if a week old entry goes in, it should only live for 3 more days before being pruned.<o:p></o:p></span></code></p><p class=MsoNormal><code><span style='font-size:10.0pt;font-family:"Calibri","sans-serif"'><o:p> </o:p></span></code></p><p class=MsoNormal><code><span style='font-size:10.0pt;font-family:"Calibri","sans-serif"'>I've noticed that people are saying map reduces over large buckets are not recommended for things like this, so what is a good way to prune off old entries when they are over 10 days old (according to date data within the record)? Please also note we will have 2 – 3 million keys in a single bucket, which needs to be pruned along with 200,000 – 250,000 keys in another bucket that also need to be pruned.</span></code><o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>Thanks!<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal><b><span style='font-size:10.0pt;font-family:"Arial","sans-serif";color:navy'>Chad Engler</span></b><o:p></o:p></p><p class=MsoNormal><span style='font-size:10.0pt;font-family:"Arial","sans-serif";color:gray'>Telephony Programmer</span><o:p></o:p></p><p class=MsoNormal><span style='font-size:10.0pt;font-family:"Arial Black","sans-serif";color:gray'>PATLive</span><o:p></o:p></p><p class=MsoNormal><span style='font-size:10.0pt;font-family:"Arial","sans-serif";color:gray'>1.800.775.7790 x746</span><o:p></o:p></p><p class=MsoNormal><span style='font-size:10.0pt;font-family:"Arial","sans-serif";color:gray'><a href="mailto:chad.engler@patlive.com"><span style='font-family:"Times New Roman","serif";color:gray'>chad.engler@patlive.com</span></a><o:p></o:p></span></p><p class=MsoNormal><span style='font-size:10.0pt;font-family:"Arial","sans-serif";color:gray'><o:p> </o:p></span></p><p class=MsoNormal><span style='font-size:10.0pt;font-family:"Arial","sans-serif";color:gray'>Hosted Communications | Friendly Service    </span><span style='font-size:10.0pt;font-family:"Arial","sans-serif";color:#4067CD'><a href="http://www.patlive.com/"><span style='font-family:"Times New Roman","serif";color:#4067CD'>www.patlive.com</span></a></span><span style='font-size:10.0pt;font-family:"Arial","sans-serif";color:gray'><o:p></o:p></span></p><p class=MsoNormal><o:p> </o:p></p></div></body></html>