ScyllaDB发布其NoSQL数据库的主要版本,支持并发OLTP和OLAP

Scylla年度峰会上,ScyllaDB发布了其旗舰产品ScyllaDB Open Source的3.0版本。正如新闻稿所言:

这次发布标志着一个重要的里程碑。作为Apache Cassandra的替代,Scylla Open Source增加了NoSQL社区非常期待的、已经生产就绪的功能,同时引入了提高利用率和最小化运营开销的新特性。

ScyllaDB的新特性包括:并发OLTP和OLAP;物化视图;二级索引;兼容Cassandra 3.x文件格式。

为了在多核硬件上实现最佳性能,ScyllaDB集成了Seastar,这是一个用于高性能服务器应用程序的高级开源框架。Seastar的架构创新包括:

入门

下载并开始使用开源版本的ScyllaDB,有许多选择。作为最简单的选项,ScyllaDB推荐Docker选项。例如,使用Docker启动ScyllaDB的单个实例:

$ docker run --name scylla -d scylladb/scylla

在Docker下载并提取必要的文件之后,ScyllaDB就可以使用了。以下Docker命令启动Cassandra查询语言shell CQLsh,以执行ScyllaDB命令,用于通常的管理和数据库操作:

$ docker exec -it scylla cqlsh

对于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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章