Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

Hey there! OctoSQL author here.

I've released OctoSQL v0.4.0 recently[0] which is a grand rewrite and is 2-3 orders of magnitude faster than OctoSQL was before. It's also much more robust overall with static typing and the plugin system for easy extension. The q benchmarks are over a year old and haven't been updated to reflect that yet.

Take a look at the README[1] for more details.

My benchmarks should be reproducible, you can find the script in the benchmarks/ repo directory.

Btw if we're already talking @eatonphil I'd appreciate you updating your benchmarks to reflect these changes.

As far as the custom query engine goes - yes, there are both pros and cons to that. In the case of OctoSQL I'm building something that's much more dynamic - a full-blown dataflow engine - and can subscribe to multiple datasources to dynamically update queries as source data changes. This also means it can support streaming datasources. That is not possible with the other systems. It also means I don't have to load everything into a SQLite database before querying - I can optimize which columns I need to even read.

OctoSQL also let's you work with actual databases in your queries - like PostgreSQL or MySQL - and pushes predicates down to them, so it doesn't have to dump your whole database tables. That's useful if you need to do cross-db joins, or JSON-file-with-database joins.

As far as SQL compliance goes it gets hairy in the details - as usual. The overall dialect is based on MySQL as I'm using a parser based on vitess's one, but I don't support some syntax, and add original syntax too (type assertions, temporal extensions, object and type notation).

Stay tuned for a lot more supported datasources, as the plugin system lets me work on that much quicker.

[0]:https://github.com/cube2222/octosql/releases/tag/v0.4.0

[1]:https://github.com/cube2222/octosql#readme



Neat! I'll give your script a shot.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: