Yes, you can send the AAE (active anti-entropy) data to a different disk.  

AAE calculates a hash each time you PUT new data to the regular database.  AAE 
then buffers around 1,000 hashes (I forget the exact value) to write as a block 
to the AAE database.  The AAE write is NOT in series with the user database 
writes.  Your throughput should not be impacted.  But this is not something I 
have personally measured/validated.

Matthew


On Apr 10, 2014, at 7:33 AM, Edgar Veiga <edgarmve...@gmail.com> wrote:

> Hi Matthew!
> 
> I have a possibility of moving the data of anti-entropy directory to a 
> mechanic disk 7200, that exists on each of the machines. I was thinking of 
> changing the anti_entropy data dir config in app.config file and restart the 
> riak process.
> 
> Is there any problem using a mechanic disk to store the anti-entropy data?
> 
> Best regards!
> 
> 
> On 8 April 2014 23:58, Edgar Veiga <edgarmve...@gmail.com> wrote:
> I'll wait a few more days, see if the AAE maybe "stabilises" and only after 
> that make a decision regarding this.
> The cluster expanding was on the roadmap, but not right now :)
> 
> I've attached a few screenshot, you can clearly observe  the evolution of one 
> of the machines after the anti-entropy data removal and consequent restart  
> (5th of April).
> 
> https://cloudup.com/cB0a15lCMeS
> 
> Best regards!
> 
> 
> On 8 April 2014 23:44, Matthew Von-Maszewski <matth...@basho.com> wrote:
> No.  I do not see a problem with your plan.  But ...
> 
> I would prefer to see you add servers to your cluster.  Scalabilty is one of 
> Riak's fundamental characteristics.  As your database needs grow, we grow 
> with you … just add another server and migrate some of the vnodes there.
> 
> I obviously cannot speak to your budgetary constraints.  All of the engineers 
> at Basho, I am just one, are focused upon providing you performance and 
> features along with your scalability needs.  This seems to be a situation 
> where you might be sacrificing data integrity where another server or two 
> would address the situation.
> 
> And if 2.0 makes things better … sell the extra servers on Ebay.
> 
> Matthew
> 
> 
> On Apr 8, 2014, at 6:31 PM, Edgar Veiga <edgarmve...@gmail.com> wrote:
> 
>> Thanks Matthew!
>> 
>> Today this situation has become unsustainable, In two of the machines I have 
>> an anti-entropy dir of 250G... It just keeps growing and growing and I'm 
>> almost reaching max size of the disks.
>> 
>> Maybe I'll just turn off aae in the cluster, remove all the data in the 
>> anti-entropy directory and wait for the v2 of riak. Do you see any problem 
>> with this?
>> 
>> Best regards!
>> 
>> 
>> On 8 April 2014 22:11, Matthew Von-Maszewski <matth...@basho.com> wrote:
>> Edgar,
>> 
>> Today we disclosed a new feature for Riak's leveldb, Tiered Storage.  The 
>> details are here:
>> 
>> https://github.com/basho/leveldb/wiki/mv-tiered-options
>> 
>> This feature might give you another option in managing your storage volume. 
>> 
>> 
>> Matthew
>> 
>>> On Apr 8, 2014, at 11:07 AM, Edgar Veiga <edgarmve...@gmail.com> wrote:
>>> 
>>>> It makes sense, I do a lot, and I really mean a LOT of updates per key, 
>>>> maybe thousands a day! The cluster is experiencing a lot more updates per 
>>>> each key, than new keys being inserted.
>>>> 
>>>> The hash trees will rebuild during the next weekend (normally it takes 
>>>> about two days to complete the operation) so I'll come back and give you 
>>>> some feedback (hopefully good) on the next Monday!
>>>> 
>>>> Again, thanks a lot, You've been very helpful.
>>>> Edgar
>>>> 
>>>> 
>>>> On 8 April 2014 15:47, Matthew Von-Maszewski <matth...@basho.com> wrote:
>>>> Edgar,
>>>> 
>>>> The test I have running currently has reach 1 Billion keys.  It is running 
>>>> against a single node with N=1.  It has 42G of AAE data.  Here is my 
>>>> extrapolation to compare your numbers:
>>>> 
>>>> You have ~2.5 Billion keys.  I assume you are running N=3 (the default).  
>>>> AAE therefore is actually tracking ~7.5 Billion keys.  You have six nodes, 
>>>> therefore tracking ~1.25 Billion keys per node.
>>>> 
>>>> Raw math would suggest that my 42G of AAE data for 1 billion keys would 
>>>> extrapolate to 52.5G of AAE data for you.  Yet you have ~120G of AAE data. 
>>>>  Is something wrong?  No.  My data is still loading and has experience 
>>>> zero key/value updates/edits.
>>>> 
>>>> AAE hashes get rewritten every time a user updates the value of a key.  
>>>> AAE's leveldb is just like the user leveldb, all prior values of a key 
>>>> accumulate in the .sst table files until compaction removes duplicates.  
>>>> Similarly, a user delete of a key causes a delete tombstone in the AAE 
>>>> hash tree.  Those delete tombstones have to await compactions too before 
>>>> leveldb recovers the disk space.
>>>> 
>>>> AAE's hash trees rebuild weekly.  I am told that the rebuild operation 
>>>> will actually destroy the existing files and start over.  That is when you 
>>>> should see AAE space usage dropping dramatically.
>>>> 
>>>> Matthew
>>>> 
>>>> 
>>>> On Apr 8, 2014, at 9:31 AM, Edgar Veiga <edgarmve...@gmail.com> wrote:
>>>> 
>>>>> Thanks a lot Matthew!
>>>>> 
>>>>> A little bit of more info, I've gathered a sample of the contents of 
>>>>> anti-entropy data of one of my machines:
>>>>> - 44 folders with the name equal to the name of the folders in level-db 
>>>>> dir (i.e. 393920363186844927172086927568060657641638068224/)
>>>>> - each folder has a 5 files (log, current, log, etc) and 5 sst_* folders.
>>>>> - The biggest sst folder is sst_3 with 4.3G
>>>>> - Inside sst_3 folder there are 1219 files name 00****.sst.
>>>>> - Each of the 00*****.sst files has ~3.7M
>>>>> 
>>>>> Hope this info gives you some more help! 
>>>>> 
>>>>> Best regards, and again, thanks a lot
>>>>> Edgar
>>>>> 
>>>>> 
>>>>> On 8 April 2014 13:24, Matthew Von-Maszewski <matth...@basho.com> wrote:
>>>>> Argh. Missed where you said you had upgraded. Ok it will proceed with 
>>>>> getting you comparison numbers. 
>>>>> 
>>>>> Sent from my iPhone
>>>>> 
>>>>> On Apr 8, 2014, at 6:51 AM, Edgar Veiga <edgarmve...@gmail.com> wrote:
>>>>> 
>>>>>> Thanks again Matthew, you've been very helpful!
>>>>>> 
>>>>>> Maybe you can give me some kind of advise on this issue I'm having since 
>>>>>> I've upgraded to 1.4.8.
>>>>>> 
>>>>>> Since I've upgraded my anti-entropy data has been growing a lot and has 
>>>>>> only stabilised in very high values... Write now my cluster has 6 
>>>>>> machines each one with ~120G of anti-entropy data and 600G of level-db 
>>>>>> data. This seems to be quite a lot no? My total amount of keys is ~2.5 
>>>>>> Billions.
>>>>>> 
>>>>>> Best regards,
>>>>>> Edgar
>>>>>> 
>>>>>> On 6 April 2014 23:30, Matthew Von-Maszewski <matth...@basho.com> wrote:
>>>>>> Edgar,
>>>>>> 
>>>>>> This is indirectly related to you key deletion discussion.  I made 
>>>>>> changes recently to the aggressive delete code.  The second section of 
>>>>>> the following (updated) web page discusses the adjustments:
>>>>>> 
>>>>>>     https://github.com/basho/leveldb/wiki/Mv-aggressive-delete
>>>>>> 
>>>>>> Matthew
>>>>>> 
>>>>>> 
>>>>>> On Apr 6, 2014, at 4:29 PM, Edgar Veiga <edgarmve...@gmail.com> wrote:
>>>>>> 
>>>>>>> Matthew, thanks again for the response!
>>>>>>> 
>>>>>>> That said, I'll wait again for the 2.0 (and maybe buy some bigger disks 
>>>>>>> :)
>>>>>>> 
>>>>>>> Best regards
>>>>>>> 
>>>>>>> 
>>>>>>> On 6 April 2014 15:02, Matthew Von-Maszewski <matth...@basho.com> wrote:
>>>>>>> Edgar,
>>>>>>> 
>>>>>>> In Riak 1.4, there is no advantage to using empty values versus 
>>>>>>> deleting.
>>>>>>> 
>>>>>>> leveldb is a "write once" data store.  New data for a given key never 
>>>>>>> physically overwrites old data for the same key.  New data "hides" the 
>>>>>>> old data by being in a lower level, and therefore picked first.
>>>>>>> 
>>>>>>> leveldb's compaction operation will remove older key/value pairs only 
>>>>>>> when the newer key/value is pair is part of a compaction involving both 
>>>>>>> new and old.  The new and the old key/value pairs must have migrated to 
>>>>>>> adjacent levels through normal compaction operations before leveldb 
>>>>>>> will see them in the same compaction.  The migration could take days, 
>>>>>>> weeks, or even months depending upon the size of your entire dataset 
>>>>>>> and the rate of incoming write operations.
>>>>>>> 
>>>>>>> leveldb's "delete" object is exactly the same as your empty JSON 
>>>>>>> object.  The delete object simply has one more flag set that allows it 
>>>>>>> to also be removed if and only if there is no chance for an identical 
>>>>>>> key to exist on a higher level.
>>>>>>> 
>>>>>>> I apologize that I cannot give you a more useful answer.  2.0 is on the 
>>>>>>> horizon.
>>>>>>> 
>>>>>>> Matthew
>>>>>>> 
>>>>>>> 
>>>>>>> On Apr 6, 2014, at 7:04 AM, Edgar Veiga <edgarmve...@gmail.com> wrote:
>>>>>>> 
>>>>>>>> Hi again!
>>>>>>>> 
>>>>>>>> Sorry to reopen this discussion, but I have another question regarding 
>>>>>>>> the former post.
>>>>>>>> 
>>>>>>>> What if, instead of doing a mass deletion (We've already seen that it 
>>>>>>>> will be non profitable, regarding disk space) I update all the values 
>>>>>>>> with an empty JSON object "{}" ? Do you see any problem with this? I 
>>>>>>>> no longer need those millions of values that are living in the 
>>>>>>>> cluster... 
>>>>>>>> 
>>>>>>>> When the version 2.0 of riak runs stable I'll do the update and only 
>>>>>>>> then delete those keys!
>>>>>>>> 
>>>>>>>> Best regards
>>>>>>>> 
>>>>>>>> 
>>>>>>>> On 18 February 2014 16:32, Edgar Veiga <edgarmve...@gmail.com> wrote:
>>>>>>>> Ok, thanks a lot Matthew.
>>>>>>>> 
>>>>>>>> 
>>>>>>>> On 18 February 2014 16:18, Matthew Von-Maszewski <matth...@basho.com> 
>>>>>>>> wrote:
>>>>>>>> Riak 2.0 is coming.  Hold your mass delete until then.  The "bug" is 
>>>>>>>> within Google's original leveldb architecture.  Riak 2.0 sneaks around 
>>>>>>>> to get the disk space freed.
>>>>>>>> 
>>>>>>>> Matthew
>>>>>>>> 
>>>>>>>> 
>>>>>>>> 
>>>>>>>> On Feb 18, 2014, at 11:10 AM, Edgar Veiga <edgarmve...@gmail.com> 
>>>>>>>> wrote:
>>>>>>>> 
>>>>>>>>> The only/main purpose is to free disk space..
>>>>>>>>> 
>>>>>>>>> I was a little bit concerned regarding this operation, but now with 
>>>>>>>>> your feedback I'm tending to don't do nothing, I can't risk the 
>>>>>>>>> growing of space... 
>>>>>>>>> Regarding the overhead I think that with a tight throttling system I 
>>>>>>>>> could control and avoid overloading the cluster.
>>>>>>>>> 
>>>>>>>>> Mixed feelings :S
>>>>>>>>> 
>>>>>>>>> 
>>>>>>>>> 
>>>>>>>>> On 18 February 2014 15:45, Matthew Von-Maszewski <matth...@basho.com> 
>>>>>>>>> wrote:
>>>>>>>>> Edgar,
>>>>>>>>> 
>>>>>>>>> The first "concern" I have is that leveldb's delete does not free 
>>>>>>>>> disk space.  Others have executed mass delete operations only to 
>>>>>>>>> discover they are now using more disk space instead of less.  Here is 
>>>>>>>>> a discussion of the problem:
>>>>>>>>> 
>>>>>>>>> https://github.com/basho/leveldb/wiki/mv-aggressive-delete
>>>>>>>>> 
>>>>>>>>> The link also describes Riak's database operation overhead.  This is 
>>>>>>>>> a second "concern".  You will need to carefully throttle your delete 
>>>>>>>>> rate or the overhead will likely impact your production throughput.
>>>>>>>>> 
>>>>>>>>> We have new code to help quicken the actual purge of deleted data in 
>>>>>>>>> Riak 2.0.  But that release is not quite ready for production usage.
>>>>>>>>> 
>>>>>>>>> 
>>>>>>>>> What do you hope to achieve by the mass delete?
>>>>>>>>> 
>>>>>>>>> Matthew
>>>>>>>>> 
>>>>>>>>> 
>>>>>>>>> 
>>>>>>>>> 
>>>>>>>>> On Feb 18, 2014, at 10:29 AM, Edgar Veiga <edgarmve...@gmail.com> 
>>>>>>>>> wrote:
>>>>>>>>> 
>>>>>>>>>> Sorry, forgot that info!
>>>>>>>>>> 
>>>>>>>>>> It's leveldb.
>>>>>>>>>> 
>>>>>>>>>> Best regards
>>>>>>>>>> 
>>>>>>>>>> 
>>>>>>>>>> On 18 February 2014 15:27, Matthew Von-Maszewski 
>>>>>>>>>> <matth...@basho.com> wrote:
>>>>>>>>>> Which Riak backend are you using:  bitcask, leveldb, multi?
>>>>>>>>>> 
>>>>>>>>>> Matthew
>>>>>>>>>> 
>>>>>>>>>> 
>>>>>>>>>> On Feb 18, 2014, at 10:17 AM, Edgar Veiga <edgarmve...@gmail.com> 
>>>>>>>>>> wrote:
>>>>>>>>>> 
>>>>>>>>>> > Hi all!
>>>>>>>>>> >
>>>>>>>>>> > I have a fairly trivial question regarding mass deletion on a riak 
>>>>>>>>>> > cluster, but firstly let me give you just some context. My cluster 
>>>>>>>>>> > is running with riak 1.4.6 on 6 machines with a ring of 256 nodes 
>>>>>>>>>> > and 1Tb ssd disks.
>>>>>>>>>> >
>>>>>>>>>> > I need to execute a massive object deletion on a bucket, I'm 
>>>>>>>>>> > talking of ~1 billion keys (The object average size is ~1Kb). I 
>>>>>>>>>> > will not retrive the keys from riak because a I have a file with 
>>>>>>>>>> > all of them. I'll just start a script that reads them from the 
>>>>>>>>>> > file and triggers an HTTP DELETE for each one.
>>>>>>>>>> > The cluster will continue running on production with a quite high 
>>>>>>>>>> > load serving all other applications, while running this deletion.
>>>>>>>>>> >
>>>>>>>>>> > My question is simple, do I need to have any kind of extra 
>>>>>>>>>> > concerns regarding this action? Do you advise me on taking special 
>>>>>>>>>> > attention to any kind of metrics regarding riak or event the 
>>>>>>>>>> > servers where it's running?
>>>>>>>>>> >
>>>>>>>>>> > Best regards!
>>>>>>>>>> > _______________________________________________
>>>>>>>>>> > riak-users mailing list
>>>>>>>>>> > riak-users@lists.basho.com
>>>>>>>>>> > http://lists.basho.com/mailman/listinfo/riak-users_lists.basho.com
>>>>>>>>>> 
>>>>>>>>>> 
>>>>>>>>> 
>>>>>>>>> 
>>>>>>>> 
>>>>>>>> 
>>>>>>>> 
>>>>>>> 
>>>>>>> 
>>>>>> 
>>>>>> 
>>>>> 
>>>> 
>>>> 
>>> 
>> 
>> 
> 
> 
> 

_______________________________________________
riak-users mailing list
riak-users@lists.basho.com
http://lists.basho.com/mailman/listinfo/riak-users_lists.basho.com

Reply via email to