Выбор технологии базы данных

Мы намереваемся создавать платформу онлайн (API, Серверы, Данные, Гавайи!). Для контекста предположите, что мы должны создать что-то как Твиттер, но с комментариями (твиты), организованные вокруг прямой трансляции. Информация о самой прямой трансляции должна быть передана клиентам максимально быстро и последовательно, в то время как комментарии о событии могут, вероятно, ожидать немного дольше, чтобы быть поставленными. Мы будем тяжелы чтением после того, как прямая трансляция закончится.

Масштабируемость очень важна. Мы хотим начать арендовать части VPS и масштабироваться оттуда. Я - большой поклонник облака и хотел бы остаться там максимально долго. Мы будем, вероятно, использовать рубин.

Я убежден, что хочу попробовать хранилище документа вместо RDBMS. Мне нравятся идея бессхемного устройства хранения данных и обещания более легкой масштабируемости путем фокусировки на значении ключа.

Проблема, я не знаю, какая технология наиболее подходит для нашей платформы. Я посмотрел на Диван, монго, Корпус Токио, Cassandra и RDBMS с blobbed документами. Какая-либо справка, выбирающая правильный инструмент для этого конкретного задания?

5
задан Chris Gerken 6 October 2012 в 14:41
поделиться

3 ответа

Оформить заказ отсутствия сравнения альтернатив SQL со стороны BJ Clark .

Масштабируемость очень важна.

Тогда вам нужно рассмотреть выдержки из своего блога:

  1. Токийский кабинет - не масштабируется
  2. Redis - не масштабируется
  3. проект Voldemort - весы
  4. Mongodb - Limed (Sharding был Реализовано)
  5. Кассандра - весы
  6. Amazon S3 - весы
  7. диван - не масштабируется ( кластеризация & репликация)
  8. MySQL - не масштабируется

и рассмотрим Hypertable . Это также серьезное соперник в альтернативах No-SQL. Это открытый источник реализации большой концепции Google концепции. Я считаю, что это хорошо, потому что она широко используется китайской поисковой системой Baidu и развлекательным порталом.

Вы говорили:

информация о живом событии Сама должна быть доставлена ​​клиентам как быстро и последовательно, насколько это возможно, в то время как комментарии о мероприятии могут Вероятно, подождите немного дольше, чтобы быть доставлен. Мы будем читательными после живое событие заканчивается.

Это что-то вроде подхода Twitter. Ваш выбор языка программирования также очень важен, потому что Twitter изначально пошел с Ruby для доставки спины, но они говорили , это не правильный выбор, и они переместили все систему доставки сообщения в Scala Язык.

Они все еще используют Ruby для своего интерфейса. Если вы хотите пойти с высоконадежным, неисправным толерантным системой, которая хорошо подходит для масштабируемых сред, то вам следует рассмотреть Scala или Erlang .

7
ответ дан 14 December 2019 в 01:08
поделиться

Ramesh имеет хорошее резюме. Я бы добавил, что Cassandra имеет модель более богатых данных, чем клоны ValiLLA Dynamo (например, Voldemort или Dynomite): строки с именами, сортированными столбцами, а не просто ключом / значением. Кассандра используется Twitter, Mahalo, OboLya, Simplegeo, Webex и другими виптами ( http://n2.nablble.com/cassandra-users-survey-tdd40040068.html ), по крайней мере, некоторые из которых Запускаются кластеры Cassandra на облачных серверах EC2 или Rackspace.

1
ответ дан 14 December 2019 в 01:08
поделиться

Если вы хотите масштабировать горизонтально (распределите свои данные более одного узла), вы должны воспользоваться теоремой CAP.

http://www.julianbrowne.com/article/viewer/breters-cap-therem

Это не легко, но вы должны выбрать, всегда есть какая-то торговля.

1
ответ дан 14 December 2019 в 01:08
поделиться
Другие вопросы по тегам:

Похожие вопросы: