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