Erlang 是否有稳定的 Cassandra 库?我好像找不到
4 回答
我遇到了同样的问题。在对大多数可用的 Cassandra 驱动程序进行基准测试后,我决定基于datastax cpp driver启动一个新的驱动程序Erlcass。
datastax cpp 驱动程序具有令人难以置信的性能并且它是完全异步的。
从我在集群上的测试中,其他 erlang 驱动程序使用 datastax 无法达到超过 10k 读取/秒,我能够获得超过 60k/s。
Datastax 驱动程序和 Erlcass 之间存在细微差别,但在相同的情况下我仍然能够达到超过 50k 读取/秒。
大部分开销来自将数据转换为 erlang 术语,反之亦然。
改进界面和性能的工作正在进行中。目前未准备好的语句需要一些更改。
Apache Cassandra 使用Thrift。所以你需要做的就是为 Erlang ( thrift --gen erl interface/cassandra.thrift
)生成 thrift 绑定
来自 Apache Thrift 维基:
Thrift 有 C++、C#、Erlang、Haskell、Java、Objective C/Cocoa、OCaml、Perl、PHP、Python、Ruby 和 Squeak 的生成器
(如果您正在寻找更“高级客户端”库,那么我不知道。)
我写了一个简单的 Cassandra erlang 客户端。看看这个! https://github.com/lpgauth/cassanderl
根据Eric Evans 的视频,如果可能的话,你应该避免通过 Thrift API 使用 Cassandra。