Мне все еще приходилось делать это с помощью Microsoft SQL Server 2014 (SP2-GDR) (KB4019093) - 12.0.5207.0 (X64) Jul 3 2017 02:25:44 Copyright (c) Microsoft Corporation Standard Edition (64-bit) on Windows NT 6.3 <X64> (Build 9600: ) (Hypervisor)
, используя Entity Framework 6.2.0. Как в мире это еще не решено?!
У Karl Seguin есть хорошее сообщение в блоге о sharding.
Из сообщения:
Sharding является разделением Ваших данных через несколько серверов. Как Вы отделяетесь, Ваши данные ваше дело, но обычно они сделаны на некотором фундаментальном идентификаторе.
Поскольку 'sharding' является частью принципов архитектуры для больших веб-сайтов, можно интересоваться слушанием 'Принципов Архитектуры eBay с Randy Shoup' здесь.
Короче говоря, предположите разделять свой users_tbl через несколько серверов. Так Пользователи 1-5000 и на Сервере 1, Пользователи 5000-10000 на Сервере 2; и т.д. Если Ваша модель данных достаточно абстрактна в коде, это часто - не огромное изменение в коде.
Конечно, этот подход становится трудным, если все Ваши запросы подобны для "ВЫБОРА КОЛИЧЕСТВА (*) ИЗ users_tbl GROUP BY userType", но когда Ваш, где, "ГДЕ идентификатор пользователя = 5" затем это имеет больше смысла.