Twoorl: an open source Twitter clone

View: New views
20 Messages — Rating Filter:   Alert me  
< Prev | 1 - 2 - 3 - 4 - 5 | Next >

Twoorl: an open source Twitter clone

by Yariv Sadan-2 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Hi,

I created an open source Twitter clone in Erlang called Twoorl. I
wrote it on top of ErlyWeb/Yaws.  You can see it at http://twoorl.com.
The code is at http://code.google.com/p/twoorl.

I'll appreciate any feedback!

Thanks,
Yariv
_______________________________________________
erlang-questions mailing list
erlang-questions@...
http://www.erlang.org/mailman/listinfo/erlang-questions

Re: Twoorl: an open source Twitter clone

by Nick Gerakines :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

MySQL? Seriously?

I've heard from multiple sources database congestion is a major source
of scaling problems for websites. Why take MySQL over a fragmented
mnesia store or a set of hybrid services?

# Nick Gerakines

On Wed, May 28, 2008 at 10:12 PM, Yariv Sadan <yarivsadan@...> wrote:

> Hi,
>
> I created an open source Twitter clone in Erlang called Twoorl. I
> wrote it on top of ErlyWeb/Yaws.  You can see it at http://twoorl.com.
> The code is at http://code.google.com/p/twoorl.
>
> I'll appreciate any feedback!
>
> Thanks,
> Yariv
> _______________________________________________
> erlang-questions mailing list
> erlang-questions@...
> http://www.erlang.org/mailman/listinfo/erlang-questions
>
_______________________________________________
erlang-questions mailing list
erlang-questions@...
http://www.erlang.org/mailman/listinfo/erlang-questions

Re: Twoorl: an open source Twitter clone

by Yariv Sadan-2 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Facebook runs on MySQL -- that's pretty scalable :)

The main reason I didn't go with Mnesia for storing most data is the
dets issues discussed previously on this list (specifically, the long
repair times and the need for fragmentation over 4gb). I use Mnesia
for storing session data though.

Yariv

On Wed, May 28, 2008 at 10:26 PM, Nick Gerakines <nick@...> wrote:

> MySQL? Seriously?
>
> I've heard from multiple sources database congestion is a major source
> of scaling problems for websites. Why take MySQL over a fragmented
> mnesia store or a set of hybrid services?
>
> # Nick Gerakines
>
> On Wed, May 28, 2008 at 10:12 PM, Yariv Sadan <yarivsadan@...> wrote:
>> Hi,
>>
>> I created an open source Twitter clone in Erlang called Twoorl. I
>> wrote it on top of ErlyWeb/Yaws.  You can see it at http://twoorl.com.
>> The code is at http://code.google.com/p/twoorl.
>>
>> I'll appreciate any feedback!
>>
>> Thanks,
>> Yariv
>> _______________________________________________
>> erlang-questions mailing list
>> erlang-questions@...
>> http://www.erlang.org/mailman/listinfo/erlang-questions
>>
>
_______________________________________________
erlang-questions mailing list
erlang-questions@...
http://www.erlang.org/mailman/listinfo/erlang-questions

Re: Twoorl: an open source Twitter clone

by Rapsey :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Are the repair times really that much of a problem? It's not like servers or erlang runtime crash that often.
I would think the advantages of using mnesia far outweight the disadvantages. Mnesia is much easier to scale and work with than mysql.


Sergej


On Thu, May 29, 2008 at 7:38 AM, Yariv Sadan <yarivsadan@...> wrote:
Facebook runs on MySQL -- that's pretty scalable :)

The main reason I didn't go with Mnesia for storing most data is the
dets issues discussed previously on this list (specifically, the long
repair times and the need for fragmentation over 4gb). I use Mnesia
for storing session data though.

Yariv

On Wed, May 28, 2008 at 10:26 PM, Nick Gerakines <nick@...> wrote:
> MySQL? Seriously?
>
> I've heard from multiple sources database congestion is a major source
> of scaling problems for websites. Why take MySQL over a fragmented
> mnesia store or a set of hybrid services?
>
> # Nick Gerakines
>
> On Wed, May 28, 2008 at 10:12 PM, Yariv Sadan <yarivsadan@...> wrote:
>> Hi,
>>
>> I created an open source Twitter clone in Erlang called Twoorl. I
>> wrote it on top of ErlyWeb/Yaws.  You can see it at http://twoorl.com.
>> The code is at http://code.google.com/p/twoorl.
>>
>> I'll appreciate any feedback!
>>
>> Thanks,
>> Yariv
>> _______________________________________________
>> erlang-questions mailing list
>> erlang-questions@...
>> http://www.erlang.org/mailman/listinfo/erlang-questions
>>
>
_______________________________________________
erlang-questions mailing list
erlang-questions@...
http://www.erlang.org/mailman/listinfo/erlang-questions


_______________________________________________
erlang-questions mailing list
erlang-questions@...
http://www.erlang.org/mailman/listinfo/erlang-questions

Re: Twoorl: an open source Twitter clone

by Anders Nygren :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

2008/5/29 Rapsey <rapsey@...>:
> Are the repair times really that much of a problem? It's not like servers or
> erlang runtime crash that often.
> I would think the advantages of using mnesia far outweight the
> disadvantages. Mnesia is much easier to scale and work with than mysql.
>

I don't know who scared Yariv about dets, but it is interesting
to note in The Erlang Efficiency Guide it now says.

"2.6 Myth: Repairing a Dets file is very slow

The repair time is still proportional to the number of records in the
file, but Dets repairs used to be much, much slower in the past. Dets
has been massively rewritten and improved. "

So I don't know if his worries still apply.

/Anders

>
> Sergej
>
>
> On Thu, May 29, 2008 at 7:38 AM, Yariv Sadan <yarivsadan@...> wrote:
>>
>> Facebook runs on MySQL -- that's pretty scalable :)
>>
>> The main reason I didn't go with Mnesia for storing most data is the
>> dets issues discussed previously on this list (specifically, the long
>> repair times and the need for fragmentation over 4gb). I use Mnesia
>> for storing session data though.
>>
>> Yariv
>>
>> On Wed, May 28, 2008 at 10:26 PM, Nick Gerakines <nick@...>
>> wrote:
>> > MySQL? Seriously?
>> >
>> > I've heard from multiple sources database congestion is a major source
>> > of scaling problems for websites. Why take MySQL over a fragmented
>> > mnesia store or a set of hybrid services?
>> >
>> > # Nick Gerakines
>> >
>> > On Wed, May 28, 2008 at 10:12 PM, Yariv Sadan <yarivsadan@...>
>> > wrote:
>> >> Hi,
>> >>
>> >> I created an open source Twitter clone in Erlang called Twoorl. I
>> >> wrote it on top of ErlyWeb/Yaws.  You can see it at http://twoorl.com.
>> >> The code is at http://code.google.com/p/twoorl.
>> >>
>> >> I'll appreciate any feedback!
>> >>
>> >> Thanks,
>> >> Yariv
>> >> _______________________________________________
>> >> erlang-questions mailing list
>> >> erlang-questions@...
>> >> http://www.erlang.org/mailman/listinfo/erlang-questions
>> >>
>> >
>> _______________________________________________
>> erlang-questions mailing list
>> erlang-questions@...
>> http://www.erlang.org/mailman/listinfo/erlang-questions
>
>
> _______________________________________________
> erlang-questions mailing list
> erlang-questions@...
> http://www.erlang.org/mailman/listinfo/erlang-questions
>
_______________________________________________
erlang-questions mailing list
erlang-questions@...
http://www.erlang.org/mailman/listinfo/erlang-questions

Re: Twoorl: an open source Twitter clone

by Yariv Sadan-2 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

>
> I don't know who scared Yariv about dets, but it is interesting
> to note in The Erlang Efficiency Guide it now says.
>
> "2.6 Myth: Repairing a Dets file is very slow
>
> The repair time is still proportional to the number of records in the
> file, but Dets repairs used to be much, much slower in the past. Dets
> has been massively rewritten and improved. "
>
> So I don't know if his worries still apply.
>
> /Anders
>

That's great -- I didn't see that!

What scared me was when Klacke said dets should be rewritten.

Yariv
_______________________________________________
erlang-questions mailing list
erlang-questions@...
http://www.erlang.org/mailman/listinfo/erlang-questions

Re: Twoorl: an open source Twitter clone

by Yariv Sadan-2 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

I've been using MySQL for Vimagi (http://vimagi.com) and haven't had
any problems. ErlyDB makes working with MySQL very easy -- just as
easy as Mnesia (if not easier in some cases) in terms of APIs. The
main reasons I went with MySQL are that I didn't want to deal with
fragmentation and dets repair times (yes, I know it wouldn't really
affect an app such as Twoorl, but I've already gotten into the mindset
of avoiding dets).

I actually wouldn't mind offering Mnesia as an alternate data store if
someone wants to implement it :)

Yariv

2008/5/28 Rapsey <rapsey@...>:

> Are the repair times really that much of a problem? It's not like servers or
> erlang runtime crash that often.
> I would think the advantages of using mnesia far outweight the
> disadvantages. Mnesia is much easier to scale and work with than mysql.
>
>
> Sergej
>
>
> On Thu, May 29, 2008 at 7:38 AM, Yariv Sadan <yarivsadan@...> wrote:
>>
>> Facebook runs on MySQL -- that's pretty scalable :)
>>
>> The main reason I didn't go with Mnesia for storing most data is the
>> dets issues discussed previously on this list (specifically, the long
>> repair times and the need for fragmentation over 4gb). I use Mnesia
>> for storing session data though.
>>
>> Yariv
>>
>> On Wed, May 28, 2008 at 10:26 PM, Nick Gerakines <nick@...>
>> wrote:
>> > MySQL? Seriously?
>> >
>> > I've heard from multiple sources database congestion is a major source
>> > of scaling problems for websites. Why take MySQL over a fragmented
>> > mnesia store or a set of hybrid services?
>> >
>> > # Nick Gerakines
>> >
>> > On Wed, May 28, 2008 at 10:12 PM, Yariv Sadan <yarivsadan@...>
>> > wrote:
>> >> Hi,
>> >>
>> >> I created an open source Twitter clone in Erlang called Twoorl. I
>> >> wrote it on top of ErlyWeb/Yaws.  You can see it at http://twoorl.com.
>> >> The code is at http://code.google.com/p/twoorl.
>> >>
>> >> I'll appreciate any feedback!
>> >>
>> >> Thanks,
>> >> Yariv
>> >> _______________________________________________
>> >> erlang-questions mailing list
>> >> erlang-questions@...
>> >> http://www.erlang.org/mailman/listinfo/erlang-questions
>> >>
>> >
>> _______________________________________________
>> erlang-questions mailing list
>> erlang-questions@...
>> http://www.erlang.org/mailman/listinfo/erlang-questions
>
>
> _______________________________________________
> erlang-questions mailing list
> erlang-questions@...
> http://www.erlang.org/mailman/listinfo/erlang-questions
>
_______________________________________________
erlang-questions mailing list
erlang-questions@...
http://www.erlang.org/mailman/listinfo/erlang-questions

Re: Twoorl: an open source Twitter clone

by Per Melin-3 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

2008/5/29 Yariv Sadan <yarivsadan@...>:
> Facebook runs on MySQL -- that's pretty scalable :)

By Twitter's own account the database has been their bottleneck all along.

> The main reason I didn't go with Mnesia for storing most data is the
> dets issues discussed previously on this list (specifically, the long
> repair times and the need for fragmentation over 4gb). I use Mnesia
> for storing session data though.

I wouldn't go for Mnesia either. If you're building something that's
should possibly scale to the level of Twitter, the 2 GB limit just
doesn't cut it, with or without fragmentation. And in the tests I've
done DETS got very slow long before it hit the size limit. If you use
disc_copies (which doesn't use DETS) instead of disc_only_copies
you're of course instead limited by RAM.

I (like everyone else) have built a (web) chat service that I'll
probably (alpha) release this weekend. The single biggest problem I've
been wrestling with is how to persist the messages in an efficient
manner. Right now I'm using term_to_binary and dumping that in a flat
file (much like disk_log), which works for all my needs, except for
full text search. I'd prefer not to build and store my own reverse
index.
_______________________________________________
erlang-questions mailing list
erlang-questions@...
http://www.erlang.org/mailman/listinfo/erlang-questions

Re: Twoorl: an open source Twitter clone

by Gleb Peregud :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

On Thu, May 29, 2008 at 11:20 AM, Per Melin <per.melin@...> wrote:
> Right now I'm using term_to_binary and dumping that in a flat
> file (much like disk_log), which works for all my needs, except for
> full text search. I'd prefer not to build and store my own reverse
> index.

I'm interested in an example of the reverse index implementation,
'cause i'll need one in my bachelors thesis (written in Erlang :) )

P.S. Sorry, Per, for sending previously this mail exclusively to you.
--
Gleb Peregud
http://gleber.pl/

Every minute is to be grasped.
Time waits for nobody.
-- Inscription on a Zen Gong
_______________________________________________
erlang-questions mailing list
erlang-questions@...
http://www.erlang.org/mailman/listinfo/erlang-questions

Re: Twoorl: an open source Twitter clone

by Ulf Wiger (TN/EAB) :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Gleb Peregud skrev:
> On Thu, May 29, 2008 at 11:20 AM, Per Melin <per.melin@...> wrote:
>> Right now I'm using term_to_binary and dumping that in a flat
>> file (much like disk_log), which works for all my needs, except for
>> full text search. I'd prefer not to build and store my own reverse
>> index.
>
> I'm interested in an example of the reverse index implementation,
> 'cause i'll need one in my bachelors thesis (written in Erlang :) )

For full-text search, you could peek at the rdbms_wsearch*.erl
modules in

http://jungerl.cvs.sourceforge.net/jungerl/jungerl/lib/rdbms/src/

They have not been integrated into rdbms, so they're mainly
there for future use.

The code implements full text searching using Porter's
stemming algorithm, courtesy Hans Nilsson.

BR,
Ulf W
_______________________________________________
erlang-questions mailing list
erlang-questions@...
http://www.erlang.org/mailman/listinfo/erlang-questions

Re: Twoorl: an open source Twitter clone

by Joe Armstrong-2 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

How about a using a 2-3 node ram replicated Mnesia as a front-end
cache with MySQL as a backend
store?

Add a time to live argument to all data and flush the cache to the
backend in idle time.

Adjust the time to live so as to keep the cache a reasonable size.

Best of both worlds.

/Joe


On Thu, May 29, 2008 at 8:39 AM, Yariv Sadan <yarivsadan@...> wrote:

> I've been using MySQL for Vimagi (http://vimagi.com) and haven't had
> any problems. ErlyDB makes working with MySQL very easy -- just as
> easy as Mnesia (if not easier in some cases) in terms of APIs. The
> main reasons I went with MySQL are that I didn't want to deal with
> fragmentation and dets repair times (yes, I know it wouldn't really
> affect an app such as Twoorl, but I've already gotten into the mindset
> of avoiding dets).
>
> I actually wouldn't mind offering Mnesia as an alternate data store if
> someone wants to implement it :)
>
> Yariv
>
> 2008/5/28 Rapsey <rapsey@...>:
>> Are the repair times really that much of a problem? It's not like servers or
>> erlang runtime crash that often.
>> I would think the advantages of using mnesia far outweight the
>> disadvantages. Mnesia is much easier to scale and work with than mysql.
>>
>>
>> Sergej
>>
>>
>> On Thu, May 29, 2008 at 7:38 AM, Yariv Sadan <yarivsadan@...> wrote:
>>>
>>> Facebook runs on MySQL -- that's pretty scalable :)
>>>
>>> The main reason I didn't go with Mnesia for storing most data is the
>>> dets issues discussed previously on this list (specifically, the long
>>> repair times and the need for fragmentation over 4gb). I use Mnesia
>>> for storing session data though.
>>>
>>> Yariv
>>>
>>> On Wed, May 28, 2008 at 10:26 PM, Nick Gerakines <nick@...>
>>> wrote:
>>> > MySQL? Seriously?
>>> >
>>> > I've heard from multiple sources database congestion is a major source
>>> > of scaling problems for websites. Why take MySQL over a fragmented
>>> > mnesia store or a set of hybrid services?
>>> >
>>> > # Nick Gerakines
>>> >
>>> > On Wed, May 28, 2008 at 10:12 PM, Yariv Sadan <yarivsadan@...>
>>> > wrote:
>>> >> Hi,
>>> >>
>>> >> I created an open source Twitter clone in Erlang called Twoorl. I
>>> >> wrote it on top of ErlyWeb/Yaws.  You can see it at http://twoorl.com.
>>> >> The code is at http://code.google.com/p/twoorl.
>>> >>
>>> >> I'll appreciate any feedback!
>>> >>
>>> >> Thanks,
>>> >> Yariv
>>> >> _______________________________________________
>>> >> erlang-questions mailing list
>>> >> erlang-questions@...
>>> >> http://www.erlang.org/mailman/listinfo/erlang-questions
>>> >>
>>> >
>>> _______________________________________________
>>> erlang-questions mailing list
>>> erlang-questions@...
>>> http://www.erlang.org/mailman/listinfo/erlang-questions
>>
>>
>> _______________________________________________
>> erlang-questions mailing list
>> erlang-questions@...
>> http://www.erlang.org/mailman/listinfo/erlang-questions
>>
> _______________________________________________
> erlang-questions mailing list
> erlang-questions@...
> http://www.erlang.org/mailman/listinfo/erlang-questions
>
_______________________________________________
erlang-questions mailing list
erlang-questions@...
http://www.erlang.org/mailman/listinfo/erlang-questions

Re: Twoorl: an open source Twitter clone

by Lev Walkin :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Joe Armstrong wrote:
> How about a using a 2-3 node ram replicated Mnesia as a front-end
> cache with MySQL as a backend
> store?
>
> Add a time to live argument to all data and flush the cache to the
> backend in idle time.
>
> Adjust the time to live so as to keep the cache a reasonable size.

This is the hardest part. It is easier to interface with memcached,
or several, at this point. You can even have more than 4g cached
in memory with several memcached and PAE on a single machine.

> Best of both worlds.
>
> /Joe
>
>
> On Thu, May 29, 2008 at 8:39 AM, Yariv Sadan <yarivsadan@...> wrote:
>> I've been using MySQL for Vimagi (http://vimagi.com) and haven't had
>> any problems. ErlyDB makes working with MySQL very easy -- just as
>> easy as Mnesia (if not easier in some cases) in terms of APIs. The
>> main reasons I went with MySQL are that I didn't want to deal with
>> fragmentation and dets repair times (yes, I know it wouldn't really
>> affect an app such as Twoorl, but I've already gotten into the mindset
>> of avoiding dets).
>>
>> I actually wouldn't mind offering Mnesia as an alternate data store if
>> someone wants to implement it :)
>>
>> Yariv
>>
>> 2008/5/28 Rapsey <rapsey@...>:
>>> Are the repair times really that much of a problem? It's not like servers or
>>> erlang runtime crash that often.
>>> I would think the advantages of using mnesia far outweight the
>>> disadvantages. Mnesia is much easier to scale and work with than mysql.
>>>
>>>
>>> Sergej
>>>
>>>
>>> On Thu, May 29, 2008 at 7:38 AM, Yariv Sadan <yarivsadan@...> wrote:
>>>> Facebook runs on MySQL -- that's pretty scalable :)
>>>>
>>>> The main reason I didn't go with Mnesia for storing most data is the
>>>> dets issues discussed previously on this list (specifically, the long
>>>> repair times and the need for fragmentation over 4gb). I use Mnesia
>>>> for storing session data though.
>>>>
>>>> Yariv
>>>>
>>>> On Wed, May 28, 2008 at 10:26 PM, Nick Gerakines <nick@...>
>>>> wrote:
>>>>> MySQL? Seriously?
>>>>>
>>>>> I've heard from multiple sources database congestion is a major source
>>>>> of scaling problems for websites. Why take MySQL over a fragmented
>>>>> mnesia store or a set of hybrid services?
>>>>>
>>>>> # Nick Gerakines
>>>>>
>>>>> On Wed, May 28, 2008 at 10:12 PM, Yariv Sadan <yarivsadan@...>
>>>>> wrote:
>>>>>> Hi,
>>>>>>
>>>>>> I created an open source Twitter clone in Erlang called Twoorl. I
>>>>>> wrote it on top of ErlyWeb/Yaws.  You can see it at http://twoorl.com.
>>>>>> The code is at http://code.google.com/p/twoorl.
>>>>>>
>>>>>> I'll appreciate any feedback!
>>>>>>
>>>>>> Thanks,
>>>>>> Yariv
>>>>>> _______________________________________________
>>>>>> erlang-questions mailing list
>>>>>> erlang-questions@...
>>>>>> http://www.erlang.org/mailman/listinfo/erlang-questions
>>>>>>
>>>> _______________________________________________
>>>> erlang-questions mailing list
>>>> erlang-questions@...
>>>> http://www.erlang.org/mailman/listinfo/erlang-questions
>>>
>>> _______________________________________________
>>> erlang-questions mailing list
>>> erlang-questions@...
>>> http://www.erlang.org/mailman/listinfo/erlang-questions
>>>
>> _______________________________________________
>> erlang-questions mailing list
>> erlang-questions@...
>> http://www.erlang.org/mailman/listinfo/erlang-questions
>>
> _______________________________________________
> erlang-questions mailing list
> erlang-questions@...
> http://www.erlang.org/mailman/listinfo/erlang-questions

_______________________________________________
erlang-questions mailing list
erlang-questions@...
http://www.erlang.org/mailman/listinfo/erlang-questions

Re: Twoorl: an open source Twitter clone

by Tim Fletcher-5 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

> This is the hardest part. It is easier to interface with memcached,
> or several, at this point. You can even have more than 4g cached
> in memory with several memcached and PAE on a single machine.

If it helps, I have an Erlang Memcache client half written.
_______________________________________________
erlang-questions mailing list
erlang-questions@...
http://www.erlang.org/mailman/listinfo/erlang-questions

Re: Twoorl: an open source Twitter clone

by Gleb Peregud :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

On Thu, May 29, 2008 at 5:59 PM, Tim Fletcher <twoggle@...> wrote:
> If it helps, I have an Erlang Memcache client half written.

There is one ready in Cacherl project (supports get, set and delete):
http://code.google.com/p/cacherl/source/browse/trunk/memcached/src/memcached_client.erl

Feel free to use it and expand it (vide. replace command ;) )

--
Gleb Peregud
http://gleber.pl/

Every minute is to be grasped.
Time waits for nobody.
-- Inscription on a Zen Gong
_______________________________________________
erlang-questions mailing list
erlang-questions@...
http://www.erlang.org/mailman/listinfo/erlang-questions

Re: Twoorl: an open source Twitter clone

by Torbjorn Tornkvist :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Per Melin wrote:

> 2008/5/29 Yariv Sadan <yarivsadan@...>:
>> Facebook runs on MySQL -- that's pretty scalable :)
>
> By Twitter's own account the database has been their bottleneck all along.
>
>> The main reason I didn't go with Mnesia for storing most data is the
>> dets issues discussed previously on this list (specifically, the long
>> repair times and the need for fragmentation over 4gb). I use Mnesia
>> for storing session data though.
>
> I wouldn't go for Mnesia either. If you're building something that's
> should possibly scale to the level of Twitter, the 2 GB limit just
> doesn't cut it, with or without fragmentation. And in the tests I've
> done DETS got very slow long before it hit the size limit. If you use
> disc_copies (which doesn't use DETS) instead of disc_only_copies
> you're of course instead limited by RAM.
>
> I (like everyone else) have built a (web) chat service that I'll
> probably (alpha) release this weekend. The single biggest problem I've
> been wrestling with is how to persist the messages in an efficient
> manner. Right now I'm using term_to_binary and dumping that in a flat
> file (much like disk_log), which works for all my needs, except for
> full text search. I'd prefer not to build and store my own reverse
> index.

One approach could perhaps be to break out the DB-part of CouchDB and
make it available as a general purpose Erlang library ?

--Tobbe

_______________________________________________
erlang-questions mailing list
erlang-questions@...
http://www.erlang.org/mailman/listinfo/erlang-questions

Re: Twoorl: an open source Twitter clone

by Tuncer Ayaz :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

On Thu, May 29, 2008 at 8:34 AM, Yariv Sadan <yarivsadan@...> wrote:

>>
>> I don't know who scared Yariv about dets, but it is interesting
>> to note in The Erlang Efficiency Guide it now says.
>>
>> "2.6 Myth: Repairing a Dets file is very slow
>>
>> The repair time is still proportional to the number of records in the
>> file, but Dets repairs used to be much, much slower in the past. Dets
>> has been massively rewritten and improved. "
>>
>> So I don't know if his worries still apply.
>>
>> /Anders
>>
>
> That's great -- I didn't see that!
>
> What scared me was when Klacke said dets should be rewritten.

Is dets and/or ets so needy of a rewrite that lifting the size
limit is not easily implementable with a comparable
performance profile to what it has now?

Sorry if I failed to find the appropriate thread in the mailing
list archives discussing this. If there is any it would be kind
to point me there instead.

<snip>
_______________________________________________
erlang-questions mailing list
erlang-questions@...
http://www.erlang.org/mailman/listinfo/erlang-questions

Re: Twoorl: an open source Twitter clone

by Joe Armstrong-2 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Hi Yariv

Well done - now a few questions:

    - what is Twitter? and why is it good (if it is good) - can you
explain in a couple of paragraphs what it does? It seemed to be some
kind of new way for interrupting people ...

      (this is from one who thinks that e-mail is intrusive and whose
mobile phone is usually
       turned off :-)

  - the reaction to your work seems to be (oh but it doesn't  scale -
so Erlang must be no good -
    despite the fact that I believe you expressly said it was a quick
hack and wasn't designed to
   scale)

  - I might be nice to say "it doesn't scale YET" - and then sit back
and let us help
    you make it VERY scalable. I like a good challenge.

    Could you try to describe exactly what Twitter is (in an as
abstract way as possible) so that old
fogies like me can wrap our brains around the problem of making it scale -

   So what does it do? How many things must it scale to (give me
numbers here - what are
talking about - scaling is not some abstract quantity - it's number of
bytes of data delivered to end-users
per gram of CO2 - how many bytes/gm of CO2 are we aiming at?)

(aside) What does scalable mean? - I suppose the answer is some
constant cost per user.

A more literal answer would be "doesn't break when we add more users"
- but surely the cost
verses number of users curve must be more important.

In the context of Twitter what does the word "scalable mean" (how
about, we can handle
100,000 users per "box" - each box costs 500$ and consumes 25Watts -
this is constant up to
6x10^9 users)

So if anybody who knows about this stuff can chip in with a few
figures it would be helpful
- what are the desired costs for running twitter for a few million
people - how would you like
this to scale

(/aside)


/Joe Armstrong




On Thu, May 29, 2008 at 7:12 AM, Yariv Sadan <yarivsadan@...> wrote:

> Hi,
>
> I created an open source Twitter clone in Erlang called Twoorl. I
> wrote it on top of ErlyWeb/Yaws.  You can see it at http://twoorl.com.
> The code is at http://code.google.com/p/twoorl.
>
> I'll appreciate any feedback!
>
> Thanks,
> Yariv
> _______________________________________________
> erlang-questions mailing list
> erlang-questions@...
> http://www.erlang.org/mailman/listinfo/erlang-questions
>
_______________________________________________
erlang-questions mailing list
erlang-questions@...
http://www.erlang.org/mailman/listinfo/erlang-questions

Re: Twoorl: an open source Twitter clone

by Per Melin-3 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

2008/5/30 Joe Armstrong <erlang@...>:
>  - what is Twitter?

It was launched as a "micro-blogging" service. Each post is limited to
140 characters (like an SMS).

Users can follow what others post with RSS, SMS, instant messaging,
desktop applications (through an API), email or on the Twitter
website.

Some users have tens of thousands of "followers" and some follow
thousands of people.


>  - the reaction to your work seems to be (oh but it doesn't  scale -
> so Erlang must be no good -
>    despite the fact that I believe you expressly said it was a quick
> hack and wasn't designed to
>   scale)

I think the reason for this is because Twitter is plagued with daily
outages because they can't handle the load, and the internets have
been filled with speculation on why this is, and how these problems
could be avoided. In these discussions you can often find a commenter
saying that they would've used Erlang and that would've solved all
problems more or less automagically.


>   So what does it do? How many things must it scale to (give me
> numbers here - what are
> talking about - scaling is not some abstract quantity - it's number of
> bytes of data delivered to end-users
> per gram of CO2 - how many bytes/gm of CO2 are we aiming at?)

In March Twitter had on average 200 000 users per week with 3 million
messages sent per day.

They have raised $20 million in venture capital to a $100 million
valuation. So they can afford to buy hardware.
_______________________________________________
erlang-questions mailing list
erlang-questions@...
http://www.erlang.org/mailman/listinfo/erlang-questions

Parent Message unknown Re: Twoorl: an open source Twitter clone

by Patrick Logan-3 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

"I might be nice to say "it doesn't scale YET" - and then sit back and
let us help you make it VERY scalable. I like a good challenge."

Another angle on this is to use ejabberd and XMPP. The XMPP folks are
interested in "micro-blogging", ejabberd is scalable, and XMPP itself
is federated. So why build an all-new system when the IETF has already
blessed a protocol for "micro-blogging"?

To match more of Twitter's features though, the system has to go
beyond XMPP per se and integrate with the web, with SMS, etc. That
could come along gradually, but I'm not sure why all of this shouldn't
be based on XMPP at the core of it?

Demo this on top of ejabberd and yaws as two key, scalable subsystems
within an overall "micro-blogging" architecture, so to speak.

-Patrick
_______________________________________________
erlang-questions mailing list
erlang-questions@...
http://www.erlang.org/mailman/listinfo/erlang-questions

Re: Twoorl: an open source Twitter clone

by Per Melin-3 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

2008/5/30 Patrick Logan <patrickdlogan@...>:
> Another angle on this is to use ejabberd and XMPP.

Can you send a message with XMPP/ejabberd to a client that is not
online? If not, that will get you nowhere.

As far as I know (which in this case isn't far), Twitter already uses
ejabberd, but only to communicate with Jabber IM clients.

Someone from Twitter gave a presentation in 2007 called "Scaling
Twitter" which had a slide on Erlang as an alternative (to Ruby +
MySQL). It said: "What are you doing? Stabbing my eyes out with a
fork."

I guess they did have a quick look, and nothing more, at Erlang.
_______________________________________________
erlang-questions mailing list
erlang-questions@...
http://www.erlang.org/mailman/listinfo/erlang-questions
< Prev | 1 - 2 - 3 - 4 - 5 | Next >