Распределенный объект, большие данные - PullRequest
0 голосов
/ 27 августа 2011

У меня общий вопрос о больших объектах в памяти и распределенных вычислениях.

У меня есть большой объект, такой как Class.Object, в котором хранится много данных, например, свыше 200 000 объектов и счетчиков. Сейчас это простой объект, созданный и работающий в памяти, и клиенты вызывают данные в нем. Поскольку скорость также важна, я сериализирую этого монстра на рабочий стол, такой как C # BinaryFormatter, загружаю и запускаю его. Это проект WCF, поэтому объект остается в памяти. Мой вопрос заключается в том, как мне масштабировать это на несколько серверов, например распределенных вычислений. Есть ли в C # такой инструмент, как «разбиение базы данных» или что-то в этом роде. Есть ли база данных, в которую я могу сохранить эту информацию. Этот объект не похож на простую таблицу базы данных. Он имеет ссылки вверх и вниз по классам. На все ссылаются. Существуют хеш-таблицы и т. Д. Google, похоже, выполняет такие виды индексов монстров, используя «осколки» и разделяя данные между различными серверами. Есть ли инструмент и механизм для этого в .NET. Какой здесь подход? Я использую Windows Server AppFabric, чтобы сохранить его в памяти и загрузить, но мне кажется, что мне нужно разбить этот монстр на куски?

Любые указатели и помощь приветствуется.

Ответы [ 2 ]

0 голосов
/ 27 августа 2011

Полагаю, я не получаю "одобрений" за этот ответ, но решение вашей проблемы не в техническом осколке, а в лучшем дизайне. Если вам нужно постоянно хранить в памяти столько объектов, вам нужен действительно хороший стимул для этого. Разве нельзя загружать только часть этого за раз? Если клиент "вызывает данные в нем", клиенту не нужно возвращать всех монстров, не так ли? Если нет, попробуйте разобраться с деталями, которые действительно нужны клиенту.

0 голосов
/ 27 августа 2011

Никогда не слышал лично о некоторых уже готовых к запуску решениях по разделению БД в .NET.Было бы интересно почитать другие посты по этому вопросу.

Но для общих знаний и может быть также весьма полезной может быть ссылка:
CodeProject распределенных вычислений с Silverlight

Отличная статья, мной.

Удачи.

...