142.2. Camel 및 HBase
camel 경로 내에서 datasotre를 사용할 때 항상 camel 메시지가 데이터 저장소에 저장하는 방법을 지정하는 chalenge가 있습니다. 문서 기반 저장에서는 메시지 본문이 문서에 직접 매핑될 수 있으므로 작업이 더 쉬워집니다. 관계형 데이터베이스에서 ORM 솔루션을 사용하여 속성을 열에 매핑할 수 있습니다.In relational databases an ORM solution can be used to map properties to columns etc. 열 기반 저장소에서는 이러한 종류의 매핑을 수행하는 표준 방법이 없기 때문에 작업이 더 어렵습니다.In column based stores things are more challenging as there is no standard way to perform that kind of mapping.
HBase는 두 가지 추가 챌린지를 추가합니다.
- HBase는 가족에 열을 그룹화하므로 이름 규칙을 사용하여 속성을 열에만 매핑하는 것만으로는 충분하지 않습니다.
- HBase에는 모든 것을 바이트[]로 저장하고 바이트[]가 문자열, 숫자, 직렬화된 Java 개체 또는 바이너리 데이터를 나타내는지 알 수 없음을 의미합니다.
이러한 문제를 해결하기 위해 camel-hbase는 메시지 헤더를 사용하여 메시지와 HBase 열 매핑을 지정합니다. 또한 HBase 데이터를 모델링하고 xml/json 등과 쉽게 변환할 수 있는 일부 camel-hbase 제공 클래스를 사용할 수 있는 기능을 제공합니다.
마지막으로 사용자가 자신의 매핑 전략을 구현하고 사용할 수있는 기능을 제공합니다.
매핑 전략 camel-hbase와 관계없이 메시지를 org.apache.camel.component.hbase.HBaseData 개체로 변환하고 내부 작업에 해당 개체를 사용합니다.