Hi,
I am steaming new on Accumulo, but tasked to put it into what used to be
Apache Polygene (now in Attic) as a entity store, one that keeps history.

I have a couple of questions;
1. Assuming that I can guarantee that no one executes any explicit deletes,
can I rely on the mutation sequences not disappearing over time?

2. Part of storing a row, I have a "metadata" qualifier, that contains
static information. But since I don't know whether the row exists without
reading it first, then IIUIC I will fill the "metadata" with the same
information over and over again.... OR, does Accumulo realize that this is
the same byte[] as before and won't update the value, alternatively
creating a new Key, but pointing to the same Value?  I effectively want a
"putIfAbsent()"

3. The Scanner can fetch multiple rows, and constrained by CF and
qualifier. I think that is quite clear. But what does the iterator()
actually return? I presume that it is many key/value paris, of ALL
timestamped values. But what is the order guarantees here? I get the
impression that within a row->cf->qualifier, the returned values are in
timestamp order, newest first. And I think that within a row, I am
guaranteed that the order maintained, i.e. row -> cf -> qualifier (all
ascending). But am I also guaranteed that the iterator is "done" with a row
when the has changed? Or can rows be interleaved in the iterator?

Thanks in advance
Niclas

Reply via email to