Scylla 是实时大数据数据库,与 Apache Cassandra 和 Amazon DynamoDB API 兼容。 Scylla 采用无共享方法,可提高吞吐量和存储容量,从而实现数量级的性能改进并降低硬件成本。
有关详细信息,请参阅 ScyllaDB 网站。
Scylla 对于其构建环境相当挑剔,需要最新版本的 C++23 编译器和许多库才能构建。文档 HACKING.md 包含有关构建和开发 Scylla 的详细信息,但为了让 Scylla 在(几乎)任何构建机器上快速构建,Scylla 提供了一个冻结的工具链,这是一个预配置的 Docker 映像,其中包括所有必需的最新版本编译器、库和构建工具。使用冻结工具链可以让您避免更改构建机器中的任何内容来满足 Scylla 的要求 - 您只需要满足冻结工具链的先决条件(主要是 Docker 或 Podman 可用)。
使用冻结工具链dbuild
构建 Scylla 非常简单:
$ git submodule update --init --force --recursive
$ ./tools/toolchain/dbuild ./configure.py
$ ./tools/toolchain/dbuild ninja build/release/scylla
欲了解更多信息,请参阅:
要启动 Scylla 服务器,请运行:
$ ./tools/toolchain/dbuild ./build/release/scylla --workdir tmp --smp 1 --developer-mode 1
这将启动一个 Scylla 节点,分配一个 CPU 核心,并将数据文件存储在tmp
目录中。需要--developer-mode
来禁用 Scylla 在启动时执行的各种检查,以确保机器配置为最大性能(与开发工作站无关)。请注意,如果您使用冻结的工具链构建 Scylla,则需要使用dbuild
运行 Scylla。
如需更多运行选项,请运行:
$ ./tools/toolchain/dbuild ./build/release/scylla --help
请参阅 test.py 手册。
默认情况下,Scylla 与 Apache Cassandra 及其 API - CQL 兼容。还支持 Amazon DynamoDB™ 的 API,需要启用并配置该 API 才能使用。有关如何在 Scylla 中启用 DynamoDB™ API 以及此功能的当前兼容性以及 Scylla 特定扩展的更多信息,请参阅 Alternator 和 Alternator 入门。
可以在此处找到文档。 Seastar 文档可在此处找到。用户文档可以在这里找到。
培训材料和在线课程可以在锡拉大学找到。这些课程是免费的、自定进度的,并包含实践示例。它们涵盖了各种主题,包括 Scylla 数据建模、管理、架构、基本 NoSQL 概念、使用驱动程序进行应用程序开发、Scylla 设置、故障转移、压缩、多数据中心以及 Scylla 如何与第三方应用程序集成。
如果您想报告错误或提交拉取请求或补丁,请阅读贡献指南。
如果您是 Scylla 的开发人员,请阅读开发人员指南。