File sharing software
Thu May 4 15:11:30 CEST 2006
Jay, I guess the discussion did get a little off topic, because it
started on potential uses for Erlang in building a consumer P2P app
and ended in how to modify Mnesia to efficiently handle large
blobs :) The application I had in mind was actually the backend piece
of a client/server (or a hybrid p2p and client/server, which is
Pando's architecture) application, where the central servers have to
store large amounts of data. In Pando's case, for instance, our
servers participate in all the swarms in order to provide reliable
offline delivery, which puts massive storage requirements on our
servers. I was envisioning a similar architecture, but one that uses
Mnesia for storage on the backend.
Would Mnesia work for Pando if it had this capability? Maybe not. But
I think that this capability would make Mnesia/Erlang appealing for
many other applications for which Mnesia is currently not a great
option because they require storing large pools of media assets on
central servers (think Flickr). (As a matter of fact, if/when Mnesia
has this feature, I will go ahead and use Erlang to build a Flickr
clone, which I will name FlickER, just for fun :D )
On May 4, 2006, at 1:40 AM, Jay Nelson wrote:
> Yariv Sadan wrote (after a series of exchanges involving using
> mnesia for P2P software):
>> Well, Claes, that's very reassuring! If you're the one who wrote
>> dets, nobody would know better than you how to enhance it. Would
>> you be interested in implementing this feature? (I suppose I
>> could try to follow your guidelines and hack my own storage
>> engine, but that would be Plan B :) )
> I'm still wondering what your actual requirements are. I must be
> picturing a different application
> because I don't see the benefits of a database or dets. A few
> 1) Do you need this for a user database (e.g., all registered
> members and their buddy name)?
> a) If so, how many users?
> b) Are they to be accessed any way other than by login name?
> 2) Do you need this for a file database (e.g., all files that can
> be exchanged)?
> a) If so, why does it have to be central?
> 3) Are there some other objects that you need to store (e.g.,
> account configuration, billing, etc)?
> a) Do they have special access characteristics?
> 3) Why do you want to store blobs in a database? They won't be
> searchable in any way will they?
> 4) What features of a database do you think you need?
> Just curious if a database is really what solves your problem.
More information about the erlang-questions