Re: Re: DB Comparisons

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



2009/2/5 Nathan Rixham <nrixham@xxxxxxxxx>:
> Robert Cummings wrote:
>>
>> On Thu, 2009-02-05 at 21:03 +0000, Nathan Rixham wrote:
>>>
>>> revDAVE wrote:
>>>>
>>>> Hi Folks,
>>>>
>>>> I¹m curious if there are any previous discussions / Articles / URL¹s
>>>> that
>>>> compare the power and scalability of MySQL (with php) with other
>>>> technologies like MS sequel server oracle -  coldfusion etc....
>>>>
>>>> I imagine that most middleware like php / asp / coldfusion is relatively
>>>> good & fast - (let me know if one is better ).  Mostly I¹m concerned
>>>> with
>>>> the speed and power of the backend database as to how it functions on an
>>>> enterprise scale ­ such as how many hits it can handle per hour ­ how
>>>> many
>>>> users before it starts to slow down etc.
>>>>
>>>>
>>> honestly, if you're thinking enterprise scale then database is the least
>>> of you're worries, you'll be needing to move away from a scripting language
>>> and go for a pre compiled programming language.
>>
>> Isn't Yahoo using PHP? I thought Facebook too? Doesn't seem like they
>> moved away from a scripting language.
>>
>> Cheers,
>> Rob.
>
> only for the display tier in certain parts AFAIK, facebook had a good
> success using APC cache; however the bulk of their "applications" are
> certainly not php.
>
> ie:
>
> TIER 1 |-A : many many db servers
>            |    <------( cluster / distribution point)
>            v
>            |
>       |-B : distributed caches (like terracotta)
>       |-C : entity manager / persistence manager
>       |-D : domain model
> TIER 2 |-E : business logic
>       |-F : app interface / web service interface
>            |    <------( cluster / distribution point)
>            v
>            |
>       |-G : web service client
> TIER 3 |-H : display interface
>            |     <------( cluster / distribution point)
>            v
>           HTTP
>            |
> CLIENT |-I : end user client (web browser)
>
> that's vastly simplified with loads left out, a short time ago yahoo rolled
> out 40k new apache hadoop servers - you really think the just bolted a
> connector on the front ran a few php scripts then popped on some caching?

>From http://blog.facebook.com/blog.php?post=2223862130...

"Our Web servers use Linux and Apache and PHP. Our database servers
run MySQL. We use memcached to help keep the site snappy. Some of our
behind-the-scenes software is written in Python and Perl and Java, and
we use gcc and Boost for the parts that aren't."

Based on everything I've read there is very very little non-scripted
code behind Facebook. The performance of a web-based application
rarely has anything to do with the language it's written in. System
architecture, caching levels and DB indexes have a far more profound
effect on the performance of an app than whether it's compiled or
scripted.

To the OP: Which DB server you use is far less important than making
sure you're using it right and optimising it as much as possible. Sure
there are differences between them, and MySQL is better in certain
situations than Postgres but a badly configured and optimised Postgres
instance will always outperform a well configured and optimised MySQL
server.

"Enterprise" doesn't mean anything. if you're going to ask for
platform and software performance comparisons you need to provide a
lot more detail about what you're building, what skills you have
available and what kind of budget you're working to. I've built
websites at every level of complexity and every level of user base and
I'm yet to find the one size fits all mix of software.

-Stuart

-- 
http://stut.net/

-- 
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php



[Index of Archives]     [PHP Home]     [Apache Users]     [PHP on Windows]     [Kernel Newbies]     [PHP Install]     [PHP Classes]     [Pear]     [Postgresql]     [Postgresql PHP]     [PHP on Windows]     [PHP Database Programming]     [PHP SOAP]

  Powered by Linux