ulimit
is properly specified before running a node. Using the filesystem also means that data access is almost entirely reliant on the I/O speeds of the system. When you add in how querying through old state would mean opening multiple files, this means that queries dependent on I/O are the slowest part of the system.pocket-core
and a generic database engine, to define what needs to happen to define, persist, update, and query the datasets it stores. This mechanism will define the following to ensure consistency:pocket-core
process would allow for the least latency, it also restricts the node runner from configuring their infrastructure in a way that best serves the needed demand.pocket-core
processes on behalf of the same identity to scale to handle more demand.pocket-core
processes that represent at least two nodes in close physical proximity to the same database.pocket-core
process that represent multiple nodes to a database cluster to allow a collection of nodes to efficiently scale-up storage needs