powered by simpleCommunicator - 2.0.59     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Сравнение СУБД [игнор отключен] [закрыт для гостей] / Проект построения большой БД - давайте пообсуждаем
25 сообщений из 307, страница 6 из 13
Проект построения большой БД - давайте пообсуждаем
    #32649454
Фотография killed
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
onstat-
OFF: Кстате FC это коммуникационный протокол(читай протокол маршрутизации),
а не протокол работы с перефирийными устройствами.
Поэтому SCSI-FC связка существует всегда при подключении
FC диской системы (реализация FC-SCSI реализована в дисковой стойке или
на контролере диска).
FC - это протокол носитель, который инкапсулирует в себе
протокол более высокого уровня в часности SCSI.
Я не понял, что вы имели ввиду под вариантом "для бедных",
он дешевле чего? и за счет чего?


Да, коряво сказал. Я имел в виду сопряжение с дисками в стойке. Разница в цене. Дешевле за счет использования SCSI-дисков вместо FC-дисков
...
Рейтинг: 0 / 0
Проект построения большой БД - давайте пообсуждаем
    #32650107
Фотография Сергей Тихонов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ребята, мне, как автору топика, все же хотелось бы, чтобы мы обсуждали не преимущества/недостатки страйпинга и уровней RAID, а архитектуру БД. Я вот нашел интересную статью в инете: Clustering for Scalability и предлагаю ее обсудить. Так все-таки: Shared-disk или Shared-nothing ?
...
Рейтинг: 0 / 0
Проект построения большой БД - давайте пообсуждаем
    #32650141
_Dog
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Здесь 2 линка от Sybase:
The Simplification of Data Warehouse Design
http://www.sybase.com/content/1010008/rcubes_wp_L01496-v2.pdf

A New Data Warehousing Paradigm for User and Data Scalability
http://www.sybase.com/content/1008841/iq_wp_l01411-v2.pdf
...
Рейтинг: 0 / 0
Проект построения большой БД - давайте пообсуждаем
    #32650399
Фотография Сергей Тихонов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Кстати, а каким образом в архитектуре IBM DB2 определяется, какой узел (узлы) будут обрабатывать запрос? Каким образом осуществляется балансировка нагрузки на узлы: на уровне СУБД или другого софта? Где почитать можно?
...
Рейтинг: 0 / 0
Проект построения большой БД - давайте пообсуждаем
    #32650453
Константин Лисянский
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Кстати, а каким образом в архитектуре IBM DB2 определяется, какой узел (узлы) будут обрабатывать запрос? Каким образом осуществляется балансировка нагрузки на узлы: на уровне СУБД или другого софта? Где почитать можно?

Если речь идёт о массивно-параллельной архитектуре (shared nothing), то запрос обрабатываться должен одновременно (параллельно) всеми узлами. В этом заключается суть использования архитектуры MPP для СУБД.
Соответственно, балансировка нагрузки должна обеспечиваться на уровне СУБД. По карйней мере, так делается в Терадате. В DB2 должно быть то же самое.

Вот, что IBM пишет в статье:

IBMClustering for high availability is a task that can be done by the operating system for any data service like a database. Clustering for scalability requires "smarts" in the database engine as well.

Естественно, база должна быть умной и понимать, в какой среде она работает.
Для эффективной балансировки нагрузки должно выполняться одно важное условие - данные таблиц должны быть равномерно распределены по узлам системы.
Кстати, и availability тоже не только задача операционной системы, но и СУБД должна тоже понимать, что это такое, и как её достичь.


Так все-таки: Shared-disk или Shared-nothing

Для хранилищ данных больших объёмов пока ничего лучше shared nothing не придумали. По крайней мере, пока.



С уважением,
Константин Лисянский
http://lissianski.narod.ru
...
Рейтинг: 0 / 0
Проект построения большой БД - давайте пообсуждаем
    #32650476
Фотография Я и ёжик
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сергей Тихонов. Так все-таки: Shared-disk или Shared-nothing ?

А почему "или"? Мне кажется значительно интереснее вариант "и".
Федеративная база с Shared-disk узлами.
Например, имеем кластер о 8-головах и 4 базы данных работающие как федеративная база данных. В чистом Shared-nothing варианте, 4 головы заняты, 4-простаивают в ожидании аварии. Теперь берем смешанный вариант,
над кадой базой по две головы, никто не простаивает, и имеем очень гибкую систему:
1) при аварии одной из голов достаточно переключить пользователей на работающую голову над той-же базой, время восстановления минимально.
2) возможно гибкое перераспределение вычислительной мощности, допустим на ночь передаем дополнительные головы оним узлам( на которых больше нагрузка) днем другим.
3) имеем преимущество федеративного распределения нагрузки по узлам ( базам).

Таким образом мы получаем надежность, скорость восстановления и гибкость при распределении вычеслительной мощности Shared-disk и производительность и распределение нагрузки Shared-nothing.

Данный вариант возможен на Oracle. И я думаю на DB2, если не ошибаюсь на Mainframe ( какойто DB2 поддерживает Shared-disk).
...
Рейтинг: 0 / 0
Проект построения большой БД - давайте пообсуждаем
    #32650489
_Dog
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сергей, не получится ли так, что для Вас главным ограничителем окажется бюджет проекта (бюджет будет заставит использовать то или иное решение)?
...
Рейтинг: 0 / 0
Проект построения большой БД - давайте пообсуждаем
    #32650509
Константин Лисянский
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В чистом Shared-nothing варианте, 4 головы заняты, 4-простаивают в ожидании аварии.

Это не так. В чистом Shared-nothing (каковым IBM объявил только Терадату - см. статью на которую ссылается Сергей) работают все узлы системы. Они полностью равноправны и никакой из них не простаивает в ожидании аварии. Это было бы очень неэффективно. При аварии производительность уменьшается пропорционально количеству потерянных узлов.


С уважением,
Константин Лисянский
http://lissianski.narod.ru
...
Рейтинг: 0 / 0
Проект построения большой БД - давайте пообсуждаем
    #32650558
EugeneS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сергей ТихоновРебята, мне, как автору топика, все же хотелось бы, чтобы мы обсуждали не преимущества/недостатки страйпинга и уровней RAID, а архитектуру БД. Я вот нашел интересную статью в инете: Clustering for Scalability и предлагаю ее обсудить. Так все-таки: Shared-disk или Shared-nothing ?


Я, все же не понимаю зачем вы пытаетесь решать эту задачу с помощью кластера?

Поскльку у вас смешанная нагрузка 50:50 (OLTP + DSS ), то мне кажется ваше задача должна решаться с использованием аппаратного партицирования.
Я так понимаю оно присутствует у большинства производителей железа.
То есть я все же за железо типа SuperDoom от HP или Sun Fire E25K.
Почему?

1. Минимальный гемор с балансировкой по сравнению с кластерами.
2. Динамическая реконфигурация железа.
Ну необходимо вам сейчас увеличить пропускную способность OLTP части, добавили процессоров, нужно для DSS части опять же оторвали в одном месте добавили в другом.
3. Все так же пока не понятно, это будет одна и таже БД или все же два єкземпляра?
...
Рейтинг: 0 / 0
Проект построения большой БД - давайте пообсуждаем
    #32650870
Фотография Сергей Тихонов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
EugeneSЯ, все же не понимаю зачем вы пытаетесь решать эту задачу с помощью кластера? Потому что это более отказоустойчивое решение. Я хочу совместить Availability и Scalability ...
...
Рейтинг: 0 / 0
Проект построения большой БД - давайте пообсуждаем
    #32651048
Фотография killed
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
За счет чего shared nothing кластер будет более отказоустойчив? Теряем один нод, что тогда?
...
Рейтинг: 0 / 0
Проект построения большой БД - давайте пообсуждаем
    #32651050
Фотография Сергей Тихонов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вот и мне интересно...
...
Рейтинг: 0 / 0
Проект построения большой БД - давайте пообсуждаем
    #32651132
Фотография killed
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
если у нодов - независимые подсистемы ВВ, то по идее потеряете доступ к части данных.
...
Рейтинг: 0 / 0
Проект построения большой БД - давайте пообсуждаем
    #32651240
EugeneS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сергей Тихонов EugeneSЯ, все же не понимаю зачем вы пытаетесь решать эту задачу с помощью кластера? Потому что это более отказоустойчивое решение. Я хочу совместить Availability и Scalability ...

Ага, именно по этому такие ребята, как Visa и EuroPay их не используют.
А используют mainframe-ы.

Дело в том, что кластеринг для СУБД - это такая рекламная компания, для увеличения продаж СУБД, ну прям как Java, NET и другие "звездные продукты".
Шума много, а начнешь выяснять доказательств маловато или не убедительно.
Как говорится в "в мутной воде проще рыбку впоймать" , вот софтверные конторы и поднимаю такую муть, для увеличения доходности.

Пример возмем кластера от Oracle.
1. Только начиная с 9i у него появился Cache Fusion , который позволяет передавать болоки не через диск , а по интерконнекту между кэшами отдельных узлов.
2. Подразумевалось что использование кластеров позволит снизить затраты компании на hardware, при этом почему-то умалчивается что затраты на кластеринг тоже растут. ( Oracle EE стоит 40к на процессор, для того чтобы его использовать в кластерной конфигурации надо еще 20к итого 60к * число узлов. А уж если ван нужно партицирование или еще что-то то эта сумма и того выше).
Идея была конечно хорошей ,но это банальное перераспределение денег.
Тем более многопроцессорные системы вобще-то лучше ведут себя и под нагрузкой и при параллельном доступе, а динамическое партицирование вообще их делает "The best". Недостаток их конечно в больших первоначальных затратах.

3. Использование кластера от Oracle (shared-disk) подразумевает использование очень не слабой дисковой подсистемы, дешевеньким продуктом вы тут не отделаетесь, поскольку дисковая система как раз самое узкое место кластера от Oracle, поэтому в итоге необходимо иметь второй экземпляр дисковой системы для failover-а, иначе при выходе из строя дисковой подсистемы , весь кластер упадет.
4. Еще про отказоустойчивость.
Что вы имеете ввиду? Любая оказоустойчивость подразумевает дубляж.
То наличие двух хостов , двух дисковых подсистем.
Кластеры в минимальной конфиугации этого не продоставляют, скорей лучшим решением является standby БД.

Аналогично можно сказать и про кластерные системы конкурентов.
То есть кластерные решения конечно работают, но в очень специфических условия, а ваши условия точно не для них.
...
Рейтинг: 0 / 0
Проект построения большой БД - давайте пообсуждаем
    #32651271
onstat-
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В данном случае нельзя быть и умным и красивым односременно.
В случае shared-disk мы имеем перегрузку(overload) в случае отказа
одной из нод, в случае shared nothing мы будем иметь потерю доступа
к части данных(на время востановления узла) без потери
общей производительности.
Что в данном случае важнее зависит от приложения.
Это аварийная ситуация и как ее обрабатывать
без знания предметной области сказать тяжело.
За немерянные деньги можно заказать систему с полным резервированием,
но при этом часть ресусов будут простиаивать до наступления
аварийной ситуацииb, оправдает ли себя система такой стоимости тоже
зависит от приложения.

С уважением, onstat-
...
Рейтинг: 0 / 0
Проект построения большой БД - давайте пообсуждаем
    #32651276
gardenman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
автор
Ага, именно по этому такие ребята, как Visa и EuroPay их не используют.

Насколько я помню *конечно может уже неправ* но VISA в Bank Of America стоит на BASE 24, Tandem, NonStop SQL. Да и во многих процесинговых центрах стоит эта система. Типа супер - отказоустойчивая. Именно - кластарная. Как реализована отказоустойчивость - это нужно уже архитектуру смотреть. Можно ведь каждую ноду сдублировать.
...
Рейтинг: 0 / 0
Проект построения большой БД - давайте пообсуждаем
    #32651289
c
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Da, a v City Corp - Mainframe's claster..
...
Рейтинг: 0 / 0
Проект построения большой БД - давайте пообсуждаем
    #32651297
EugeneS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
onstat-В данном случае нельзя быть и умным и красивым односременно.
В случае shared-disk мы имеем перегрузку(overload) в случае отказа
одной из нод, в случае shared nothing мы будем иметь потерю доступа
к части данных(на время востановления узла) без потери
общей производительности.
С уважением, onstat-

Да, в случае с Oracle просто коннекты будут разбросаны по другим нодам и возможен даже вариант, когда пользователь этого даже не заметит, то есть все его наработки останутся.
...
Рейтинг: 0 / 0
Проект построения большой БД - давайте пообсуждаем
    #32651319
EugeneS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
gardenman автор
Ага, именно по этому такие ребята, как Visa и EuroPay их не используют.

Насколько я помню *конечно может уже неправ* но VISA в Bank Of America стоит на BASE 24, Tandem, NonStop SQL. Да и во многих процесинговых центрах стоит эта система. Типа супер - отказоустойчивая. Именно - кластарная. Как реализована отказоустойчивость - это нужно уже архитектуру смотреть. Можно ведь каждую ноду сдублировать.

У них несколько другие кластеры.
Наверно речь идет о Failover кластере.
То есть два узла, но зато всем узлам узлы.
...
Рейтинг: 0 / 0
Проект построения большой БД - давайте пообсуждаем
    #32651337
Константин Лисянский
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
За счет чего shared nothing кластер будет более отказоустойчив? Теряем один нод, что тогда?

Всё просто - узлы объединяются в группы (в Терадате это называется клика), узлы в клике имеют доступ к дискам друг друга на случай выхода узла из строя. Если это происходит, виртуальные процессы, работавшие на упавшем узле, перезапускаются на оставшихся. Данные при этом не теряются. Теряются запросы, которые выполнялись в то время, когда падает узел.

Следующий механизм - защита от отказа дисковой подсистемы. Естественно, дублирование необходимо (как основа любой системы обеспечения отказоустойчивости). Я уже написал о кликах, так вот, если в системе больше одной клики, то её можно сконфигурировать так, что таблицы базы данных будут дублироваться. Этот механизм называется FALLBACK и доступен как на уровне базы данных, так и на уровне отдельных таблиц.
Принцип простой - альтернативный портишонинг одной и той же таблицы с тем, чтобы один и тот же партишион хранился (дублироваля) на дисках двух разных клик. Тогда, если падает дисковый массив целой клики, система всё равно остаётся работоспособной.

Есть и ещё один механизм - называется dual active. Это когда две системы полностью дублируют друг друга, но работают при этом обе в активном режиме. Но, естественно, это решение для mission critical-приложений.

Непонятны ваши сомнения. Неужели вы думаете, что в архитектуре, которой уже более 20 лет не предусмотрены механизмы обеспечения отказоустойчивости? Рекомендую почитать статьи про архитектуру Терадаты, ссылки на которые я приводил выше. У меня сложилось впечатление, что вы поленились их почитать.


С уважением,
Константин Лисянский
http://lissianski.narod.ru
...
Рейтинг: 0 / 0
Проект построения большой БД - давайте пообсуждаем
    #32651345
Фотография Сергей Тихонов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
EugeneSТолько начиная с 9i у него появился Cache Fusion , который позволяет передавать болоки не через диск , а по интерконнекту между кэшами отдельных узлов. Замечательно, уже даже Oracle 10g есть...
EugeneSИспользование кластера от Oracle (shared-disk) подразумевает использование очень не слабой дисковой подсистемы ИМХО, когда речь идет о больших объемах данных, это и так понятно. Тут что с Oracle, что без него...
EugeneSЛюбая оказоустойчивость подразумевает дубляж.
То наличие двух хостов , двух дисковых подсистем. Нормально. Взрослые дисковые стойки и так имеют в себе дублирование компонентов, далее идем по архитектуре SAN и топологиям - два SAN-свича, два HBA в каждый сервер. И приходим к ситуации no single point of failure

А что делать, если один большой шкаф с тучей процов и памяти перестанет работать :-\\?
...
Рейтинг: 0 / 0
Проект построения большой БД - давайте пообсуждаем
    #32651364
EugeneS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сергей Тихонов EugeneSТолько начиная с 9i у него появился Cache Fusion , который позволяет передавать болоки не через диск , а по интерконнекту между кэшами отдельных узлов. Замечательно, уже даже Oracle 10g есть...
EugeneSИспользование кластера от Oracle (shared-disk) подразумевает использование очень не слабой дисковой подсистемы ИМХО, когда речь идет о больших объемах данных, это и так понятно. Тут что с Oracle, что без него...
EugeneSЛюбая оказоустойчивость подразумевает дубляж.
То наличие двух хостов , двух дисковых подсистем. Нормально. Взрослые дисковые стойки и так имеют в себе дублирование компонентов, далее идем по архитектуре SAN и топологиям - два SAN-свича, два HBA в каждый сервер. И приходим к ситуации no single point of failure

А что делать, если один большой шкаф с тучей процов и памяти перестанет работать :-\\?

1. В таком шкафу вы вряд-ли найдете хоть один компонент который не дублируется.
2. Вам ничего не мешает иметь два шкафа, но это уже для случая missio-critical.
...
Рейтинг: 0 / 0
Проект построения большой БД - давайте пообсуждаем
    #32651371
Константин Лисянский
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А что делать, если один большой шкаф с тучей процов и памяти перестанет работать :-\\?

Курить бамбук :) И ждать пока его починят.


С уважением,
Константин Лисянский
http://lissianski.narod.ru
...
Рейтинг: 0 / 0
Проект построения большой БД - давайте пообсуждаем
    #32651389
EugeneS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Константин Лисянский А что делать, если один большой шкаф с тучей процов и памяти перестанет работать :-\\?

Курить бамбук :) И ждать пока его починят.


С уважением,
Константин Лисянский
http://lissianski.narod.ru

Когда кластер завалится , вы тоже узнаете всю правду, только вряд ли это вам уже поможет.
:)
...
Рейтинг: 0 / 0
Проект построения большой БД - давайте пообсуждаем
    #32651408
Фотография Сергей Тихонов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
EugeneS1. В таком шкафу вы вряд-ли найдете хоть один компонент который не дублируется.
2. Вам ничего не мешает иметь два шкафа, но это уже для случая missio-critical.
Вопрос еще и в том, что хочеся "строить" систему из стандартных "строительных" блоков, которые есть на рынке. Ну, т.е. понятно, что это будут крупные мощные серверы, но выходить на уровень мэйнфреймов что-то пока не хочется...
...
Рейтинг: 0 / 0
25 сообщений из 307, страница 6 из 13
Форумы / Сравнение СУБД [игнор отключен] [закрыт для гостей] / Проект построения большой БД - давайте пообсуждаем
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]