Announcing TDB v0.4.0

TerrabaseDB reaches v0.4.0 - which we are internally calling "headway" as it paves the path for the future of TDB. We've made exciting changes and added several new features. Read on to know more.

Let's admit it - we've had some good trouble with our protocol spec. We've discussed about the protocol in as many as 5 issues and PRs and over several days. The lack of a stable protocol was a big bummer in terms of introducing new features, stability and reliability. One thing, I realized, was that we were doing one thing, which several projects have bumped into: over-engineering. Terrapipe 0.1, was over-engineered. So, I rewrote the entire protocol, and this time, it yielded a pleasing outcome: performance and readability. Previously we had a metaline, metalayout and a dataframe to parse. With the new revision of the protocol, I dropped the metalayout entirely. This turned out to be a huge feat, as the packet parsing time dropped from 1 microsecond to 200 nanoseconds (on average). This immediately saw a performance improvement.

With a stable, simple and performant protocol, precisely something that we wanted, we're ready to zoom ahead with new features. Also, developers can now start building clients, now that we have a stabilized spec.

What's new

We've added support for:

  • MSET
  • MGET
  • unsigned int and string data types

What's going to break

Existing clients and tsh binaries won't work any more. tsh will keep complaining, that the server sent an invalid response, simply because of the fact that it doesn't use the latest protocol. To make tsh work - simply download the latest release! All your existing datasets will remain unaffected, since no change has been made to the disk storage format.

Another release will appear shortly - in a week or so, so, stay tuned!