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