On 5/22/20 11:13 AM, Jan Lehnardt wrote:
On 22. May 2020, at 15:06, Miles Fidelman
<mfidel...@meetinghouse.net> wrote:
Hi Jan,
On 5/22/20 6:17 AM, Jan Lehnardt wrote:
Hi Miles,
I wanted to reply for a while, but struggled to find a good angle. I
think I finally figured out what I missed. I’m not sure I understand
your deployment scenario.
When I think conference app, I think folks having that on their
mobile phones, or tablets. Given that, you’d be using PouchDB (for
web apps) or one of Cloudant mobile sync libraries (if it is a
native app). Either way, to get the data to the devices, it’d have
to come from somewhere, but then you say there is no central server.
Where does the data come from?
I was using that as an example - but I'm really thinking more the
case of "smart documents." Think of a plan (business, mission) or
briefing package - and the whole notion of "living documents.
not sure what these are and how they compare to CouchDB documents.
"Living Document" as in writerspeak - a binder full of documentation
that is continually being kept up to date, the latest version of a
proposal, a book draft, a theatrical script that's being marked up with
commentary during rehearsal, etc.
Or think of marrying a wiki to a DCVS.
It sounds like you imagine the devices talking to each other in a
replication mesh kind of way. While technically possible from a
CouchDB replication protocol point of view, this approach isn’t very
practical. For one, you won’t be able to guarantee that all devices
can talk to each other, especially when you don’t control the wifi.
What’s more likely is that you’d have central CouchDB server that is
connected to the wifi network, either on site, or in a datacenter
somewhere that all devices connect to.
Having that many devices talk to a central database to get all the
relatively static data of the conference (schedule, info, etc),
doesn’t sound like much of a problem. Group interaction is a little
more interesting. You could model this a 1-db-per-group, and it
would work okay, but there are some devil-in-the-details-details to
work out with access control and joining and leaving a group, etc.
So overall:
- what architecture do you envision?
- I think this can be made to work.
- CouchDB definitely can handle 5000 intermittent clients. Depending
on your use-case, you may need more or less computing resources for
this, but there aren’t any fundamental blockers in CouchDB’s design
that would prevent this from being a success.
I keep coming back to the model of replicated copies, stored in
something like a distributed version control system, linked by a
publish-subscribe network. (Not that much different than the way
large-scale modeling & sims are done - local "world models" linked by
a protocol like DIS or HLA.)
I've been wondering if Couch/Pouch might make a good platform -
coupled with something like NNTP for epidemic style distribution of
changes.
If you squint a little, CouchDB fits your buzzword bill here, but
without more concrete descriptions of what you need (rather than
less), we can’t help much.
And you didn’t address the network connectivity issue. If you plan to
have device-to-device communication, and you are not Apple or Google
making those devices and/or mobile operating systems, you won’t be
having much luck, especially on the web platform.
I'm thinking tactical environments & mesh networks, with intermittent
connectivity. Updates propagate slowly, but with either automatic
fork/merge, or with eventual consistency.
Cheers,
Miles
Best
Jan
—
Miles
Best
Jan
—
On 20. May 2020, at 14:23, Miles Fidelman
<mfidel...@meetinghouse.net> wrote:
Hi Folks,
I'm thinking of using Couch (or Couch plus Pouch) as the platform
for a conference program app - everyone gets their copy of the
program, plus handouts/proceedings, with the added capabilities to
set up one's personal schedule, hold side conversations with
various groups, schedule BOF meetings, etc.
Which leads me to wonder what experience folks have had with
scaling - particularly without using a central server. Can, say,
5000 instances, linked intermittently, stay reasonably consistent?
What's the largest collection of Couch instances anybody has played
with?
Thanks,
Miles Fidelman
-- In theory, there is no difference between theory and practice.
In practice, there is. .... Yogi Berra
Theory is when you know everything but nothing works.
Practice is when everything works but no one knows why.
In our lab, theory and practice are combined:
nothing works and no one knows why. ... unknown
-- In theory, there is no difference between theory and practice.
In practice, there is. .... Yogi Berra
Theory is when you know everything but nothing works.
Practice is when everything works but no one knows why.
In our lab, theory and practice are combined:
nothing works and no one knows why. ... unknown
--
In theory, there is no difference between theory and practice.
In practice, there is. .... Yogi Berra
Theory is when you know everything but nothing works.
Practice is when everything works but no one knows why.
In our lab, theory and practice are combined:
nothing works and no one knows why. ... unknown
--
In theory, there is no difference between theory and practice.
In practice, there is. .... Yogi Berra
Theory is when you know everything but nothing works.
Practice is when everything works but no one knows why.
In our lab, theory and practice are combined:
nothing works and no one knows why. ... unknown