org.apache.cassandra.io.sstable
Class SSTable
java.lang.Object
org.apache.cassandra.io.sstable.SSTable
- Direct Known Subclasses:
- SSTableReader, SSTableWriter
public abstract class SSTable
- extends java.lang.Object
This class is built on top of the SequenceFile. It stores
data on disk in sorted fashion. However the sorting is upto
the application. This class expects keys to be handed to it
in sorted order.
A separate index file is maintained as well, containing the
SSTable keys and the offset into the SSTable at which they are found.
Every 1/indexInterval key is read into memory when the SSTable is opened.
Finally, a bloom filter file is also kept for the keys in each SSTable.
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
COMPONENT_DATA
public static final java.lang.String COMPONENT_DATA
- See Also:
- Constant Field Values
COMPONENT_INDEX
public static final java.lang.String COMPONENT_INDEX
- See Also:
- Constant Field Values
COMPONENT_FILTER
public static final java.lang.String COMPONENT_FILTER
- See Also:
- Constant Field Values
COMPONENT_COMPACTED
public static final java.lang.String COMPONENT_COMPACTED
- See Also:
- Constant Field Values
desc
protected final Descriptor desc
metadata
protected final CFMetaData metadata
partitioner
protected final IPartitioner partitioner
TEMPFILE_MARKER
public static final java.lang.String TEMPFILE_MARKER
- See Also:
- Constant Field Values
components
public static java.util.List<java.lang.String> components
estimatedRowSize
protected EstimatedHistogram estimatedRowSize
estimatedColumnCount
protected EstimatedHistogram estimatedColumnCount
SSTable
protected SSTable(java.lang.String filename,
CFMetaData metadata,
IPartitioner partitioner)
SSTable
protected SSTable(Descriptor desc,
CFMetaData metadata,
IPartitioner partitioner)
getEstimatedRowSize
public EstimatedHistogram getEstimatedRowSize()
getEstimatedColumnCount
public EstimatedHistogram getEstimatedColumnCount()
getPartitioner
public IPartitioner getPartitioner()
getDescriptor
public Descriptor getDescriptor()
indexFilename
public static java.lang.String indexFilename(java.lang.String dataFile)
indexFilename
public java.lang.String indexFilename()
compactedFilename
protected static java.lang.String compactedFilename(java.lang.String dataFile)
deleteIfCompacted
public static boolean deleteIfCompacted(java.lang.String dataFilename)
- We use a ReferenceQueue to manage deleting files that have been compacted
and for which no more SSTable references exist. But this is not guaranteed
to run for each such file because of the semantics of the JVM gc. So,
we write a marker to `compactedFilename` when a file is compacted;
if such a marker exists on startup, the file should be removed.
- Returns:
- true if the file was deleted
compactedFilename
protected java.lang.String compactedFilename()
filterFilename
protected static java.lang.String filterFilename(java.lang.String dataFile)
filterFilename
public java.lang.String filterFilename()
getFilename
public java.lang.String getFilename()
getColumnFamilyName
public java.lang.String getColumnFamilyName()
getTableName
public java.lang.String getTableName()
getTotalBytes
public static long getTotalBytes(java.lang.Iterable<SSTableReader> sstables)
bytesOnDisk
public long bytesOnDisk()
toString
public java.lang.String toString()
- Overrides:
toString
in class java.lang.Object
Copyright © 2010 The Apache Software Foundation