scylladb

C/C++ 2025-08-07

Scylla

什么是Scylla?

Scylla是与Apache Cassandra和Amazon DynamoDB API兼容的实时大数据数据库。 Scylla采用了一种共享的方法,可以增加吞吐量和存储能力,以实现刻板级的性能改善并降低硬件成本。

有关更多信息,请参阅scylladb网站。

建立先决条件

Scylla对其构建环境相当挑剔,需要C ++ 23编译器的最新版本以及许多要构建的库。文档hacking.md包含有关构建和开发Scylla的详细信息,但是为了在任何构建机器上快速构建Scylla构建,Scylla提供了冷冻工具链,这是一个预先配置的Docker映像,其中包括所有必需的编译器,库,库和构建工具的最新版本。使用冷冻工具链可让您避免更改构建计算机中的任何内容以满足Scylla的要求 - 您只需要满足冷冻工具链的先决条件(主要是可用的是Docker或Podman)即可。

建筑Scylla

用冷冻工具链dbuild建造Scylla很容易:

$ git submodule update --init --force --recursive
$ ./tools/toolchain/dbuild ./configure.py
$ ./tools/toolchain/dbuild ninja build/release/scylla

有关更多信息,请参阅:

  • 开发人员文档以获取有关建筑Scylla的更多信息。
  • 构建有关如何构建Scylla二进制文件,测试和软件包的文档。
  • Docker Image构建文档,以获取有关如何构建Docker图像的信息。

运行Scylla

要启动Scylla服务器,请运行:

$ ./tools/toolchain/dbuild ./build/release/scylla --workdir tmp --smp 1 --developer-mode 1

这将启动一个Scylla节点,其中一个分配给它的CPU核心以及存储在TMP目录中的数据文件。需要 - 开发器模式来禁用Scylla在启动时性能,以确保配置机器以获得最大的性能(与开发工作站无关)。请注意,如果您使用冷冻工具链构建scylla,则需要使用scylla。

有关更多运行选项,请运行:

$ ./tools/toolchain/dbuild ./build/release/scylla --help

测试

请参阅test.py手册。

Scylla API和兼容性

默认情况下,Scylla与Apache Cassandra及其API -CQL兼容。还支持Amazon DynamoDB™的API,需要启用和配置才能使用。有关如何在Scylla中启用DynamoDB™API的更多信息,以及此功能的当前兼容性以及Scylla特定的扩展,请参见交流发电机并开始使用交流发电机。

文档

文档可以在这里找到。 Seastar文档可以在这里找到。用户文档可以在此处找到。

训练

可以在Scylla大学找到培训材料和在线课程。这些课程是免费的,自节奏的,包括动手实例。它们涵盖了各种主题,包括Scylla数据建模,管理,体系结构,基本NOSQL概念,使用驱动程序进行应用程序开发,Scylla设置,故障转移,压实,多名化,以及Scylla与第三方应用程序的集成方式。

为Scylla做出贡献

如果要报告错误或提交拉动请求或补丁,请阅读贡献指南。

如果您是从事Scylla的开发人员,请阅读开发人员指南。

接触

  • 社区论坛和Slack频道供用户讨论scylladb的配置,管理和操作。
  • 开发人员邮寄列表是针对有兴趣遵循scylladb开发的开发人员和人们讨论技术主题的。
下载源码

通过命令行克隆项目:

git clone https://github.com/scylladb/scylladb.git