by

Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Repo info
Activity
    Jan
    @jan-scorl

    @pubkey Great, now we understand each other.

    So basically rxdb puts more of the workload on the server, because the server now has to maintain a view for every document type and handle more http requests. In return, the client has multiple database instances to work with, which can have the advantages you mentioned.

    Have there been any benchmarks or comparisons between these two approaches and how well they scale?

    It seems likely that the rxdb approach requires a more powerful server to serve the same number of clients but it would be interesting to know how much more powerful. Cloud bills are expensive, so some quantitative approximation of the difference would be really interesting to know.

    Also a relevant question: For which kind of use cases and at what workloads does the rxdb approach (multiple database instances on the client side) start to pay off?

    Has there been any work in that direction? @jaredly Could that be an interesting aspect for your review?

    Jozef Maxted
    @zefman
    @pubkey Hey just looking into rxdb for a project, and it looks excellent! I'm just wondering how does it handle storage memory management? If you use the IndexedDB adapter does it use the pouchdb auto compact, or can you turn it on? Also with the replication strategies is there a way of saying I want to only sync the last months worth of data for example?
    Daniel Meyer
    @pubkey
    @jan-scorl I do not think many people have the same problem. Also the couchdb protocol requires so many http requests, so if you care about them, do not use couchdb replication at all. Couchdb replication can work in any king of network topology but this come with big performance cost.
    That was one of the main reasons why I also added the GraphQL replicatoin
    renierG
    @renierG
    @pubkey i created a pull request with the failing test. highly expecting that this is causing no problem on your side: is rxdb with an in-memory adapter writing any persistent files which could be corrupted? for example i not always destroyed rxdb instances; maybe causing this bug on my local setup
    wollnyst
    @wollnyst
    Hi, I think I found a bug when sorting by multiple keys: The order attribute is ignored for the second property is ignored.
    So if I write a query like sort({a: ‘desc’, b: ‘asc’ }) the asc of b is ignored.
    After reading pubkey/rxdb#1972, I tried using .sort([{ a: ‘desc’ }, { b: ‘asc’ }]), which results in an error.
    I made a codesandbox demo here. Is there something I am missing or is this a bug?
    Daniel Meyer
    @pubkey
    @wollnyst your code looks ok. This is likely a bug. Have you tested the result with plain pouchdb?
    wollnyst
    @wollnyst
    Not yet, but I can do it. Maybe I'll have time to test it tomorrow.
    wollnyst
    @wollnyst
    @pubkey I have added a test for plain pouchdb here, which seem to fail as well. This would mean it’s actually a bug of pouchdb, isn’t it?
    Daniel Meyer
    @pubkey
    @wollnyst yes
    but notice that pouchdb has a different sort syntax like sort: ["-a", "b"]
    wollnyst
    @wollnyst

    Hm I was referring to this documentation: https://pouchdb.com/api.html#query_index (search for ’desc’).

    However, it look like it’s indeed an unresolved PouchDB Bug: pouchdb/pouchdb#7863

    So nothing we can do, correct?
    Daniel Meyer
    @pubkey
    @wollnyst nothing we can do at RxDB. When Couchdb supports this query, then pouchdb should too and I think a PR fixing this would be merged
    Daniel Meyer
    @pubkey
    @wollnyst it seems like couchdb also does not support mixed sorting https://stackoverflow.com/questions/51478771/can-i-use-hyperledger-couchdb-mixed-ordering
    I think RxDB should add a dev-mode check to not have hidden wrong behavior
    dzcpy
    @dzcpy
    Hi, I'm new to rxdb. I'd like to know is it possible for rxdb to keep sync with couchbase, instead of couchdb? As far as I know, pouchdb can do it.
    Chris533
    @Chris533
    Hello everyone, BunAdmin has just supported one-click install / update plugin. Could you give me some security and performance suggestions please? Code: https://github.com/bunred/bunadmin Thanks☺️
    @pubkey Hi, I'm sorry to just see your message, do you mean this version (9.0.0-beta.11)?
    Chris533
    @Chris533
    Oh, I am already using that adapter: "pouchdb-adapter-idb": "^7.2.1",
    Is there a lighthouse-like tool or test performance or other benchmarking method?
    Daniel Meyer
    @pubkey
    There is a differen adapter. Indexeddb instead of idb
    Daniel Meyer
    @pubkey

    @/all

    I just released the new major version 9.0.0.

    Upgrade now!

    https://twitter.com/rxdbjs/status/1261725951513198594

    Rizky Ario
    @rizkyario
    Hi! I'm trying to use GraphQL replicator, but lastPullDocument seems always to be null. after debugging for a while I found out that getLastPullDocument never found the doc because open_revs: true throwing error from pouchDb. Shouldn't this be open_revs: 'all'
    or my pouchDb has wrong config.
    export function getDocFromPouchOrNull(
        collection: RxCollection,
        id: string
    ) {
        return collection.pouch.get(id, {
            open_revs: true
        })
            .then(docData => {
                return docData;
            })
            .catch(() => null);
    }
    Chris533
    @Chris533
    @pubkey Thanks very much, I will try V9 and the Indexeddb later.
    Daniel Meyer
    @pubkey
    @rizkyario I think the test would instantly break if this does not work. Can you try to reproduce your problem in a test case?
    Robert Barisic - Alt Account
    @rbarisic-lme
    the manuals on using memdown are really confusing if you have no idea about leveldb. what exactly do I need to run it? Do i need a leveldb instance? something apart from importing in nodejs?
    I get the "no native build was found" error from my server with no more specific information. I think it has something to do with memdown adapter. But if rxdb uses pouchdb which is based on couchdb why do i need leveldb, what's up with all those db's
    Daniel Meyer
    @pubkey
    use the pouchdb memory adapter. Only use the levedown adapter when you know what you do
    Justin
    @fluidnotions
    Referring to this issue Browser 6 connection limit? #132 ... how does rxdb get around the browser connection limit ... I'm using pouchdb directly and have come up against this limit am wondering if I should switch if rxdb has a workaround ?
    Laurensius Adi
    @laurensiusadi
    Hi, I'm trying to use RxDB with Vue, I don't understand the Vue example with TS.
    Any example with JS or any article or tutorial? That'd be great.
    Also, how does RxDB handles auth?
    Thanks
    Daniel Meyer
    @pubkey
    @fluidnotions RxDB offers the graphQL replication which is not bound to that limit.
    @laurensiusadi no I do not have one, only the example sry. Auth handling is based on what you do and not really rxdb related. You should look up how to handle auth in couchdb or graphql
    Christopher Seven Phiri
    @sevenreup
    Hi, I have been trying to use the server plugin in my electron vue application but it keeps on crashing after I call DB.server(opts) to spawn server. It just logs Error: Invalid Adapter: undefined
    Robert Barisic - Alt Account
    @rbarisic-lme
    I have a Collection with 1 Document which has 5 sub-entries. it takes 500ms to load. HOW
    using in-memory adapter, with local client and server...
    Daniel Meyer
    @pubkey
    which replication do you use?
    Daniel Meyer
    @pubkey
    couchdb replication has a height latency because of how it works.
    Robert Barisic - Alt Account
    @rbarisic-lme
    Currently I'm polling my server where rxdb lives and get the query results via http, as I don't understand yet how to sync only specific documents
    because if I have 10 users, I don't want to replicate the entire DB onto the client, because then they would also receive the other user's personal information
    The scenario here is a multiplayer videogame (I know, this may not be the intended usecase for rxdb). currently I'm storing recently used items of player in the server, so it is consistent over every client they connect with
    there is a collection "recentItems" with an array of items and a player-id
    slachtar
    @slachtar
    I'm trying to compare realtime sync solutions, any one checked deepstream?
    https://deepstream.slack.com/
    https://deepstream.io/
    Daniel Meyer
    @pubkey
    Yes I did. Deepstream is not offline first and requiers a permanent connection to the server. Also you are bound to the deepstream backend and cannot replicate with anything else.
    slachtar
    @slachtar

    @pubkey thank you for your reply,
    for the offline storage, I made a quick search and it seems implemented https://github.com/deepstreamIO/deepstream.io-client-js/search?q=offline&type=Code

    For replication, it seems they could replicate to many databases (postgres, mongos, rethinkdb) using connectors:
    https://github.com/deepstreamIO/deepstream.io-storage-elasticsearch, https://github.com/deepstreamIO/deepstream.io-storage-mongodb, https://github.com/deepstreamIO/deepstream.io-storage-rethinkdb, https://github.com/deepstreamIO/deepstream.io-storage-postgres

    Daniel Meyer
    @pubkey
    ah. didn't know that.
    slachtar
    @slachtar
    I've discoverd RxDB and I'm loving it, but it lacks some features.
    IMHO deepstream and RxDB complete each other and may merge/collaborate together, since deepstream has rpc, auth, clustering and rxDB the sync part.
    Alan Wołejko
    @Alwox
    Hi, I have a problem with how to handle authentication using RXDB. I’m connecting it with CouchDB database but I have no idea how to add auth header to requests. I found only some info on how to do it with PouchDB using a pouchdb-authentication plugin but I can make it working with RXDB. There is any way to add JWT token to requests headers?
    techo207
    @techo207
    Hi, spmeone have a problem with import { rxCollection } from 'rxdb' in the new 9.0.0 realease?, before update it works
    Daniel Meyer
    @pubkey
    Its RxCollection, uppercase R
    Daniel Meyer
    @pubkey

    @/all

    Released version 9.1.0 with one feature and one bugfix. Also we now have set sideEffects: false for webpack tree shaking.

    https://twitter.com/rxdbjs/status/1267205924994850816