[IPython-dev] History

Robert Kern robert.kern at gmail.com
Fri Feb 18 12:11:49 EST 2011


On 2/18/11 9:48 AM, Fernando Perez wrote:

> Finally, but importantly, I'm somewhat reluctant to go to sqlite until
> we've fully shown that accomplishing our design goals is
> hard/impossible with a simple json persisted data structure.  While
> sqlite is indeed lightweight and available to us, it's also a more
> complex api to program against than simply storing a list/dict on
> disk.  I'm OK accepting that complexity price *if we need it*, but I'm
> not convinced we do yet.  Specifically, we need to answer: what is
> precisely the functionality that we want, that is hard/impossible to
> implement on json and easy/possible with sqlite?

Well, if the computation resources devoted to translating raw input to their 
executable form is important, then I suspect the serialization to JSON of the 
whole history every time it gets saved would often dominate it (translation 
happens rarely; loading/saving happens often).

SQLite is safer.
SQLite allows concurrency.
SQLite allows us to store absolutely everything we have ever typed, but only 
load what we want to use in a session.
SQLite is more easily extended to also record outputs. You get a basic notebook 
format practically for free!  :-)

-- 
Robert Kern

"I have come to believe that the whole world is an enigma, a harmless enigma
  that is made terrible by our own mad attempt to interpret it as though it had
  an underlying truth."
   -- Umberto Eco




More information about the IPython-dev mailing list