143.2. Camel 및 HBase
camel 경로 내부에 datasotre를 사용할 때 camel 메시지가 데이터 저장소에 저장되는 방법을 지정하는 것은 항상 chalenge입니다. 문서 기반 저장소에서는 메시지 본문을 문서에 직접 매핑할 수 있으므로 더 쉽습니다. 관계형 데이터베이스에서 ORM 솔루션을 사용하여 속성을 열 등에 매핑할 수 있습니다. 열 기반 저장소에서는 이러한 종류의 매핑을 수행하는 표준 방법이 없기 때문에 더 어려울 수 있습니다.
HBase는 두 가지 추가 챌린지를 추가합니다.
- HBase groups 열을 제품군으로 그룹화하므로 이름 규칙을 사용하여 속성을 열에 매핑하는 것만으로는 충분하지 않습니다.
- HBase에는 type이라는 개념이 없습니다. 즉, 모든 항목을 byte[]로 저장하고 byte[]가 문자열, 숫자, 직렬화된 Java 개체 또는 바이너리 데이터를 나타내는지 여부를 알 수 없습니다.
이러한 문제를 해결하기 위해 camel-hbase는 메시지 헤더를 사용하여 메시지를 HBase 열에 매핑하도록 지정합니다. 또한 HBase 데이터를 모델링하고 xml/json 등으로 쉽게 변환할 수 있는 일부 camel-hbase 클래스를 사용할 수 있습니다.
마지막으로, 사용자가 자신의 매핑 전략을 구현하고 사용할 수 있는 기능을 제공합니다.
매핑 전략에 관계없이 camel-hbase는 메시지를 org.apache.camel.component.hbase.model.HBaseData 개체로 변환하고 내부 작업을 위해 해당 오브젝트를 사용합니다.