1. 10

  2. 3

    This seems like a very useful and mission specific piece of software; but it doesn’t seem to be open sourced anywhere…

    It’s too bad because there are many situations that call for a way to write data that is time ordered and append only but where there is some resistance to data corruption. (Just writing out text is, of course, liable to all kinds of problems in practice.)

    1. 0

      The paper describes how to implement LittleTable and includes the authors experiences and application uses, including things it is not good at.

      A code-dump is likely to be of little use to anyone, especially as Meraki’s implmentation is likely to be wound tightly around their existing codebases making it not a ‘library’ that anyone else could use.

      Besides, if they produced an opensource version in, say .NET, people would instead complain that they could not use it in any of their Rust code or then complain how it is not GPL, or BSD or Apache licensed or something equally silly.

      By example, Intel release, as do many vendors with their god awful BSPs), opensource plenty of code but piles of it are directly un-usable.

      Better would be some documentation about the interfaces provided by the hardware so you could write a driver.

      1. 1

        Given the content of the paper, it actually sounds like LittleTable isn’t super integrated into other software, and that their implementation is pretty decoupled. Now certainly my interpretation could be totally off, but this is what sounds decoupled to me:

        • Wrote an adapter for SQLite

          From Section 3.1: Clients interact with LittleTable by loading a custom adaptor into SQLite’s virtual table interface

          Based on a relatively quick skimming of the SQLite documentation on virtual tables, it sounds like Meraki just wrote a C-extension for SQLite that could be loaded by any potential client, making the client completely language agnostic.

        • Appeared to have been easily benchmarked, in what read like a sandboxed environment with very little besides itself running on the machine

        That said, given the machine they performed their benchmarks on, it sounds like LittleTable isn’t meant to be just stood up anywhere, and the intended setup is putting it on some super beefy machine to collect every metric you know. So maybe their assumptions don’t hold up well outside of their particular environment