【T112017-数据工程和技术分会场】SCYLLA-NoSQLatLudicrousSpeed_38页_10mb
报告摘要
ScyllaDB 总结
核心内容
ScyllaDB 是一个高性能、高可用性的 NoSQL 数据库,旨在替代 Apache Cassandra。它通过优化设计和使用 C++14 编写,实现了比 Cassandra 更低的延迟和更高的吞吐量。ScyllaDB 由 KVM 虚拟化技术的创建者开发,并于 2016 年第一季度发布通用可用版本。目前,ScyllaDB 在多个行业和公司中得到了广泛应用,包括 IBM、Investing.com、AppNexus、musical.ly 等。
主要观点
- 性能优化:ScyllaDB 通过使用 C++14 编写,避免了 Java 虚拟机(JVM)的垃圾回收(GC)问题,从而实现了更低的延迟和更高的吞吐量。
- 高可用性:ScyllaDB 提供了与 Cassandra 相同的高可用性(HA)特性,同时具备更好的故障恢复能力和一致性保证。
- 架构设计:ScyllaDB 采用线程池、锁自由机制、统一缓存、任务调度器等设计,以实现无妥协的性能和可用性。
- 扩展性:ScyllaDB 支持线性扩展,可以通过增加硬件资源来提升性能,同时减少维护成本和复杂度。
- 生态系统兼容性:ScyllaDB 与 Cassandra 兼容,支持广泛的生态系统集成,如 Spark、Presto、Kafka、Elastic 等。
关键信息
与 Cassandra 的对比
- 吞吐量:ScyllaDB 每节点可处理超过 100 万次操作,而 Cassandra 每节点处理约 50 万次操作。
- 延迟:ScyllaDB 的 99% 百分位延迟低于 1 毫秒,而 Cassandra 的延迟较高。
- 硬件利用:ScyllaDB 能够更好地利用硬件资源,减少集群规模。
- 缓存机制:ScyllaDB 采用统一缓存机制,而 Cassandra 需要依赖外部缓存(如 Memcached)。
案例研究
- Outbrain:使用 ScyllaDB 后,延迟降低到个位数毫秒,无需更改任何代码。
- Investing.com:ScyllaDB 使集群规模减半,同时解决了 Cassandra 的 GC 问题。
- AppNexus:ScyllaDB 减少了硬件成本,提升了吞吐量和延迟。
- musical.ly:ScyllaDB 提供了与 Cassandra 相同的 API,但性能显著提升。
技术特点
- 统一缓存:ScyllaDB 采用统一缓存机制,优化了数据访问效率。
- 任务调度器:ScyllaDB 有自己的任务调度器,支持无共享的并行事件处理。
- I/O 调度:ScyllaDB 采用无队列的 I/O 调度机制,提升了磁盘并发性能。
- 日志结构化分配器:ScyllaDB 使用日志结构化分配器,提高了数据写入和读取效率。
- DMA 和零拷贝:ScyllaDB 支持 DMA 和零拷贝技术,减少了数据传输延迟。
- 工作负载条件化:ScyllaDB 支持工作负载条件化,优化了不同场景下的性能表现。
未来发展方向
- 企业版发布:基于 1.6 版本的企业版即将发布。
- 1.7 版本:2017 年 5 月发布,新增了计数器、新的节点分片算法等功能。
- 2.0 版本:2017 年 9 月发布,引入了材料化视图、部分行缓存、热权重负载均衡等特性。
资源与支持
- 联系邮箱:dor@scylladb.com 和 avi@scylladb.com
- GitHub 仓库:https://github.com/scylladb/scylla
- 博客:https://scylladb.com/blog
- 社交媒体:@scylladb
- 视频资源:https://youtube.com/c/scylladb
- 幻灯片分享:https://slideshare.net/ScyllaDB
结论
ScyllaDB 是一个高性能、高可用性的 NoSQL 数据库,旨在替代 Apache Cassandra。它通过优化设计和使用 C++14 编写,实现了更低的延迟和更高的吞吐量。ScyllaDB 在多个行业和公司中得到了广泛应用,包括 IBM、Investing.com、AppNexus、musical.ly 等。其统一缓存、任务调度器、I/O 调度等技术特点,使其在性能和可用性方面具有显著优势。未来,ScyllaDB 将继续发展,引入更多企业级功能和优化,以满足不断增长的市场需求。
展开完整摘要
试读结束,高清完整版pdf/doc/ppt,请点下载