Programing

카산드라 : 텍스트 대 varchar

lottogame 2020. 12. 31. 07:52
반응형

카산드라 : 텍스트 대 varchar


누구든지 두 CQL 데이터 유형 textvarcharCassandra 의 차이점을 알고 있습니까? Cassandra 문서는 두 유형을 "UTF-8 인코딩 문자열"로 설명하며 그 이상은 설명하지 않습니다.


text의 별칭입니다 varchar!

문서 :

편집
여기에 C * 1.2 문서에 대한 링크가 있습니다. 텍스트 대 varchar 정보는 여전히 동일하지만이 문서에는 몇 가지 추가 데이터 유형이 포함되어 있습니다.


아마도 당신은 CQL 스토리지 유형을 의미했을 것입니다. 그렇지 않다면 내 대답을 무시하십시오.

CQL에서는 카산드라의 내부와 거리를 두려는 지속적인 경향이있었습니다. 그것이 좋은 것인지 나쁜 것인지는 해석의 여지가 있습니다. 그러나 관련성이있는 것은 최신 버전의 CQL 개발자가 카산드라의 내부에 깊이 들어 가지 않은 사람들에게 더 친숙한 구문을 만들려고 노력하고 있다는 것입니다.

이 SO 질문을 살펴보면 상황에 대한 멋진 그림을 얻을 수 있습니다. Datastax API (새로운 바이너리 프로토콜을 사용하는)를 작업하는 동안 Cassandra에서 열 패밀리 또는 테이블 만들기

최근 CQL 버전에서는 카산드라와는 다른 별칭이 있지만 DBA에게 매우 잘 알려진 별칭이 나타나기 시작했습니다. 예를 들어, cassandra ColumnFamily의 네이티브는 Table로 별칭이 지정되었고 text는 varchar의 별칭 일 뿐이며 그 반대의 경우도 마찬가지입니다. 다시 말하지만 그것이 좋은 것인지 아닌지는 의견의 문제입니다.

따라서 결론적으로 varchar와 text를 서로 바꿔서 사용할 수 있습니다.


내가 카산드라로 시작했을 때 이것도 저를 던졌습니다.

text와 varchar는 모두 UTF8로 인코딩 된 문자열이며 서로 동의어입니다. 즉, 정확히 동일한 것입니다.

추가로 MS SQL과 같은 관계형 세계에서 온다면 이러한 유형 (특히 TEXT)을 엔티티의 기본 필드로 사용하는 것을 주저 할 수도 있습니다. TEXT는 특히 일반적으로 3 차 정상 형태의 관계형 마음에 기본 키를 비명을 지르지 않는 텍스트 콘텐츠의 큰 덩어리와 관련이 있습니다. 그러나 모든 Cassandra 유형은 기본적으로 디스크에 16 진수 바이트 배열로 저장되기 때문에 기본 키로 사용할 때 실제로 중요한 성능이 없습니다.


Cassandra CQL 데이터 유형 텍스트varchar 는 서로 동의어 / 별칭입니다.

  1. Varchar에 연결된 데이터 유형은 blob입니다 ( blob 의 이론상 최대 크기는 2GB입니다. )
  2. 텍스트 와 관련된 데이터 유형 은 Varchar입니다 ( 텍스트를 사용 했지만 Cassandra는 내부적으로 Varchar로 처리 함 ).
  3. Cassandra는 데이터를 일정한 16 진수로 저장하기 때문에 blob 형식 연결은 성능 문제를 일으키지 않습니다.
  4. Cassandra는 테이블을 설계하는 방법에 따라 기본 키 (파티션 키, 클러스터링 열)를 사용하여 올바른 좌표쿼리하므로 읽기가 더 빨라 집니다.여기에 이미지 설명 입력 여기에 이미지 설명 입력

참조 URL : https://stackoverflow.com/questions/17530230/cassandra-text-vs-varchar

반응형