Hello! On Tuesday 05 May 2009 10:46:29 Eugene Berdnikov wrote: > > Разработчики Оракла тоже верили. Вот только почему-то действительно > > большие БД (> 10 Тб) с оракла зачастую перетаскивают на Терадата, хотя это > > сопряжено с большими трудностями и затратами. Уж не потому ли, что > > разработчики Терадата не используют разделяемую память и их СУБД > > масштабируется линейно?.. > > В Терадата нет индексов? Вай-вай, how can I resist you... ;)
А при чем тут индексы? В эскулайте, к примеру, есть режимы работы с shared cache и без него, и в обоих режимах доступны все возможности СУБД (ну, если быть точным, в режиме с общим кэшем виртуальные таблицы, которые предоставляют интерфейс к внешним источникам данных, не работают). PostgreSQL использует shared memory и, пока обрабатываемые запросом данные в ней помещаются, работает, но обсчет выборки, намного превосходящей объем ОЗУ (обычно значительная часть ОЗУ отдается под общую память для постгреса) становится проблемой. А вот СУБД без общей памяти, как правило, умеют работать с данными на диске, а не пихают все данные в ОЗУ. Что касается Терадаты, то это представитель класса параллельных СУБД: "При использовании подхода без разделяемых ресурсов каждый процессор имеет монопольный доступ к собственной оперативной памяти и к набору дисков. Таким образом, каждый узел можно рассматривать как локальную машину (со своей базой данной и своим программным обеспечением) в распределенной системе баз данных." (См. Распределенные и параллельные системы баз данных М. Тамер Оззу, Патрик Валдуриз Источник: журнал Системы Управления Базами Данных # 4/1996, издательский дом «Открытые системы» Новая редакция: Сергей Кузнецов, 2009 г. Оригинал: M. Tamer Ozsu, Patrick Valduriez. Distributed and parallel database systems.) Вероятно, на узлах shared memory может использоваться и в Teradata, однако узлы между собой не имеют общих ресурсов. Best regards, Alexey Pechnikov. http://pechnikov.tel/