프로젝트 소개

Scylla는 Seastar 프레임워크 기반으로 구축된 오픈소스 NoSQL 데이터 저장소입니다. 목표는 Apache Cassandra 및 Amazon DynamoDB와의 API 호환성이며, shared-nothing 아키텍처를 사용하여 처리량과 저장 용량을 높입니다. 호환성 및 API - 기본적으로 Scylla는 Apache Cassandra 및 해당 CQL API와 호환됩니다. - Amazon DynamoDB API 지원은 사용 가능하지만 활성화 및 구성이 필요합니다. README에서는 이를 활성화하는 방법, 현재 호환성, Scylla 특화 확장에 대한 자세한 내용을 위해 Alternator 문서와 시작 가이드를 안내합니다. 빌드 Scylla는 빌드 요구 사항이 엄격하여 최신 C++23 컴파일러와 많은 라이브러리가 필요합니다. 이를 단순화하기 위해 프로젝트는 "frozen toolchain"을 제공합니다. 이는 필요한 컴파일러, 라이브러리 및 빌드 도구를 포함하는 사전 구성된 Docker 이미지입니다. 이를 사용하면 dbuild 래퍼를 통해 빌드합니다: - git submodule update --init --force --recursive - ./tools/toolchain/dbuild ./configure.py - ./tools/toolchain/dbuild ninja build/release/scylla 추가 빌드 세부 사항은 HACKING.md, docs/dev/building.md, 그리고 dist/docker/redhat/README.md 아래의 Docker 이미지 빌드 문서에 있습니다. 실행 dbuild로 서버를 시작할 수 있습니다. 예: ./tools/toolchain/dbuild ./build/release/scylla --workdir tmp --smp 1 --developer-mode 1 이는 CPU 코어 하나와 tmp 디렉터리의 데이터 파일로 노드를 시작합니다. --developer-mode 플래그는 최대 성능을 위해 머신이 튜닝되었는지 확인하기 위한 시작 검사를 비활성화하며, 이는 개발 워크스테이션에서는 관련이 없습니다. 바이너리가 frozen toolchain으로 빌드된 경우 dbuild로 실행해야 합니다. 추가 옵션은 --help로 확인할 수 있습니다. 테스트 및 CI README는 test.py 매뉴얼(docs/dev/testing.md)을 참조하고, 최신 Seastar로 빌드, 재현 가능한 빌드 확인, clang-nightly에 대한 CI 배지를 보여줍니다. 문서 및 교육 개발자 문서는 docs/dev/README.md에 있고, Seastar 문서는 별도로 호스팅되며, 사용자 문서는 docs.scylladb.com에 있습니다. 무료 자기 주도 학습 자료와 온라인 강좌는 Scylla University에서 제공되며, 데이터 모델링, 관리, 아키텍처, 기본 NoSQL 개념, 드라이버, 설정, 장애 조치, 컴팩션, 다중 데이터센터 설정, 서드파티 통합을 다룹니다. 기여 및 커뮤니티 버그 보고, 풀 리퀘스트 및 패치는 기여 가이드라인(CONTRIBUTING.md)을 따릅니다. 개발자는 HACKING.md를 읽어야 합니다. 커뮤니티 채널로는 구성, 관리 및 운영 논의를 위한 포럼과 Slack, 기술 개발 주제를 위한 개발자 메일링 리스트가 있습니다.