stellar/stellard — pull request #164 by MonsieurNicolas (2014-11-12 22:49:09+00:00)
Title: SQL ledger

rebased older goSQL branch

commits are pretty self-explanatory.

main purpose of this PR is shadowing content of current ledger in SQL, which allows for quick lookups for various transactors, in particular inflation is capable of running without using much memory.

As there is only one ledger in SQL, this PR also includes a change not applying transactions to the open ledger (turning the open ledger into a glorified tx set).

Also to compensate for the SQL overhead I had to do some performance tuning: minimizing walking ledgers (less trashing of caches), as well as minimizing walking of large data structures (potentially swapped out) with the TaggedCache changes.