Scylla DB与Apache Cassandra比较 - javacodegeeks

20-10-20 banq

ScyllaDB是高性能的、低延迟、成本优化的的NoSQL数据库。ScyllaDB提供了低延迟和高吞吐量,而其成本仅为其他NoSQL数据库的一小部分。ScyllaDB使用C ++重新实现了Cassandra,以提高性能并利用多核服务。它解决了Apache Cassandra的一些陷阱,是Apache Cassandra的嵌入式替换数据库。本文提供了Apache Cassandra和Scylla DB之间功能,优化和性能的快速比较。

 

Scylla DB vs Cassandra –相似之处

  • 两者都是NoSql数据库。
  • ScyllaDB用C ++编写,而Cassandra用Java编写。
  • 两个数据库几乎共享相同的体系结构。
  • 随着添加更多的节点,两者都线性缩放。
  • 两者都赞成可用性而不是一致性。
  • 这两个数据库之间的兼容驱动程序。

 

Scylla DB与Cassandra –差异

  • Cassandra用Java编写,而ScyllaDB用C ++编写。
  • Scylla DB使用Seastar Framework。
  • Scylla具有每芯线程设计。
  • Scylla使用异步网络。
  • Scylla具有基于Future / Promise的API。
  • 垃圾收集发生在Cassandra,Scylla中没有垃圾收集。
  • Scylla是Cassandra的替代品。
  • Cassandra基于多线程,ScylaDB基于每核线程模型。
  • 新版Scylla中的“种子节点”简化。
  • 使用Cassandra时,需要使用侧面/外部缓存来提高性能。Scylla提供内存中缓存。
  • 与Cassandra相比,ScyllaDB的配置更少,并利用“工作负载条件”基于深度学习技术来自动调整Memtable刷新和SSTable压缩。
  • Cassandra需要Seed节点来引导加入集群的新节点。ScyllaDB是用无种子架构实现的。

 

性能

  • 性能– Scylla在相同硬件上的性能是其10倍。
  • CPU资源– Scylla通过避免将程序加载到JVM中来减少CPU资源的使用。
  • 内存管理– Scylla更灵活,具有复杂的内存管理。
  • 延迟–由于没有共享和新颖的无锁设计,Scylla在较高的百分位数上提供了低延迟。
  • 缓存– Scylla减少了对外部缓存的需求,并提供了内存中缓存。
  • LWT(轻量级交易)– Scylla通常使用的轮次少于Cassandra来完成LWT。卡桑德拉(Cassandra)需要先阅读,然后才能写轻量级Trsnacations。
  • 处理尖峰– Scylla中可以使用“工作负载优先级”来处理偶尔出现的尖峰流量。

 

         

1
猜你喜欢