2012-01-09 37 views
7

Nhìn vào thư mục dữ liệu, tôi nhận thấy các tệp sau cho CF. Vài câu hỏi - mỗi tệp là gì? những gì là 1 ... 6 cho? cái nào trong số 1 đến 6 chứa dữ liệu cuối cùng (tất cả) của CF?Quy ước tên tệp dữ liệu Cassandra

<cf name>-g-1-Compacted 
<cf name>-g-1-Data.db 
<cf name>-g-1-Filter.db 
<cf name>-g-1-Index.db 
<cf name>-g-1-Statistics.db 

... 

<cf name>-g-6-Compacted 
<cf name>-g-6-Data.db 
<cf name>-g-6-Filter.db 
<cf name>-g-6-Index.db 
<cf name>-g-6-Statistics.db 

Trả lời

9

Những tệp này là SSTables và siêu dữ liệu có liên quan đến SSTables. Đây là một mô tả ngắn gọn của mỗi tập tin (nâng từ nguồn Cassandra: io/sstable/Component.java)

  • Data.db: các dữ liệu cơ sở cho một sstable
  • Index.db: chỉ số của hàng phím với con trỏ đến vị trí của họ trong các tập tin dữ liệu
  • Filter.db: lọc nở serialized cho các phím hàng trong sstable
  • Statistics.db: siêu dữ liệu thống kê về nội dung của các sstable
  • Bitidx.db: a chỉ số phụ bitmap: nhiều trong số này có thể tồn tại trên mỗi số không ổn định
  • Được nén: Tệp có độ dài 0 được tạo khi độ ổn định đã sẵn sàng để xóa

SSTables với * -Compacted được đánh dấu để xóa. Các tệp này sẽ được làm sạch một cách không đồng bộ khi JVM thực hiện GC hoặc Cassandra phát hiện rằng hệ thống có dung lượng ổ đĩa thấp.

Số cho biết thế hệ của một hệ thống ổn định (những cái lớn hơn mới hơn). Khi có dữ liệu tất cả, trong điều kiện bình thường, dữ liệu của bạn có thể được trải đều trên nhiều SSTables và trong bộ nhớ. Bạn có thể sử dụng nodetool để tuôn ra một họ cột và sau đó chạy một sự nén chặt lớn để tạo ra một tệp có tất cả dữ liệu cho SSTable đó (giả sử bạn không viết gì khác cho họ cột đó).

+0

Cần lưu ý rằng các tệp 'Data.db' chứa tất cả dữ liệu trong họ cột. Tất cả những người khác có thể được tạo ra từ nó. –

1

Một số thông tin bổ sung hữu ích về câu trả lời psanford có thể được tìm thấy trên Cassandra SSTable Format Version Numbers, trong đó quy ước đặt tên được giải thích chi tiết hơn (phụ thuộc phiên bản).

Các vấn đề liên quan