|
|
|
Сравнение СУБД (Oracle, DB2, Microsoft SQL Server, MySQL)
|
|||
|---|---|---|---|
|
#18+
andrey_anonymousпрограммно-аппаратный комплекс ByNet, значительное количество реальных инсталляций с десятками и сотями узлов. Пока не вижу преимуществ ByNet. Кол-во инсталляций с десятками и сотнями узлов-думаю, что у компании по производству арифмометров (с) больше :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.11.2006, 08:20 |
|
||
|
Сравнение СУБД (Oracle, DB2, Microsoft SQL Server, MySQL)
|
|||
|---|---|---|---|
|
#18+
andrey_anonymousТезка, прежде чем хамить Забавно. Призывы внимательнее читать документацию называют хамством, а ответ на замечания оппонента вида "полная ересь" и "надувание щек" - в порядке вещей. andrey_anonymousобращаем внимание на колоночку "PQ Distrib" и вдумчиво размышляем над сутью происходящего Давайте размышлять вместе. Я задал простой вопрос - "Расскажите о других способах распаралеливания join-ов в Oracle", т.е. способах помимо partition-wise. Так поподробнее пожалуйста, что за способ join-а, где описан и т.д. Из explain-а вижу обычный partition-wise. Фактически я сделал несколько утверждений: 1) Для паралельного выполнения join-а в Oracle необходимо использовать partitiong 2) Минимальной единицей паралелизма при join-е является partition 3) Перекос в распределении данных между partition-ами ухудшает производительность паралельной обработки. Первые два утверждения пока аргументировано не опровергнуты. Ничем не обоснованные заявления вида "полная ересь" не убедительны. Если третье утверждение, основанное на официальной документции Oracle, разъяснениях Тома Кайта оставляет сомнения, то пока повременю со своими собственными аргументами, давайте разберемся с первыми двумя утверждениями. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.11.2006, 14:50 |
|
||
|
Сравнение СУБД (Oracle, DB2, Microsoft SQL Server, MySQL)
|
|||
|---|---|---|---|
|
#18+
andrey_anonymous Константин, спасибо за Ваши комментарии относительно ТераДата. Пожалуйста. Надеюсь, что они были полезными. andrey_anonymous Я для себя вынес следующее, поправьте пожалуйста если я где-то неправ: 1) Количество разделов таблицы в ТераДата обязательно кратно количеству узлов, невозможно "вертикально" распределить вычислительные мощности в соответствии с потребностями приложений (например, днем 8 узлов операторам, 2 узла - batch, ночью наоборот). Если под рзаделами вы понимаете hash buckets (разделы хжш-распределения таблицы), то их для каждой таблицы (включая таблицы системного каталога) ВСЕГДА 65536 (или 65535 точно не помню). Они делятся между AMPами пропорционально количесту последних в системе. Таким, образом, каждый AMP хранит и обрабатывает более одного бакета. Степень параллелизма определяется не количеством бакетов, а количеством AMPов. Каждый узел конфигурируется так, что на нём обычно работает 8-10 AMPов. Помимо этого, тбалица может иметь PARTITIONED PRIMARY INDEX (то есть, может быть партицированной помимо того, что она распределена по хэшу первичного индекса). Партишионов может быть до 65535 тоже. Этот партишионинг логический, он только определяет порядок логической сортировки записей внутри AMP. Таким образом каждая таблица может быть логически разделена на 2^9 кусочков (если она достаточно велика для этого). По поводу "вертикального" деления системы между приложениями - это совсем не нужно. Её можно спокойно разделить горизонтально. То есть, часть системы отдать под загрузку, часть - под отчётность, часть под data mining, часть - под тактические запросы. Причём всё это можно делать динамически. Я считаю, что это гораздо более правильный способ, нежели возиться с определением количества узлов, необходимого приложениям. andrey_anonymous2) Основными конкурентными преимуществами ТераДата на сегодняшний день являются относительно простой синтаксис DDL, user-friendly вывод explain plan, программно-аппаратный комплекс ByNet, значительное количество реальных инсталляций с десятками и сотями узлов. Помимо этого, высокая степень параллельной обработки, лёгкость администрирования, поскольку СУБД сама автоматически следит за том, как данные хранятся на дисках. Отличные возможности динамического управления нагрузкой. 3) Основными недостатками ТераДата являются длительные простои при переконфигурировании, практическая непригодность для смешанных oltp+dss приложений, непригодность для систем 24х7 ввиду простоя во время резервного копирования (низкий коэффициент готовности). То есть область ее применения ограничена чистым DWH. Я бы сказал так - наличие простоев, поскольку отсутствует определение "длительного" простоя. Ну, и нужно отметить, что от версии к версии длительность простоев для переконфигурирования сокращается. По поводу OLTP - всё правильно, для OLTP Терадата никогда не позиционировалась - это специализированная СУБД для хранилищ данных. Однако, если говорить о нагрузке класса сложные DSS запросы + короткие запросы на чтение, то Терадата отлично поддерживает такой смещанный вид нагрузки. Например, систему можно сконфигурировать так, что на фоне тяжёлых аналитических запросов система будет выполнять короткие запросы типа "показать данные по одному конкретному клиенту" с заданным уровнем SLA. По поводу 24х7 и коэффициента готовности системы. Нужно отметить, что очень многие клиенты Терадата используют её как mission critical систему. Для обеспечения 24х7 существует такая конфигурация, как dual active - то есть две системы работающие параллельно, которые постоянно синхронизируются друг с другом. Об этом можно почитать здесь . andrey_anonymous Еще хотелось бы, если возможно, узнать про возможности системы по обеспечению load balancing и application failover. А что именно? Я попробую рассказать. С уважением, Константин Лисянский http://lissianski.narod.ru ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.11.2006, 15:52 |
|
||
|
Сравнение СУБД (Oracle, DB2, Microsoft SQL Server, MySQL)
|
|||
|---|---|---|---|
|
#18+
andrey_anonymous 3) Основными недостатками ТераДата являются длительные простои при переконфигурировании, практическая непригодность для смешанных oltp+dss приложений, непригодность для систем 24х7 ввиду простоя во время резервного копирования (низкий коэффициент готовности). То есть область ее применения ограничена чистым DWH. При резервном копировании Teradata полностью доступна для чтения, а при наличии журнала транзакций в базу во время backup'a можно и писать данные. На практике обычно стараются не совмещать процессы загрузки данных в хранилище и резервное копирование. Про длительные простои при переконфигурировании, ХД данных это конечно mission-critical система для любой компании, но по выходным полезная активность таких систем падает до ноля. Аналитики сидят дома, пьют пиво и смотрят футбол, а не гоняют запросы. Так что раз в 2 года сделать outage на выходных - лично я не вижу в этом проблем, в отличии от OLTP систем - к примеру системы резервирования авиабилетов на expedia.com. А если уж совсем mission-critical - то это dual-active. Про чистый DWH тоже не совсем верно. Есть клиенты которые мешают в одной системе приложения/запросы с разными требованиями по времени ответа, ну и различной сложности естественно. Как уже тут сказал Константин single-AMP запросы Teradata выполняет очень быстро в силу того, что хэш алгоритм позволяет точно определить AMP на котором лежат данные. Кроме того механизм приотизирования распределения ЦПУ ресурсов позволяет создавать разные классы пользователей для различных приложений. К примеру такой single AMP select будет выполняться очень быстро. create table A (c1 integer..) primary index (c1) select * from A where c1=123 Но конечно делать чисто OLTP систему на Teradata не имеет смысла. Архитектура Teradata на мой взгляд лучшая для построения корпоративных хранилищ, когда кол-во данных зашкаливает, а пользователей много и запросы сложные. Все что пытается делать Oracle и "голубой" производитель арифмометров - это предложить что-то похожее и вроде как более гибкое, но из-за этого мудренное и менее универсальное. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.11.2006, 08:01 |
|
||
|
Сравнение СУБД (Oracle, DB2, Microsoft SQL Server, MySQL)
|
|||
|---|---|---|---|
|
#18+
Павел Новокшонов что-то похожее и вроде как более гибкое, но из-за этого мудренное и менее универсальное. Ну уж это, извините, перегиб! Вот как раз ТД-менее универсальное, чистый DWH. А на Оракле и DB2 - хошь OLTP, хошь DSS, хошь и то и другое в одном флаконе. Про якобы сложность DB2 тоже в корне не согласен-достаточно простая в установке, настройке и сопровождении вещь. С Терадатой не работал, не знаю-может, там всё ещё проще. А может, оно проще за счёт того, что для всяких там добавлений узлов всё равно приезжает инженер техподдержки? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.11.2006, 08:33 |
|
||
|
Сравнение СУБД (Oracle, DB2, Microsoft SQL Server, MySQL)
|
|||
|---|---|---|---|
|
#18+
Константин, чем же DB2 сложнее Терадаты? На ум приходит только подбор partitioning key. Который у же как года полтора можно выбирать с помощью wisard'a. Который на основании схемы и workload позволит подкорректировать неправильный выбор. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.11.2006, 10:52 |
|
||
|
Сравнение СУБД (Oracle, DB2, Microsoft SQL Server, MySQL)
|
|||
|---|---|---|---|
|
#18+
nkulikovКонстантин, чем же DB2 сложнее Терадаты? А где я это написал? Можно процитировать? nkulikovНа ум приходит только подбор partitioning key. Который у же как года полтора можно выбирать с помощью wisard'a. Который на основании схемы и workload позволит подкорректировать неправильный выбор Возможно, для подобного сравнения Вам нужно детально ознакомиться с Терадатой, а мне с DB2 UDB. Мне сейчас, если честно, немного не до этого. Может быть, коллеги, которые лучше меня DВ2 знают, что-то напишут. Для начала можно было бы обсудить план запроса, который я запостил некоторое время назад. Можете привести аналогичный для DB2? Интересно также было бы обсудить возможности Dynamic Workload Management, раз уж вы эту тему затронули. Какие в ядре DB2 существуют механизмы динамической приоретизации пользовательских сессий? Можно ли динамически изменять выделение ресурсами между сессиями (например, наказать пользователя путём уменьшения количества выделяемых на него ресурсов в единицу времени, если он превысил лимит определённых ресурсов, например ЦП или дисков)? Или для этого нужно пользоваться внешними утилитами (например, утилитами ОС)? И насколько это гибко? Актуально для больших систем со смешанной нагрузкой и необходимостью обеспечить SLA для определённых коротких запросов на фоне тяжёлых DSS-запросов. Кстати, а сколько в последней версии DB2 хэш-партишионов можно иметь на таблице? Это к вопросу о перекосах в данных. А вышеописанный процесс реконфигурирования массивно-параллельной системы (например, добавление новых узлов) как выглядит? И ещё, вот сравнил два FDR теста TPC-H. Один от DB2, один от Oracle. Увидел, что у Oracle оверхед по дискам 1 к 23, у DB2 - 1 к 11.78. Как-то многовато, на мой взгляд на Терабайт данных 11 Терабайт сырвх дисков. Про 23 Терабайта - по-моему, очень даже, многовато... С уважением, Константин Лисянский http://lissianski.narod.ru ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.11.2006, 22:56 |
|
||
|
Сравнение СУБД (Oracle, DB2, Microsoft SQL Server, MySQL)
|
|||
|---|---|---|---|
|
#18+
nkulikovКонстантин, чем же DB2 сложнее Терадаты? Я бы сказал более политкорректно - Teradata проще в администрировании, чем DB2. Спорить с этим не имея реального опыта работы с этими СУБД дело неблагодарное. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.11.2006, 23:08 |
|
||
|
Сравнение СУБД (Oracle, DB2, Microsoft SQL Server, MySQL)
|
|||
|---|---|---|---|
|
#18+
Константин Лисянский Какие в ядре DB2 существуют механизмы динамической приоритезации пользовательских сессий? Можно ли динамически изменять выделение ресурсов между сессиями В Оракле можно (Resource Manager), в DB2, насколько я знаю - нет. Константин ЛисянскийИ ещё, вот сравнил два FDR теста TPC-H. Один от DB2, один от Oracle. Увидел, что у Oracle оверхед по дискам 1 к 23, у DB2 - 1 к 11.78. Как-то многовато, на мой взгляд на Терабайт данных 11 Терабайт сырых дисков. Про 23 Терабайта - по-моему, очень даже, многовато... Это они хитрили для увеличения скорости дисков - использовали только внешние цилиндры для активных данных. Обычная практика. Остальное пространство в реальной жизни используется для хранения бакапов и прочего (some external redundancy is assumed :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.11.2006, 23:20 |
|
||
|
Сравнение СУБД (Oracle, DB2, Microsoft SQL Server, MySQL)
|
|||
|---|---|---|---|
|
#18+
Константин Лисянский Интересно также было бы обсудить возможности Dynamic Workload Management, раз уж вы эту тему затронули. Там это называется Query Patroller. Но по-моему, в комплекте не идёт (разве что в Data Warehouse Edition - DWE). Константин Лисянский Кстати, а сколько в последней версии DB2 хэш-партишионов можно иметь на таблице? Это к вопросу о перекосах в данных. 4096. Зато можно создавать custom distribution file, в котором указать, какие партиции на какие узлы надо класть. Константин Лисянский А вышеописанный процесс реконфигурирования массивно-параллельной системы (например, добавление новых узлов) как выглядит? Подключаем узел физически. Добавляем в БД логически. Увы, чтобы он стал доступен-перестартовать таки придётся. Но это недолго, не часы и не дни. (Цитирую доку:You can add new database partitions to a partitioned database environment while it is running and while applications are connected to databases. However, a newly added server does not become available to all databases until the database manager is shut down and restarted.) После этого можно запускать процесс перераспределения данных. Насколько я знаю-обычно делают проще - заранее создают бОльшее число партиций, чем узлов, а при добавлении узлов просто перецепляют некоторые партиции на новые узлы. Тогда весь процесс можно уложить в минуты. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.11.2006, 07:00 |
|
||
|
Сравнение СУБД (Oracle, DB2, Microsoft SQL Server, MySQL)
|
|||
|---|---|---|---|
|
#18+
1) DB2 Query Patroller + 2) DB2 Governor. 1) Это проактивное реагирование на запросы покупается отдельно (не обязательно в рамках DB2 DWE) Константин, извини перепутал твой пост с постом Павла Запросы разбиваются администратором на категории (профайлы) и при компиляции (или перед выполнением) перед выполнением относятся к одной из них. В зависимости от настроек выполение далее идет по разному Например мы описываем что у нас на системе может одновременно выполнятся 100 коротких запросов стоимость которых < 100 30 средних запросов стоимость которых < 10000 2 сложных запроса стоимость которых > 10000 Когда придет 3 сложный запрос, DB2 не станет его выполнять, а поставит его в очередь. Пользователь получит предупреждение что его запрос отложен и за результатом он должен придти в таблицу YYY Конечно в категории можно к этому добавить пользователей, приложения etc. Можно так же каждой категории выставлять приоритеты. A Query Patroller submitter profile is a set of characteristics that define: * Whether Query Patroller should intercept queries from a submitter * If the submitter's queries are intercepted, what resource limits are applied to those queries * What priority level the submitter's queries have in a queue * The submitter's charge-back account code (to be used for cost tracking purposes) 2) реактивное реагирование на запросы Governor понижает приоритеты, отстреливает пользователей по факту перерасхода ресурсов. P.S. Вечером посторяюсь закинуть план. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.11.2006, 12:05 |
|
||
|
Сравнение СУБД (Oracle, DB2, Microsoft SQL Server, MySQL)
|
|||
|---|---|---|---|
|
#18+
nkulikovЗапросы разбиваются администратором на категории (профайлы) и при компиляции (или перед выполнением) перед выполнением относятся к одной из них. А на основании чего определяется сложность запроса, и как следствие, принадлежность его к той или иной категории? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.11.2006, 12:33 |
|
||
|
Сравнение СУБД (Oracle, DB2, Microsoft SQL Server, MySQL)
|
|||
|---|---|---|---|
|
#18+
... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.11.2006, 12:58 |
|
||
|
Сравнение СУБД (Oracle, DB2, Microsoft SQL Server, MySQL)
|
|||
|---|---|---|---|
|
#18+
И всё-таки хотелось бы услышать о параметрах ByNet: максимальная длина линка, скорость, задержка. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.11.2006, 07:55 |
|
||
|
Сравнение СУБД (Oracle, DB2, Microsoft SQL Server, MySQL)
|
|||
|---|---|---|---|
|
#18+
Константин Лисянский SELECT c1, c2, c3 FROM table_1 WHERE unique_primary_index=5 Выполнится, в общем случае, за одно чтение с диска. Назовите другую СУБД, которая так сумеет. Подозреваю, что сначала почитается индекс, а потом данные. В Терадате же первичный индекс - это не индекс, а функция. --> Oracle так умеет ) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.11.2006, 20:18 |
|
||
|
Сравнение СУБД (Oracle, DB2, Microsoft SQL Server, MySQL)
|
|||
|---|---|---|---|
|
#18+
OraBugВыполнится, в общем случае, за одно чтение с диска. Общий случай ограничивается IOT с малым количеством строк? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.11.2006, 20:27 |
|
||
|
Сравнение СУБД (Oracle, DB2, Microsoft SQL Server, MySQL)
|
|||
|---|---|---|---|
|
#18+
обычно только там это и важно. Но на самом деле Вы заблуждаетесь по теме их пременимости. п.с. а ведь есть ещё и cluster table, IOT + hash tables. есть и другие возможности в Oracle ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.11.2006, 20:46 |
|
||
|
Сравнение СУБД (Oracle, DB2, Microsoft SQL Server, MySQL)
|
|||
|---|---|---|---|
|
#18+
ох уж мне этот транслит (( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.11.2006, 21:04 |
|
||
|
Сравнение СУБД (Oracle, DB2, Microsoft SQL Server, MySQL)
|
|||
|---|---|---|---|
|
#18+
OraBugа ведь есть ещё и cluster table, IOT + hash tables. есть и другие возможности в Oracle НУ так опять - заранее фиксированное число хэш ключей + негарантированное одно чтение. По сути, применимо только к таблицам с ограниченным с верху числом строк. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.11.2006, 09:28 |
|
||
|
Сравнение СУБД (Oracle, DB2, Microsoft SQL Server, MySQL)
|
|||
|---|---|---|---|
|
#18+
Локшин МаркНУ так опять - заранее фиксированное число хэш ключей + негарантированное одно чтение. По сути, применимо только к таблицам с ограниченным с верху числом строк. Да, похоже на то. Oracle Enterprise Manager Database Tuning with the Oracle Tuning Pack Release 9.0.1The tables in the hash cluster are primarily static in size so that you can determine the number of rows and amount of space required for the tables in the cluster. If tables in a hash cluster require more space than the initial allocation for the cluster, performance degradation can be substantial because overflow blocks are required. С уважением, Константин Лисянский http://lissianski.narod.ru ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.11.2006, 23:31 |
|
||
|
Сравнение СУБД (Oracle, DB2, Microsoft SQL Server, MySQL)
|
|||
|---|---|---|---|
|
#18+
Константин Лисянский Локшин МаркНУ так опять - заранее фиксированное число хэш ключей + негарантированное одно чтение. По сути, применимо только к таблицам с ограниченным с верху числом строк. Да, похоже на то. Господа, а бывает по-другому? Реально применимая хеш-функция с "неограниченным количеством ключей"? Гарантированное одно чтение, независимо от количества строк ? Или я опять чего-то не понял? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.11.2006, 00:48 |
|
||
|
Сравнение СУБД (Oracle, DB2, Microsoft SQL Server, MySQL)
|
|||
|---|---|---|---|
|
#18+
Простите за реанимацию топика, коллеги. Просто вдруг захотелось взглянуть еще раз на все это с учетом текущей ситуации. Жизнь, как говорится, все расставила по своим местам - Oracle выпуском Exadata фактически подтвердил ущербность shared-everything архитектуры для задач обработки огромных объемов данных. Дальнейшее направление развития уже очевидно, все больше и больше обработки будет переносится на Exadata (которая shared-nothing) до тех пор, пока на стороне традиционной СУБД делать уже будет практически нечего. Т.о. получится, если и не Терадата в чистом виде, то что-то близкое к Netezza или AsterData (с наличием queen node)... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.04.2010, 18:43 |
|
||
|
Сравнение СУБД (Oracle, DB2, Microsoft SQL Server, MySQL)
|
|||
|---|---|---|---|
|
#18+
Apex, собственно, MS тоже сделала две заточки. одна называет Fast Track, вторая Parallel Data Warehouse ( на основе DATAllegro). собственно, Parallel Data Warehouse интересно, но... сделать такой проект в РФ - малореально. скорее всего, делать будет консалтинг MS. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.04.2010, 22:28 |
|
||
|
Сравнение СУБД (Oracle, DB2, Microsoft SQL Server, MySQL)
|
|||
|---|---|---|---|
|
#18+
ApexExadata (которая shared-nothing) Пошел почитать. Почитал. Не нашел ни намека на shared-nothing. Нашел, что Exadatовский сторадж построен на ASM. Более того, нашел явное указание, что до 6 exadat-ов могут собираться в RAC. Поделитесь плиз ссылкой где рассказано про shared-nothing ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.04.2010, 23:26 |
|
||
|
Сравнение СУБД (Oracle, DB2, Microsoft SQL Server, MySQL)
|
|||
|---|---|---|---|
|
#18+
andrey_anonymousApexExadata (которая shared-nothing) Пошел почитать. Почитал. Не нашел ни намека на shared-nothing. Ячейки Экзадаты ничего не знают о существовании друг друга и свои ресурсы не разделяют. andrey_anonymousБолее того, нашел явное указание, что до 6 exadat-ов могут собираться в RAC. Exadata в RAC не собираются, они друг о друге ничего не знают. В RAC собираются сервера самой базы данных (я думаю, Вы это сами прекрасно знаете). andrey_anonymousНашел, что Exadatовский сторадж построен на ASM. ASM - он для RACа, поверх Экзадат. "Внутре" самих Экзадат никакого ASM'а... andrey_anonymousПоделитесь плиз ссылкой где рассказано про shared-nothing ОК, это мое умозаключение, Ваше право с ним не согласиться и/или обоснованно доказать обратное. Для меня картина выглядит именно так: вектор развития именно в направлении перемещения нагрузки на ячейки Экзадаты, первая версия умела только bloom\predicate filter и column projection. Вторая уже знает о data mining функциях, следующий шаг, имхо, локальный джойн, локальная сортировка, группировка и т.д. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.04.2010, 23:48 |
|
||
|
|

start [/forum/topic.php?fid=35&msg=34106738&tid=1552808]: |
0ms |
get settings: |
11ms |
get forum list: |
15ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
46ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
60ms |
get tp. blocked users: |
2ms |
| others: | 242ms |
| total: | 399ms |

| 0 / 0 |
