2010-01-05 2 views
2

Есть очень полезные документы, объясняющие серверные архитектуры, такие как Linkedin, MySpace, Amazon и т.д.Масштабируемость для больших приложений

После просмотра MySpace, я действительно удивлен, как они используют 500+ серверов баз данных для их применения.

Хотелось бы знать, как они будут поддерживать транзакции SQL, присоединяться, искать вверх, если данные охватывают несколько серверов баз данных?

+0

(Поскольку это более общий, просто комментарий); вот видео-презентация о стеке программного обеспечения facebook: http://www.infoq.com/presentations/Facebook-Software-Stack – miku

ответ

1

Существует отличная статья о высокой масштабируемости ebay. Они делают это до крайности, когда приложение делает все и просто использует dbs для «немого» хранилища. Приложение присоединяется, ссылочная целостность и т. Д. Почти странно думать о вещах таким образом, учитывая то, что большинство из нас имеет и какие роли играют базы данных в наших приложениях. По-видимому, это эффективно. :)

http://highscalability.com/ebay-architecture

3

Высокая масштабируемость также часть на MySpace. It's well worth a read.

Я думаю, что ключевым моментом является то, что базы данных объединяются, а не распределяются. Таким образом, вся информация, относящаяся к данному пользователю, находится в одной физической базе данных. Это относится к большинству проблем с присоединением, транзакцией и т. Д.

High Scalability не упоминает об этом, но я предполагаю, что в качестве реестра должна быть какая-то централизованная база данных: данные для пользователя # 217873828 в базе данных Profile42. Вероятно, аналогичная централизация для ссылочных данных, хотя большая часть из них, скорее всего, будет в кеше, а не считывается из базы данных.

+0

+1. Кроме того, вы можете обработать много вещей, создавая его без транзакций на уровне db. Обновления Cross db? Затем очередь в очереди транзакций, рабочие отключают ее. Вещи МОГУТ быть непоследовательными в течение некоторого времени, но это не имеет значения. В НЕКОТОРЫХ проблемных доменах это приятный образец, в некоторых (учетных) вещах все время должно быть синхронизировано. – TomTom

Смежные вопросы