Scylla é o banco de dados de big data em tempo real compatível com API com Apache Cassandra e Amazon DynamoDB. O Scylla adota uma abordagem sem compartilhamento que aumenta o rendimento e a capacidade de armazenamento para obter melhorias de desempenho de ordem de grandeza e reduzir custos de hardware.
Para obter mais informações, consulte o site do ScyllaDB.
Scylla é bastante exigente com seu ambiente de construção, exigindo versões muito recentes do compilador C++23 e de muitas bibliotecas para construir. O documento HACKING.md inclui informações detalhadas sobre a construção e desenvolvimento do Scylla, mas para que o Scylla seja construído rapidamente em (quase) qualquer máquina de construção, o Scylla oferece um conjunto de ferramentas congelado. Esta é uma imagem Docker pré-configurada que inclui versões recentes de todos os requisitos necessários. compiladores, bibliotecas e ferramentas de construção. Usar o conjunto de ferramentas congelado permite evitar alterar qualquer coisa em sua máquina de construção para atender aos requisitos do Scylla - você só precisa atender aos pré-requisitos do conjunto de ferramentas congelado (principalmente, Docker ou Podman estando disponíveis).
Construir o Scylla com o conjunto de ferramentas congelado dbuild
é tão fácil quanto:
$ git submodule update --init --force --recursive
$ ./tools/toolchain/dbuild ./configure.py
$ ./tools/toolchain/dbuild ninja build/release/scylla
Para mais informações, consulte:
Para iniciar o servidor Scylla, execute:
$ ./tools/toolchain/dbuild ./build/release/scylla --workdir tmp --smp 1 --developer-mode 1
Isso iniciará um nó Scylla com um núcleo de CPU alocado para ele e arquivos de dados armazenados no diretório tmp
. O --developer-mode
é necessário para desativar as diversas verificações que o Scylla realiza na inicialização para garantir que a máquina esteja configurada para desempenho máximo (não relevante em estações de trabalho de desenvolvimento). Observe que você precisa executar o Scylla com dbuild
se o construiu com o conjunto de ferramentas congelado.
Para mais opções de execução, execute:
$ ./tools/toolchain/dbuild ./build/release/scylla --help
Consulte o manual test.py.
Por padrão, o Scylla é compatível com Apache Cassandra e sua API - CQL. Também há suporte para a API do Amazon DynamoDB™, que precisa ser habilitada e configurada para ser usada. Para obter mais informações sobre como habilitar a API do DynamoDB™ no Scylla e a compatibilidade atual desse recurso, bem como extensões específicas do Scylla, consulte Alternator e Conceitos básicos do Alternator.
A documentação pode ser encontrada aqui. A documentação do Seastar pode ser encontrada aqui. A documentação do usuário pode ser encontrada aqui.
Material de treinamento e cursos online podem ser encontrados na Scylla University. Os cursos são gratuitos, individualizados e incluem exemplos práticos. Eles cobrem uma variedade de tópicos, incluindo modelagem de dados Scylla, administração, arquitetura, conceitos básicos de NoSQL, uso de drivers para desenvolvimento de aplicativos, configuração do Scylla, failover, compactações, multi-datacenters e como o Scylla se integra a aplicativos de terceiros.
Se você deseja relatar um bug ou enviar uma solicitação pull ou patch, leia as diretrizes de contribuição.
Se você é um desenvolvedor trabalhando no Scylla, leia as diretrizes do desenvolvedor.