Hbase.Hbase를 처음 사용하는 것은 테이블을 무작위로 업데이트 (put 또는 delete)하는 것이 좋지만 hbase이 수행하는 방법을 이해할 수 없습니다. hbase는 HDFS를 사용하여 해당 저장소에 사용할 수 없기 때문에 HDFS에서 무엇이든 업데이트하십시오. Hbase은 레코드를 업데이트하고 레코드를 업데이트하기 위해 memstore를 사용합니다. MemStore는 정렬 된 키 순서로 임의의 수의 업데이트 된 행을 포함합니다. hfile에 디스크로 데이터를 덤프 할 때이 hfile은 다른 레코드와 함께 hfiles.hbase random write 작동 방법
모든 hfile을 덤프 한 후 hfile은 HDFS에 복제됩니다. WAL 편집 log.WAL 로그 파일에 대한 질문은 HDFS에서도 복제됩니다. 모든 업데이트에 대해 HDFS에 대한 업데이트가 복제됩니다.
답장을 보내 주셔서 감사합니다.이 블로그는 모두 설명했습니다 ... 하지만 시퀀스 파일에 대한 의심이 하나 더 있습니다 ... 모든 시퀀스 파일의 추가가 모든 블록에 복제됩니다. –
그것은 HDFS의 일부입니다. HDFS는 HBase와 비슷한 작업을하고 있습니다. OutputStream을 사용하여 데이터를 작성합니다. 그 데이터는 블록 크기까지 버퍼링 된 다음 블록이 그 크기에 도달하면 N 개의 기계로 복제됩니다. 어느 정도 작동하는지, 모든 것이 변경 가능하지 않아서 "레코드"라는 개념이 없다고 생각해야합니다. 뭔가를 추가하면 메모리에 추가되고 임계 값에 도달하면 데이터가 통합됩니다 (블록) 복제 한 다음 복제합니다. – th30z
고마워 ..이 질문은 하루 종일 내 마음을 터뜨리고 있었다. 더 많은 독서에서 나는 모든 지역에서 월에 쓰는 공유 된 동일한 HLog 인스턴스를 얻었다. 나는 wal 인스턴스 (fsOutputStream) 어떤 쓰기 사이에서도 닫히지 않습니다. –