Comments (4)
Just wondering if anyone working on this? DataStax implemented this feature in its driver. This binary protocol seems to offer x2-3 performance increase for the batch inserts in our application.
from fluentcassandra.
Nobody right now. Do you want to take it?
Nick Berardi
(484) 302-0125
Sent on the go from my phone.
On Jul 26, 2013, at 7:11 AM, Oleksii Mandrychenko [email protected]
wrote:
Just wondering if anyone working on this? DataStax implemented this feature
in its driver. This binary protocol seems to offer x2-3 performance
increase for the batch inserts in our application.
—
Reply to this email directly or view it on
GitHubhttps://github.com//issues/59#issuecomment-21614636
.
from fluentcassandra.
I would like to do minor contribution, such as writing tests and implementing tiny little features. So if someone knows the details of the protocol and have vision to do it, I would like to assist.
Probably cannot do more due to other commitments and lack of knowledge.
from fluentcassandra.
I've given this issue some thought as of late... Eventually we're going to have to add support for the native protocol when DataStax starts introducing features that depend on it.
As I understand it, the network protocol itself is just protobuffs with framed messages. DataStax implemented this themselves in their CQL3 driver as did CqlSharp (https://github.com/reuzel/CqlSharp) - we could follow suit or add a dependency for a protobuff implementation like https://code.google.com/p/protobuf-net/ and add the framing rules on top of it.
The more complicated part, IMHO, is backwards compatibility with existing Thrift-only clients. Would we maintain separate native protocol connection pools? Require a given CassandraContext to be native-only or Thrift-only? Mix-and-match?
I don't really have a good answer to the latter, but if I had to make a decision right now I would go with the "network type" as something that has to be specified during configuration of a CassandraContext.
It can't be changed after the context is created and maintains separate connection pools for Thrift vs. Native if someone is using both types of connections inside a single AppDomain, which is what you'd expect to see in the case of a legacy FluentCassandra user who's gradually migrating over to CQL3.
Thoughts?
from fluentcassandra.
Related Issues (20)
- FluentCassandra Thrift transport throws exception after idling due to Cassandra connection closed HOT 16
- Exception at insertion of an item with PRIMARY KEY of type BLOB HOT 8
- Composite columns HOT 4
- Direct Contributors Nomination HOT 2
- Is this fix the right thing to do? fix for issue #75: making sure null columns gets a proper default value HOT 6
- Error message reverses column family and keyspace in response
- High CPU utilization when reading with FluentCassandra HOT 1
- Memory leaking when working with large super columns
- Support for Blob Constant HOT 3
- exception should be thrown when cassandra is down HOT 2
- thrift client throws failed: unknown result or Bad protocol identifier HOT 3
- Switching build system to Albacore / Rake HOT 1
- Push Latest Code To NuGet HOT 1
- SingleServerManager goes into silent spin-loop on server failure HOT 14
- add Prepared Statement support
- Need updated documentation and more examples
- Incorrect code in MultiGetColumnCount.cs HOT 2
- Inserting composite key using API fails
- Various objects leaking HOT 5
- Multi-keyspace clusters cannot take advantage of connection pooling HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from fluentcassandra.