在Scylla年度峰会上,ScyllaDB发布了其旗舰产品ScyllaDB Open Source的 3.0 版本。正如新闻稿所言:
这次发布标志着一个重要的里程碑。作为Apache Cassandra的替代,Scylla Open Source 增加了 NoSQL 社区非常期待的、已经生产就绪的功能,同时引入了提高利用率和最小化运营开销的新特性。
ScyllaDB的新特性包括:并发OLTP和OLAP;物化视图;二级索引;兼容 Cassandra 3.x 文件格式。
为了在多核硬件上实现最佳性能,ScyllaDB 集成了Seastar,这是一个用于高性能服务器应用程序的高级开源框架。Seastar 的架构创新包括:
“无共享设计(Shared-nothing design)”,请求会被分到单个内核上;
高性能网络,支持多网络模式;
一个面向并发应用程序的新模型Futures and Promises;
在内核之间共享信息的消息传递。
入门
下载并开始使用开源版本的 ScyllaDB,有许多选择。作为最简单的选项,ScyllaDB 推荐 Docker 选项。例如,使用 Docker 启动 ScyllaDB 的单个实例:
在 Docker 下载并提取必要的文件之后,ScyllaDB 就可以使用了。以下 Docker 命令启动 Cassandra 查询语言 shell CQLsh,以执行 ScyllaDB 命令,用于通常的管理和数据库操作:
对于 Cassandra 的当前用户,ScyllaDB 大致介绍了从Cassandra迁移到 ScyllaDB 的过程。
ScyllaDB 还提供了一个企业版,该版本具有以下优点:集群管理、任务自动化、24/7 关键任务支持、长期支持、专有许可证。ScyllaDB路线图是即将发布的 ScyllaDB Open Source 和企业版特性的预览。
ScyllaDB 首席执行官Dor Laor向 InfoQ 介绍了这个最新版本。
InfoQ:相对于其他 NoSQL 数据库,基于 Apache Cassandra 创建 ScyllaDB 的灵感是什么?
Dor Laor*:这是个好问题。回到 2014 年我们刚起步的时候,我们看到 Cassandra 拥有庞大的用户基础,并且在一些方面做得非常好,比如横向扩展,但是它存在一些*性能问题。我们决定效仿 Cassandra 的优点,比如:
- “无主复制(masterless replication)”
- “横向线性扩展(linear horizontal scalability)”
- “全球分布(global distribution)”
- 可调节的一致性
- 简单直观的数据模型
这些都是构建分布式数据库的可靠特性。然而,尽管如此,我们还是对 Cassandra 的局限性睁大了眼睛。我们知道这是一个很好的基线,但我们也知道还有很多改进的空间。
InfoQ:Cassandra 是用 Java 编写的。为什么选择使用 C++编写 ScyllaDB?
*Laor:*C++功能强大、速度快、效率高。它非常适合管理大量的内存,可以进行大粒度、高精度、低层次的控制。
InfoQ: 与其他 NoSQL 数据库相比,ScyllaDB 有什么独特之处?
Laor*:除了*吞吐量非常高、延迟一贯较低之外,我们是一个自优化数据库,其设计适合于伸缩。
我们来谈谈优化。我们在 Cassandra 和许多其他数据库中看到的一个关键问题是,开发人员需要大量的专业知识和时间来对性能进行优化。所以,我们从一开始就在 Scylla 中加入了自调整和自优化功能。
Scylla 是由对操作系统有深入认识和对控制理论有全面理解的人编写的。这些知识反映在 Scylla 利用现代多核/多 CPU 系统的方式上,从它的无共享、“按核分片(shard-per-core)”、构建在Seastar之上的异步架构,到它的自适应自动调优等简化管理的特性。许多其他数据库的开发人员并不是从这个底层的角度出发的,结果显示在它们的性能和可伸缩性上,既包括横向,也包括纵向。
对于用户来说,这意味着我们可以极大地缩小他们的服务器群占用的空间,节省大量的运营成本,并使他们的系统获得更好的性能。
InfoQ:ScyllaDB 未来会推出什么特性?
Laor*:我们正在进一步深化对系统架构(如 CPU 和 I/O 调度程序)的控制,以提供在同一个数据库集群上共享*OLTP和OLAP活动的独一无二的新方法。这使得数据库管理员可以创建角色并为每个用户分配 SLA,以便更细粒度地控制哪些活动在系统利用方面优先。
实时工作负载获得最高的优先级,而其他工作负载(如分析)则获得最有效的方法,并且只有在有空闲容量时才执行。与目前的做法相比,这是一个很大的改进:为了在不影响事务数据库的情况下运行分析,用户被迫在一个完全独立的集群上克隆和维护他们的完整数据集。
我们还打算用Scylla Cloud颠覆数据库即服务(DBaaS)市场,并于近期启动了我们的“早期访问”计划。基于我们的 Scylla Enterprise 数据库,Scylla Cloud 实现高吞吐量需要的机器要少得多,它将是一个引人注目的产品——三分之一的延迟,五分之一的成本,最重要的是,没有供应商锁定。
我们感兴趣的另一个领域是混合存储部署。我们已经发布了Scylla Enterprise 2018.1.7,它提供了一个内存内选项,可以快速读取任务关键数据表。这只是我们预见到的许多内存和分层存储混合部署选项中的第一个,特别地,我们看到这样一些发展,固态驱动器的密度和性能越来越高、持久性内存的出现。
另外,特别是对于我们的企业客户,我们有许多计划中的安全特性,从静止加密到基于角色的访问控制(RBAC)和安全的 nodetool 连接,以及集成 Kerberos 和轻量级目录访问协议(LDAP)。
要了解关于这些特性和未来其他特性的更多信息,请查看我们公开发布的路线图。
查看英文原文:ScyllaDB Announces Major Release of its NoSQL Database and Support for Concurrent OLTP and OLAP
评论 1 条评论