Now that RethinkDB is shutting down, I have been looking at OrientDB,
particularly its LiveQuery feature. I am interested in the extent to which
LiveQuery is comparable to RethinkDB Changefeeds. In particular:
- Are there any limitations on the types of queries with which LiveQuery
works? Can you put "LIVE" in front of any "SELECT" command and get a
working LiveQuery?
- More specifically, does LiveQuery work on queries involving links? For
example, suppose you have a query that retrieves a set of blog posts and
their linked comments -- does the LiveQuery send a change notification when
a linked comment is inserted/updated/deleted in the LINKLIST?
- In RethinkDB, changefeeds involving orderby and limit can be
configured to send the old and new offset of each change (via the
include_offsets option) so you can easily insert the change into the proper
place within the previously returned set of records. Is this possible with
LiveQuery, or do you have to manage the ordering manually on the client?
- If you want the initial set of records followed by any subsequent
changes, do you have to issue an initial SELECT followed by a LIVE SELECT?
If so, is there any way to ensure you don't miss any changes between the
two (RethinkDB achieves this with its include_initial option).
- Can OrientDB do filtering on the changes themselves? For example, in
RethinkDB, you can do:
r.table('test').changes().filter{ |row|
row['new_val']['score'] > row['old_val']['score']
}
The above changefeed will only return changes where the new score is
greater than the old score. Is this possible with live queries?
- Does LiveQuery have anything similar to the RethinkDB "squash" option,
which can be set to squash a set of changes that happen within a particular
timespan into just a single change?
- How scalable are live queries? If you have a web application with tens
or hundreds of thousands of connected users, each user with several of
their own unique live queries, will OrientDB be able to handle that. The
RethinkDB Horizon docs claim it is "designed to support millions of
realtime feeds" (with proper horizontal scaling of the database). Is
OrientDB in the same league? What kind of load would be realistic for a
single server, and is there any bottleneck that would inhibit horizontal
scaling to support more and more live queries?
- Any other notable differences from RethinkDB changefeeds?
More generally, what is OrientDB's commitment to developing and promoting
the LiveQuery feature? RethinkDB promotes its changefeeds as its primary
distinguishing feature ("The open-source database for the realtime web").
However, it does not appear that LiveQuery is mentioned *anywhere *on the
marketing parts of the OrientDB website (except for a single year-old blog
post), and you have to dig fairly deep in the documentation to discover the
feature even exists. Is this feature a priority for OrientDB?
Finally, given RethinkDB's recent fate, it would be nice to know more about
the health of OrientDB LTD. Is the company profitable and poised to be
around for a while?
Thank you.
Anthony
--
---
You received this message because you are subscribed to the Google Groups
"OrientDB" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
For more options, visit https://groups.google.com/d/optout.