stellar-deprecated / stellard

INACTIVE. Server in the Stellar network. Maintains the distributed ledger. Introduces and validates transactions. This repo is not in active development, it is being replaced by stellar-core.
Other
271 stars 60 forks source link

SQL ledger #164

Closed MonsieurNicolas closed 9 years ago

MonsieurNicolas commented 9 years ago

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.

MonsieurNicolas commented 9 years ago

addressed comments - because I rebased they seem to be gone

MonsieurNicolas commented 9 years ago

this resolves #109 #56