Y
HN Search
Hacker News Search
new
|
comments
|
top
|
jobs
ryzhyk
searching Neon…
1.
▲
2.
▲
3.
▲
4.
▲
5.
▲
6.
▲
8 ms
·
1.
▲
by
ryzhyk
1y ago
But as gz09 said, both DD and DBSP are data-parallel architectures that can evaluate queries concurrently on multiple threads or multiple machines.
2.
▲
by
ryzhyk
1y ago
I'd say the difference is in the type of transaction isolation guarantees each system provides. DBSP can process multiple diffs in parallel, and when it's done it outputs a single diff that captures the effects of all the input di
3.
▲
by
ryzhyk
1y ago
The paradox of IVM is that the concept has been around for a long time; there are hundreds of papers on this topic; hardly anyone would disagree that it's a useful feature for a database, yet no modern database has a satisfactory imple
4.
▲
by
ryzhyk
2y ago
The backend for this app is literally 300 lines of SQL + Rust -- very cool.
5.
▲
by
ryzhyk
2y ago
The backend for this app is literally 300 lines of SQL + Rust -- very cool.
6.
▲
by
ryzhyk
2y ago
[I am the author of the blog] It's been fun working on this demo. FGA is a very cool concept, but building an efficient FGA engine is hard: you basically need to solve a graph reachability problem for each auth request. So I tried a di
7.
▲
by
ryzhyk
2y ago
Your explanation of why ORDER BY is not efficiently incrementalizable is spot on. At the moment Feldera ignores the outermost ORDER BY clause, unless it is part of the ORDER BY ... LIMIT pattern, which is SQL's way to express the top-k
8.
▲
by
ryzhyk
2y ago
Also there's now a DBSP implementation in pure Python! https://github.com/brurucy/pydbsp
9.
▲
by
ryzhyk
2y ago
Thanks again! You may want to check out this tutorial for a hands-on introduction to DBSP: https://docs.rs/dbsp/0.28.0/dbsp/tutorial/index.html
10.
▲
by
ryzhyk
2y ago
Apologies about the confusion. We indeed only solve incremental computation for Abelian groups, and the paper is making a case that database tables can be modeled as Abelian groups using Z-sets, and all relational operators (plus aggregatio
11.
▲
by
ryzhyk
2y ago
Good point. The goal is indeed to be a Postgres of incremental computing: any SQL query should "just work" out of the box with good performance and standard SQL semantics. You shouldn't need a team of experts to use the tool
12.
▲
by
ryzhyk
2y ago
Thanks for the kind words about DDlog :) The reason DBSP and Differential Dataflow work so well is because they are specialized to relational computations. Relational operators have nice properties that allow evaluating them incrementally.
13.
▲
by
ryzhyk
2y ago
We have our own formal model called DBSP: https://docs.feldera.com/papers It is indeed inspired by timely/differential, but is not exactly comparable to it. One nice property of DBSP is that the theory is very modular
14.
▲
by
ryzhyk
2y ago
The computational complexity of running an analytical query on a database is, at best, O(N), where N is the size of the database. The computational complexity of evaluating queries incrementally over streaming data with a well-designed quer
15.
▲
by
ryzhyk
2y ago
The correct way to think about the problem is in terms of evaluating joins (or any other queries) over changing datasets. And for that you need an engine designed for *incremental* processing from the ground up: algorithms, data structures
16.
▲
by
ryzhyk
2y ago
A streaming join indeed requires an unbounded buffer in the most general case when inputs keep growing and any input record on one side of the join can match any record on the other side. However, it does not require inputs to be ordered. A
17.
▲
by
ryzhyk
2y ago
Both reads and writes are O(1) in time complexity. Writes additionally have the log(N) amortized cost of maintaining the LSM tree.
18.
▲
by
ryzhyk
2y ago
That's right, we perform static dataflow analysis to determine what data can get discarded. GC itself is done lazily as part of LSM tree maintenance. For MAX specifically, we don't have this optimization yet. In the general case,
19.
▲
by
ryzhyk
3y ago
I'm a developer of DBSP. Our repo now lives here: https://github.com/feldera/dbsp/ . And here is some more benchmarking data vs Flink and Beam: https://github.com/feldera/dbsp/tree&#