On Jun 29, 2011, at 4:59 PM, Zdravko Gligic wrote: > In many places I have read how Erlang runs on small devices and how > (as a result) it is very frugal with resources. I think that I have > read that or at least something to that effect.
I’m not an Erlang expert, but the “typical” use-case Erlang was designed for was running Ericsson’s telecom switches, which are not small devices. The resource advantage it has is very lightweight parallelism, so you can run tens of thousands of ‘processes’ at once without consuming huge amounts of RAM in stack space. > Whenever I come across such CouchDB resources related postings, I keep > thinking about all of those Couches on all of those mobile devices (at > least in all of those presentations and slides) and asking my self > "how do they do that" ? A mobile device is typically going to use CouchDB to store personal-sized data sets, like your to-do list or phone book or bug queue, or your save state in a game. And it’s probably going to have one client at a time, connected by loopback on localhost, sometimes making a single sync connection to an upstream server database. In other words, it’s not going to be serving a million-document corporate database to thousands of clients simultaneously. For those sort of workloads, CouchDB runs fine on a mobile device, especially if the client compacts the database frequently. SQLite might be a good comparison — you could use it to manage very large databases [although maybe not so well as MySQL or Postgres] and for that purpose you’ll want a good amount of RAM and disk space. But for small data sets, it fits fine into embedded devices like iPhones and even microwave ovens. —Jens
