Join GitHub today
GitHub is home to over 28 million developers working together to host and review code, manage projects, and build software together.
Sign upDevelopment roadmap? #111
Comments
This comment has been minimized.
This comment has been minimized.
|
You're right that the current version of Noria is a research prototype. However, it's definitely read to try out: we've manage to run some real web applications on Noria with minimal modification. The best approximation of a development roadmap is probably the GitHub issues. Our research going forward will primarily focus on further improved distributed operation in the short term, although we're also exploring stronger consistency models and some offshoot ideas related to web application security. For production use, Noria might need:
We're actively working on 2. and 3. as part of our scalability work, and hope to fix 1. as well. We also plan to keep the versions released to crates.io stable, and will use semantic versioning when we make breaking changes. Noria primarily remains a research project, but we are keen to support people who want to use it for real applications. If you have a use case that you'd like us to consider, do let us know! |
This comment has been minimized.
This comment has been minimized.
ranchoiver
commented
Oct 22, 2018
•
Sounds exciting! Our use-case is aggregating over semi-large amounts of data (10 - 20 million rows in a table) in MySQL and getting last value from each group where timestamp is < (less) than some time (like midnight of current day). Around 1000 - 10000 rows are added per hour. Incrementally updated materialized view that uses this aggregation query would work for us, I guess. MySQL materialized views make this really difficult to achieve. Flexviews could be a solution, but we decided against it. The incoming data may be out of order, and sometimes we need to take historical data into account, so it's difficult to use time windows for grouping. We also do several joins with other tables. These are some of the reasons why we didn't choose Spark, Kafka Streams or other streaming framework. Operationalization complexity / costs is another reason. |
This comment has been minimized.
This comment has been minimized.
|
@ranchoiver I think that sounds like an excellent use-case for Noria! The one thing that we don't quite support yet is "rolling" time windows, which it sounds like you need. Specifically, you need a query with a filter that has a time-variant parameter. This would require the materialized view to change even if there are no writes to it, which is not something we currently support. It is definitely on our radar though, because it's also something that many other applications need! |
This comment has been minimized.
This comment has been minimized.
ranchoiver
commented
Oct 22, 2018
Yes, exactly. |
This comment has been minimized.
This comment has been minimized.
|
As an aside, |
This comment has been minimized.
This comment has been minimized.
mjjansen
commented
Nov 26, 2018
|
@jonhoo a couple other features I'd be curious about:
|
This comment has been minimized.
This comment has been minimized.
|
This comment has been minimized.
This comment has been minimized.
mjjansen
commented
Nov 28, 2018
|
@jonhoo 1 more question... did you consider https://github.com/andygrove/sqlparser-rs vs https://github.com/ms705/nom-sql. I wonder if the effort can be combined. |
This comment has been minimized.
This comment has been minimized.
|
That crate didn't exist when we first started building Noria :) Combining efforts is probably not a bad idea though! (cc @ms705) |
This comment has been minimized.
This comment has been minimized.
mjjansen
commented
Nov 28, 2018
|
got it. thank you! |
This comment has been minimized.
This comment has been minimized.
3noch
commented
Jan 4, 2019
|
|
This comment has been minimized.
This comment has been minimized.
3noch
commented
Jan 4, 2019
|
Also having a Postgres adapter would be pretty amazing. |
This comment has been minimized.
This comment has been minimized.
|
Hehe, yes, a Postgres adapter would be great, it just requires implementing the Postgres binary protocol in Rust similar to |
ranchoiver commentedOct 19, 2018
•
edited
I assume this is a prototype, many things still have to be implemented (and / or researched), so the system will change over time.
Do you have plans to make
noriaproduction-ready?Is there a publicly accessible development roadmap or feature plan people could follow?