Hi,

>Why don't you simply keep the entire index in memory?

For specialized use cases this might work. In-memory repositories are
nice, specially for testing. They are very fast. But for normal uses
cases, this would be expensive. For a regular repository, one million
nodes is not that much. Even 10 million nodes is not a lot depending on
the use case. If we keep secondary indexes in the repository, the number
of nodes will further increase.

Even if the index is kept in memory, it still needs to be persisted once
in a while. If you have an append-only storage, then you can afford only
storing the index after x changes, because to re-build the index, you can
use an old index and re-apply at most x-1 changes. But without append-only
storage, re-building the index from the data takes time (linear to the
size of the repository, or possibly linear to the size of the repository
including old versions).

Regards,
Thomas

Reply via email to