Народ, спасибо за многочисленные отклики. Не мог сразу всем ответить.
База данных не подходит по следующим причинам:
1. Приложение наше работает с данными заказчика, данные эти поступают в том виде, как я сказал: ~5000 столбцов на ~миллион строк. Сроки выполнения заказа критичны, и нет времени каждый раз пытаться проектировать базу под конкретного заказчика. Дизайн поступающий от заказчика не обсуждается - это данность причем имеющая смысл (см пункт 2)
2. Алгоритмы работы во многом взяты из линейной алгебры, т.е. идет работа со строкой как с целым.
3. Размер алгоритмов порядка 30-100 тыс строк С++ кода. Портировать это на храниые прцедуры не представляется реальным.
4. Все алгоритмы, фактически, взять два значения сложить или умножить, положить обратно и так много часов, если обращаться к серверу БД, даже очень оптимизированному, то занимает кучу времени. Сравните прямое обращение к памяти с вызовом удаленной процедуры на другой машине (процессе).
Насчет файлов:
1. предполагаю подсоединять большии куски в память, чтобы обращения к диску было мало.
2. Исполняться все это будет на мощных серверах, там работа с диском быстрая и не требует процессорных ресурсов. Насколько я знаю обрабатываться могут несколько запросов параллельно.
3. Сервер БД так или иначе все равно использует MM файлы (по крайней мере МС СКЛ).
4. Если действительно производительность так упадет, то попробую делать predictive read. Хотя даже если упадет в 2 раза, то можно мириться. Тут счастливы будут, если вообще работать будет.
Насчет 64-бит процессоров:
1. Итаниум умирает - мы поэтому и не рассматриваем его. Да и очень дорог он. Я все таки получаю не настолько много, чтобы 1-2 месяца моей работы стоили как 8 процессорный сервак.
2. AMD64 еще не имеет стабильной операционки. Как винды выйдут под него так начнем портировать. Да и все равно потребует, чует мое сердце после знакомства с этими алгоритмами, это много затрат.
3. PAE/AWE это что-то типа XMS/EMS то еще извращение. Конечно оно хорошо, но Advanced Server адресует только 8 ГБ, что лучше чем 3, но не намного. Да и работать с ними тоже потребует много програмирования.
4. Спарк не катит: портировать алгоритмы надо раз., тот же софт мы будем продавать заказчикам у которых Wintel стоит в основном это два, дешевый САН не прокатит это три. Нужно что-то с 4-8 процессорами, 8 ГБ памяти
Woozy: Спасибо за линк, буду смотреть.
Lepsik: Ты гонишь

.
Долб**б: Спасибо, буду смотреть Рихтера, но по моему там нет ничего нужного, теорию я и так неплохо знаю. Интересует конкретный опыт имплементации.
AMC: Спасибо за советы, буду обращаться к тебе по поводу САСа и бинарного дерева, если не против.
Всем остальным большое спасибо еще раз.