|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectkrati.store.DynamicDataSet
public class DynamicDataSet
DynamicDataSet is implemented using Linear Hashing. Its capacity grows as needed. The values are stored in the underlying DataArray using the following format:
[count:int][value-length:int][value:bytes][value-length:int][value:bytes]... +-----------value 1------------+-----------value 2-----------+
Constructor Summary | |
---|---|
DynamicDataSet(File homeDir,
int initLevel,
int entrySize,
int maxEntries,
int segmentFileSizeMB,
SegmentFactory segmentFactory)
Creates a dynamic DataSet with the settings below: |
|
DynamicDataSet(File homeDir,
int initLevel,
int entrySize,
int maxEntries,
int segmentFileSizeMB,
SegmentFactory segmentFactory,
double segmentCompactFactor,
double hashLoadThreshold,
HashFunction<byte[]> hashFunction)
Creates a dynamic DataSet. |
|
DynamicDataSet(File homeDir,
int initLevel,
int entrySize,
int maxEntries,
int segmentFileSizeMB,
SegmentFactory segmentFactory,
double hashLoadThreshold,
HashFunction<byte[]> hashFunction)
Creates a dynamic DataSet. |
|
DynamicDataSet(File homeDir,
int initLevel,
int segmentFileSizeMB,
SegmentFactory segmentFactory)
Creates a dynamic DataSet with the settings below: |
|
DynamicDataSet(File homeDir,
int initLevel,
int segmentFileSizeMB,
SegmentFactory segmentFactory,
double hashLoadThreshold,
HashFunction<byte[]> hashFunction)
Creates a dynamic DataSet with the settings below: |
|
DynamicDataSet(File homeDir,
int initLevel,
SegmentFactory segmentFactory)
Creates a dynamic DataSet with the settings below: |
|
DynamicDataSet(File homeDir,
int initLevel,
SegmentFactory segmentFactory,
HashFunction<byte[]> hashFunction)
Creates a dynamic DataSet with the settings below: |
|
DynamicDataSet(File homeDir,
SegmentFactory segmentFactory)
Creates a dynamic DataSet with the settings below: |
Method Summary | |
---|---|
boolean |
add(byte[] value)
|
protected boolean |
addInternal(int index,
byte[] value)
|
void |
clear()
|
int |
countCollisions(byte[] value)
|
protected DynamicLongArray |
createAddressArray(int entrySize,
int maxEntries,
File homeDirectory)
|
boolean |
delete(byte[] value)
|
protected boolean |
deleteInternal(int index,
byte[] value)
|
int |
getCapacity()
|
DataArray |
getDataArray()
|
protected int |
getIndex(byte[] value)
|
protected int |
getIndex(long hashCode)
|
int |
getLevel()
|
int |
getLevelCapacity()
|
int |
getLoadCount()
|
double |
getLoadFactor()
|
double |
getLoadThreshold()
|
int |
getSplit()
|
String |
getStatus()
|
int |
getUnitCapacity()
|
boolean |
has(byte[] value)
|
protected long |
hash(byte[] value)
|
boolean |
hasWithoutCollisions(byte[] value)
|
protected long |
nextScn()
|
void |
persist()
|
void |
rehash()
|
void |
sync()
|
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail |
---|
public DynamicDataSet(File homeDir, SegmentFactory segmentFactory) throws Exception
Initial Level : 0 Entry Size : 10000 Max Entries : 5 Segment File Size : 256MB Segment Compact Factor : 0.5 DataSet Hash Load Factor : 0.75 DataSet Hash Function : krati.util.FnvHashFunction
homeDir
- the home directory of DataSetsegmentFileSizeMB
- the size of segment file in MBsegmentFactory
- the segment factory
Exception
- if this dynamic data set cannot be created.public DynamicDataSet(File homeDir, int initLevel, SegmentFactory segmentFactory) throws Exception
Entry Size : 10000 Max Entries : 5 Segment File Size : 256MB Segment Compact Factor : 0.5 DataSet Hash Load Factor : 0.75 DataSet Hash Function : krati.util.FnvHashFunction
homeDir
- the home directory of DataSetinitLevel
- the initial level when DataSet is createdsegmentFactory
- the segment factory
Exception
- if this dynamic data set cannot be created.public DynamicDataSet(File homeDir, int initLevel, SegmentFactory segmentFactory, HashFunction<byte[]> hashFunction) throws Exception
Entry Size : 10000 Max Entries : 5 Segment File Size : 256MB Segment Compact Factor : 0.5 DataSet Hash Load Factor : 0.75
homeDir
- the home directory of DataSetinitLevel
- the initial level when DataSet is createdsegmentFactory
- the segment factoryhashFunction
- the hash function for mapping values to indexes
Exception
- if this dynamic data set cannot be created.public DynamicDataSet(File homeDir, int initLevel, int segmentFileSizeMB, SegmentFactory segmentFactory) throws Exception
Entry Size : 10000 Max Entries : 5 Segment Compact Factor : 0.5 DataSet Hash Load Factor : 0.75 DataSet Hash Function : krati.util.FnvHashFunction
homeDir
- the home directory of DataSetinitLevel
- the initial level when DataSet is createdsegmentFileSizeMB
- the size of segment file in MBsegmentFactory
- the segment factory
Exception
- if this dynamic data set cannot be created.public DynamicDataSet(File homeDir, int initLevel, int segmentFileSizeMB, SegmentFactory segmentFactory, double hashLoadThreshold, HashFunction<byte[]> hashFunction) throws Exception
Entry Size : 10000 Max Entries : 5 Segment Compact Factor : 0.5
homeDir
- the home directory of DataSetinitLevel
- the initial level when DataSet is createdsegmentFileSizeMB
- the size of segment file in MBsegmentFactory
- the segment factoryhashLoadThreshold
- the load factor of the underlying address array (hash table)hashFunction
- the hash function for mapping values to indexes
Exception
- if this dynamic data set cannot be created.public DynamicDataSet(File homeDir, int initLevel, int entrySize, int maxEntries, int segmentFileSizeMB, SegmentFactory segmentFactory) throws Exception
Segment Compact Factor : 0.5 DataSet Hash Load Factor : 0.75 DataSet Hash Function : krati.util.FnvHashFunction
homeDir
- the home directory of DataSetinitLevel
- the initial level when DataSet is createdentrySize
- the redo entry size (i.e., batch size)maxEntries
- the number of redo entries required for updating the underlying address arraysegmentFileSizeMB
- the size of segment file in MBsegmentFactory
- the segment factory
Exception
- if this dynamic data set cannot be created.public DynamicDataSet(File homeDir, int initLevel, int entrySize, int maxEntries, int segmentFileSizeMB, SegmentFactory segmentFactory, double hashLoadThreshold, HashFunction<byte[]> hashFunction) throws Exception
Segment Compact Factor : 0.5
homeDir
- the home directory of DataSetinitLevel
- the initial level when DataSet is createdentrySize
- the redo entry size (i.e., batch size)maxEntries
- the number of redo entries required for updating the underlying address arraysegmentFileSizeMB
- the size of segment file in MBsegmentFactory
- the segment factoryhashLoadThreshold
- the load factor of the underlying address array (hash table)hashFunction
- the hash function for mapping values to indexes
Exception
- if this dynamic data set cannot be created.public DynamicDataSet(File homeDir, int initLevel, int entrySize, int maxEntries, int segmentFileSizeMB, SegmentFactory segmentFactory, double segmentCompactFactor, double hashLoadThreshold, HashFunction<byte[]> hashFunction) throws Exception
homeDir
- the home directory of DataSetinitLevel
- the initial level when DataSet is createdentrySize
- the redo entry size (i.e., batch size)maxEntries
- the number of redo entries required for updating the underlying address arraysegmentFileSizeMB
- the size of segment file in MBsegmentFactory
- the segment factorysegmentCompactFactor
- the load factor of segment, below which a segment is eligible for compactionhashLoadThreshold
- the load factor of the underlying address array (hash table)hashFunction
- the hash function for mapping values to indexes
Exception
- if this dynamic data set cannot be created.Method Detail |
---|
protected DynamicLongArray createAddressArray(int entrySize, int maxEntries, File homeDirectory) throws Exception
Exception
protected long hash(byte[] value)
protected long nextScn()
public void sync() throws IOException
sync
in interface DataSet<byte[]>
IOException
public void persist() throws IOException
persist
in interface DataSet<byte[]>
IOException
public boolean has(byte[] value)
has
in interface DataSet<byte[]>
public final int countCollisions(byte[] value)
public final boolean hasWithoutCollisions(byte[] value)
public boolean add(byte[] value) throws Exception
add
in interface DataSet<byte[]>
Exception
public boolean delete(byte[] value) throws Exception
delete
in interface DataSet<byte[]>
Exception
public void clear() throws IOException
clear
in interface DataSet<byte[]>
IOException
protected final int getIndex(byte[] value)
protected final int getIndex(long hashCode)
protected boolean addInternal(int index, byte[] value) throws Exception
Exception
protected boolean deleteInternal(int index, byte[] value) throws Exception
Exception
public final int getLevel()
public final int getSplit()
public final int getCapacity()
public final int getUnitCapacity()
public final int getLevelCapacity()
public final int getLoadCount()
public final double getLoadFactor()
public final double getLoadThreshold()
public void rehash() throws Exception
Exception
public String getStatus()
public DataArray getDataArray()
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |