public DataStorage(KDB kDB) { this.kDB = kDB ?? throw new ArgumentNullException(nameof(kDB)); _dataFileWriter = new FileStream(this.kDB.DBPath + "/data.db", FileMode.Append, FileAccess.Write, FileShare.Read); _dataFileReader = new FileStream(this.kDB.DBPath + "/data.db", FileMode.Open, FileAccess.Read, FileShare.Write); }
public SSTable(KDB kDB, int fileNumber) { _kDB = kDB; _store = new SortedList <string, FencePointer>(); _fileNumber = fileNumber; LoadFile(fileNumber); }
public IndexManager(KDB kDB) { _kDB = kDB ?? throw new ArgumentNullException(nameof(kDB)); _lastIndexFileNumber = GetLastFileNumber(); _dlinkedList = new LinkedList <IIndexTable>(); LoadSSTables(); _memTable = new MemTable(kDB); _dlinkedList.AddFirst(_memTable); }
static void Main(string[] args) { while (true) { var kdb = new KDB("."); //kdb.Optimize(); //break; Console.WriteLine("..........."); Console.WriteLine("1. Get Key"); Console.WriteLine("2. Put Key"); Console.WriteLine("3. Read All"); Console.WriteLine("..........."); var input = Console.ReadLine(); if (input == "1") { var inputKey = Console.ReadLine(); Console.WriteLine("Key : " + inputKey); Console.WriteLine("Val : " + Encoding.ASCII.GetString(kdb.Get(inputKey))); } if (input == "2") { Console.Write("Enter Key : "); var inputKey = Console.ReadLine(); Console.Write("Enter Val : "); var inputValue = Console.ReadLine(); kdb.Put(inputKey, Encoding.ASCII.GetBytes(inputValue)); } if (input == "3") { var iterator = kdb.GetAll(); while (true) { var key = iterator.Next(); if (key == null) { break; } Console.WriteLine("Key : " + key); Console.WriteLine("Val : " + Encoding.ASCII.GetString(kdb.Get(key))); } } kdb.Close(); } }
public MemTable(KDB kDB) { _kDB = kDB ?? throw new ArgumentNullException(nameof(kDB)); Store = new SortedDictionary <string, FencePointer>(); }
public IndexStorage(KDB kDB) { _kDB = kDB ?? throw new ArgumentNullException(nameof(kDB)); }