StreamStore is...
StreamStore, from the 30 thousand foot level, is described by the diagram below where you, the programmer, write the "client program".
With StreamStore you can take your Java objects and put them into the StreamStore Storage system. Your java objects can be organized as you please. Your objects, are stored in a StreamRecord within a StreamTable. In this way, StreamStore has become a database of your java objects.
The StreamStore BTree subsystem is an enhanced BTree index facility which itself uses the StreamStore Storage subsystem. Your java objects can each be indexed using a BTree. Having a BTree index for your objects gives you very fast access to those objects.
The StreamStore StreamId is a built in identifier for each StreamRecord in existence. If you stored one object per StreamRecord then the StreamId is equivalent to an object id.
Once you understand StreamStores, StreamTables, StreamRecords, BTrees and StreamIds you understand the fundamental parts of StreamStore.
For more detailed information consult the StreamStore User's Guide.
The diagram above shows two subsystems: Storage and BTree. This allows you to take one without the other to build your own custom persistence solution. Below are some of the ways to use StreamStore: