|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectkrati.store.StaticDataStore
public class StaticDataStore
A simple implementation of key value store. The store has a fixed capacity. The key-value pairs are stored in the underlying DataArray using the following format:
[count:int][key-length:int][key:bytes][value-length:int][value:bytes][key-length:int][key:bytes][value-length:int][value:bytes]... +------------------ key-value pair 1 ---------------------+------------------- key-value pair 2 -------------------+
Constructor Summary | |
---|---|
StaticDataStore(File homeDir,
int capacity,
int entrySize,
int maxEntries,
int segmentFileSizeMB,
SegmentFactory segmentFactory)
Creates a DataStore instance with the settings below: |
|
StaticDataStore(File homeDir,
int capacity,
int entrySize,
int maxEntries,
int segmentFileSizeMB,
SegmentFactory segmentFactory,
double segmentCompactFactor,
HashFunction<byte[]> hashFunction)
Creates a DataStore instance. |
|
StaticDataStore(File homeDir,
int capacity,
int entrySize,
int maxEntries,
int segmentFileSizeMB,
SegmentFactory segmentFactory,
HashFunction<byte[]> hashFunction)
Creates a DataStore instance with the settings below: |
|
StaticDataStore(File homeDir,
int capacity,
int segmentFileSizeMB,
SegmentFactory segmentFactory)
Creates a DataStore instance with the settings below: |
|
StaticDataStore(File homeDir,
int capacity,
SegmentFactory segmentFactory)
Creates a DataStore instance with the settings below: |
Method Summary | |
---|---|
void |
clear()
|
protected AddressArray |
createAddressArray(int length,
int entrySize,
int maxEntries,
File homeDirectory)
|
boolean |
delete(byte[] key)
|
byte[] |
get(byte[] key)
|
DataArray |
getDataArray()
|
protected long |
hash(byte[] key)
|
Iterator<Map.Entry<byte[],byte[]>> |
iterator()
|
Iterator<byte[]> |
keyIterator()
|
protected long |
nextScn()
|
void |
persist()
|
boolean |
put(byte[] key,
byte[] value)
|
void |
sync()
|
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail |
---|
public StaticDataStore(File homeDir, int capacity, SegmentFactory segmentFactory) throws Exception
Entry Size : 10000 Max Entries : 5 Segment File Size : 256MB Segment Compact Factor : 0.5 Hash Function : krati.util.FnvHashFunction
homeDir
- the home directorycapacity
- the capacity of data storesegmentFactory
- the segment factory
Exception
public StaticDataStore(File homeDir, int capacity, int segmentFileSizeMB, SegmentFactory segmentFactory) throws Exception
Entry Size : 10000 Max Entries : 5 Segment Compact Factor : 0.5 Hash Function : krati.util.FnvHashFunction
homeDir
- the home directorycapacity
- the capacity of data storesegmentFileSizeMB
- the size of segment file in MBsegmentFactory
- the segment factory
Exception
public StaticDataStore(File homeDir, int capacity, int entrySize, int maxEntries, int segmentFileSizeMB, SegmentFactory segmentFactory) throws Exception
Segment Compact Factor : 0.5 Hash Function : krati.util.FnvHashFunction
homeDir
- the home directorycapacity
- the capacity of data storeentrySize
- 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
public StaticDataStore(File homeDir, int capacity, int entrySize, int maxEntries, int segmentFileSizeMB, SegmentFactory segmentFactory, HashFunction<byte[]> hashFunction) throws Exception
Segment Compact Factor : 0.5
homeDir
- the home directorycapacity
- the capacity of data storeentrySize
- 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 factoryhashFunction
- the hash function for mapping keys to indexes
Exception
public StaticDataStore(File homeDir, int capacity, int entrySize, int maxEntries, int segmentFileSizeMB, SegmentFactory segmentFactory, double segmentCompactFactor, HashFunction<byte[]> hashFunction) throws Exception
homeDir
- the home directorycapacity
- the capacity of data storeentrySize
- 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 compactionhashFunction
- the hash function for mapping keys to indexes
Exception
Method Detail |
---|
protected AddressArray createAddressArray(int length, int entrySize, int maxEntries, File homeDirectory) throws Exception
Exception
protected long hash(byte[] key)
protected long nextScn()
public void sync() throws IOException
sync
in interface DataStore<byte[],byte[]>
IOException
public void persist() throws IOException
persist
in interface DataStore<byte[],byte[]>
IOException
public byte[] get(byte[] key)
get
in interface DataStore<byte[],byte[]>
public boolean put(byte[] key, byte[] value) throws Exception
put
in interface DataStore<byte[],byte[]>
Exception
public boolean delete(byte[] key) throws Exception
delete
in interface DataStore<byte[],byte[]>
Exception
public void clear() throws IOException
clear
in interface DataStore<byte[],byte[]>
IOException
public DataArray getDataArray()
public Iterator<byte[]> keyIterator()
keyIterator
in interface DataStore<byte[],byte[]>
public Iterator<Map.Entry<byte[],byte[]>> iterator()
iterator
in interface Iterable<Map.Entry<byte[],byte[]>>
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |