Моя компания работает над проектом разработки с использованием SQL Server 2008 Express. Объем данных, которые мы планируем хранить в нашей основной таблице, быстро превысит ограничение в 4 ГБ для Express. Мы можем купить себе немного времени с SQL Server 2008 R2, но в конечном итоге мы также преодолеем ограничение в 10 ГБ.
Руководитель группы хочет услышать все доступные варианты перед покупкой лицензий для Standard Edition. Нашими специалистами являются SQL Server и Oracle, поэтому использование MySQL или PostgresSQL будет рассматриваться в качестве последнего средства.
Единственная альтернатива, которую я могу придумать, - это дизайн, в котором основная таблица горизонтально разделена на отдельные базы данных. Кроме того, будет центральная база данных для хранения информации о том, где хранятся данные.
Например, все данные таблицы за 2008 год будут храниться в DB_2008, данные 2009 года - в DB_2009 и т. Д. Таблица метаданных может выглядеть так:
PKStartDate PKEndDate DBName
----------- ---------- ----------
2008-01-01 2008-12-31 DB_2008
2009-01-01 2009-12-31 DB_2009
2010-01-01 2010-12-31 DB_2010
Эта таблица будет использоваться для определения расположения в базе данных данных для наших хранимых процедур. Большая часть нашего кода уже использует параметризованный динамический SQL, так что это не составит труда реализовать.
Кто-нибудь когда-нибудь делал это раньше?
Существует ли установленная модель для этого типа дизайна или это просто ужасная идея?