Apache Cassandra는 확장성이 뛰어난 분할 행 저장소입니다. 행은 필수 기본 키가 있는 테이블로 구성됩니다.
파티셔닝은 Cassandra가 애플리케이션에 투명한 문제로 여러 시스템에 데이터를 배포할 수 있음을 의미합니다. Cassandra는 머신이 클러스터에 추가되고 제거될 때 자동으로 다시 파티션을 나눕니다.
행 저장소는 관계형 데이터베이스와 마찬가지로 Cassandra가 데이터를 행과 열로 구성한다는 것을 의미합니다. CQL(Cassandra Query Language)은 SQL과 가까운 언어입니다.
자세한 내용은 Apache Cassandra 웹 사이트를 참조하세요.
문제는 Cassandra Jira에 보고되어야 합니다.
Java: build.xml에서 지원되는 버전을 확인하세요("java.supported" 속성 검색).
Python: cqlsh
의 경우 bin/cqlsh
("is_supported_version" 함수 검색)를 참조하세요.
이 짧은 가이드는 기본 1노드 클러스터를 시작하고 실행하는 과정을 안내하고 몇 가지 간단한 읽기 및 쓰기를 보여줍니다. 더 완전한 가이드를 보려면 Apache Cassandra 웹사이트의 시작 가이드를 참조하세요.
먼저 아카이브의 압축을 풀어보겠습니다.
$ tar -zxvf apache-cassandra-$VERSION.tar.gz $ CD 아파치-카산드라-$버전
그 후에 서버를 시작합니다. -f 인수를 사용하여 시작 스크립트를 실행하면 Cassandra가 포그라운드에 남아 표준 출력에 로그됩니다. Ctrl-C로 중지할 수 있습니다.
$ 빈/카산드라 -f
이제 Cassandra 쿼리 언어를 사용하여 일부 데이터를 읽고 써 보겠습니다.
$ 빈/cqlsh
명령줄 클라이언트는 대화형이므로 모든 것이 제대로 작동했다면 프롬프트 앞에 앉아 있어야 합니다.
localhost:9160에서 테스트 클러스터에 연결되었습니다. [cqlsh 6.3.0 | 카산드라 5.0-스냅샷 | CQL 사양 3.4.8 | 네이티브 프로토콜 v5] 도움이 필요하면 HELP를 사용하세요. cqlsh>
배너에 나와 있듯이 '도움말'을 사용할 수 있습니다. 또는 '?' CQL이 무엇을 제공하는지 확인하고 '종료'합니다. 또는 '종료;' 충분히 즐거웠을 때. 하지만 좀 더 흥미로운 것을 시도해 보겠습니다.
cqlsh> CREATE KEYSPACE 스키마1 WITH 복제 = { '클래스' : 'SimpleStrategy', 'replication_factor' : 1 }; cqlsh> USE 스키마1; cqlsh:Schema1> CREATE TABLE 사용자( user_id varchar 기본 키, 첫 번째 varchar, 마지막 varchar, 연령 정수 ); cqlsh:Schema1> INSERT INTO 사용자(user_id, 이름, 성, 나이) VALUES('jsmith', 'John', 'Smith', 42); cqlsh:Schema1> SELECT * FROM 사용자; 사용자 ID | 나이 | 먼저 | 마지막 --------+------+-------+------- 스미스 | 42 | 존 | 스미스 cqlsh:스키마1>
세션이 위와 비슷해 보인다면 축하합니다. 단일 노드 클러스터가 작동하는 것입니다!
CQL에서 지원하는 명령에 대한 자세한 내용은 CQL 참조를 확인하세요. 이를 합리적으로 생각하는 방법은 "SQL에서 조인 및 하위 쿼리를 빼고 컬렉션을 더한 것"입니다.
여기서 어디로 가야할지 궁금하십니까?
ASF Slack의 #cassandra에 참여하고 질문하세요.
[email protected]로 메일을 보내 사용자 메일링 리스트를 구독하세요.
[email protected]로 메일을 보내 개발자 메일링 리스트를 구독하세요.
참여에 대한 자세한 내용을 보려면 Cassandra 웹사이트의 커뮤니티 섹션을 방문하세요.
기여 방법에 대한 자세한 내용을 보려면 Cassandra 웹사이트의 개발 섹션을 방문하세요.