[
https://issues.apache.org/jira/browse/CASSANDRA-197?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12725212#action_12725212
]
Eric Evans commented on CASSANDRA-197:
--------------------------------------
Voldemort does have an rpc'ish remote API like we do, and then they have a
"thick client".
The thick client uses the same bootstrapping mechanism that nodes do so it
knows each of them, their location in the ring, which partitions they are
responsible for, etc. It knows of all the configured stores, the replication
policy, and the serialization used for keys and values.
Reads and writes are made directly against the nodes, so for example, if you do
a read where R=3, the client API determines where all of the copies are and
attempts to fetch 3 of them concurrently. If the corresponding store is
configured for string serialization of the key and java serialization of
values, the client API transparently de-serializes them accordingly.
Obviously the thick client and the nodes share a great deal of common code,
which means it is Java-only.
> Expose ring map to client for more direct access
> ------------------------------------------------
>
> Key: CASSANDRA-197
> URL: https://issues.apache.org/jira/browse/CASSANDRA-197
> Project: Cassandra
> Issue Type: New Feature
> Reporter: Jun Rao
> Assignee: Jun Rao
> Attachments: issue197.patchv1
>
>
> For certain applications, it would be nice if a read is sent to a node that
> owns the data locally. This saves an extra network hop. To do that, a client
> will need to cache the ring map and use it to figure out the nodes owning a
> row.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.