Comments (1)
Anything involving sorting is tricky, I haven't thought much about it, and it's not at the top of the priority list right now, but here goes.
We do not want 3DF to maintain explicit order in the general case, because most input diffs (to a list of n records) can be expected to produce O(n/2) output diffs (to every connected client!). It seems a compromise would be for the backend to perform something like a top-k
by the desired metric and then assign a page number to every record. Within a page, clients are responsible for presenting them in sorted order.
For pages of size k this should cut down the expected number of output diffs significantly (something like n/k * probability of any individual record moving between pages?).
How does that sound?
from clj-3df.
Related Issues (20)
- Multiple aggregations HOT 3
- FnExpr symbols and implicit clause order HOT 1
- Constant bindings HOT 1
- 3DF DB should be protocol for encoding queries
- Add support for transforms in the find-spec itself
- Add support for aggregations in clauses
- Add CloseInput support
- Support for pull query HOT 2
- `min` and `max` don't work as expected HOT 1
- How to run clj-3df? HOT 7
- Update examples HOT 2
- Error handling HOT 1
- default clauses for datalog HOT 5
- exec! is not batching commands HOT 1
- Cljs: clj_3df.compiler.trace_bindings is undefined HOT 2
- UUID serialization for entity id's HOT 1
- Roadmap? HOT 4
- retraction of an inexistent value of cardinality/one causes server panic HOT 1
- Datahike support? HOT 4
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from clj-3df.