On Sep 18, 2009, at 8:41 PM, Joe Stump wrote:
On Sep 18, 2009, at 9:33 PM, <cont...@shahan.me> wrote:
• ACL
I'm strongly against ACL. Cassandra was built for highly scalable
and highly distributed environments, which always sit behind
firewalls. ALC's can easily be implemented in a service layer in
front of Cassandra.
ACLs could also be implemented as a pluggable model that defaults to
off, if you really needed a per-CF or per-keyspace ACL. Honestly, for
what Cassandra does best, I think it'd have to be as lightweight as
possible.
• Multiple data center replication in the background. maybe a
multi master type thing
It already has this. It was built from the ground up for this. It's
highly tolerant to partitioning and has always available writes. All
replication is done in the background (unless you specifically set a
write to a high consistency level).
You know, it does and it doesn't. RackAwareStrategy isn't a true N+1
scaling solution. Currently, RackAwareStrategy only guarantees that
it will try to replicate data to one other data center and/or one
other rack, depending on the number of replicas specified. It's just
a problem with the logic used, if the partitioner has already found a
node in another data center, it stops caring about whether additional
replicas go to another data center, the same applies to racks...if
it's already found a node in another racks, it stops trying to ensure
additional replicas go to different racks. I'd go into more detail on
this, but it gets into code, so it's really more appropriate for the
dev list, or you can open a JIRA ticket and I'll comment on it in more
detail.
This is something I'm considering working on, after I finish my work
on mapped and classless EndPoint snitches.