Where communities thrive

  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
Repo info
    Nate Smith
    what is the scaling bottleneck is likely to vary by application and data model
    ShareDB has a number of optimizations at a number of levels of the stack to deal with scaling, so it really depends on a lot of things and how you use it
    no complex system has a simple big O notation breakdown unless you clearly define the scope of the problem or it is heavily dominated by a single long pole
    in some ways, ShareDB has better ways to deal with scaling than Meteor, for example, because it uses operations sent over pubsub channels that you can customize
    whereas meteor has to tail the full op log and consume it and you can end up with every server needing to process every message
    Nate Smith
    but both meteor and sharedb have a bunch of different optimizations around when to re-poll queries and when you can figure stuff out in memory vs going to the db when you can just check a single doc vs running the whole query again
    it just depends on a ton of stuff
    and to be honest, the limiting factor could be parsing JSON or the database or network or a lot of stuff
    you just have to test, measure, and improve

    yep, I see there are different scenarios and updates are optimised. But is it possible to optimise situation when many users create many messages in different chat rooms? Do we need index events to do that?

    If it’s true that currently any single create op triggers all queries to poll, then in our worst scenario we might see a phisical limit of how many queries node can run in a given period of time, and if create ops fired faster than node is able to throttle them it’s gonna be a bottleneck.

    We can split node to several processes, but if there many users in a room, then we’ll have scaling problems.

    In a real world if we would work on the app like this gitter chat, would we use query subscriptions, or maybe it would be more efficient to use a chat room to store the array of latest message id’s and use those id’s to subscribe to messages without a query?

    Hi, is someone on?
    Jonas Liljegren
    Are where a chat for ShareDB?
    Risto Novik
    as I understood the old ShareJS users should move over to ShareDB?
    Jonas Liljegren
    ShareJS is for collab text editing. ShareDB is for json data.
    Nate Smith
    We can chat about both here
    ShareDB has a larger scope, but it is all in the same family and uses the same OT types
    I'm migrating my ShareJs project to ShareDB and I don't know what to do with codemirror... any advice please? I can't keep using share-codemirror anymore
    Nate Smith
    are you using ShareJS 0.6 currently?
    i've never used sharejs-codemirror, so don't know much about it, but you could try and contact the author
    there are lots of different ways of representing a text document with sharedb, because you can use the text type, use the string operations of a JSON0 type document, or you can embed subtype operations in a JSON0 document
    we've started to create examples, but there are a lot of variations to cover
    Curran Kelleher
    Hello is anyone here?
    Ilkka Huotari
    Should ShareDB stuff be discussed here as this is the original channel? If so, a question: would it be possible/feasible to create some kind of offline support (with service workers) for ShareDB? Has anyone been thinking about this?
    Arif Fadhillah
    hi everyone I'm still a beginner about OT, and I see that shareJs are now sharedb, now I am learning to build applications using angular because I want to implement OT into my application, I plan to use sharedb, well how do I install sharedb on shared angular applications I wake up