File sharing software

Yariv Sadan yariv@REDACTED
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  
> questions:
> 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.
> jay

More information about the erlang-questions mailing list