![]() |
Модераторы: LSD |
![]() ![]() ![]() |
|
tatan |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 70 Регистрация: 31.10.2007 Репутация: 1 Всего: 1 |
Вопрос больше теоретический. Предположим мы пишем собственную систему управления БД.
Предусмотрено, что БД работает в некоем кластере, состоящем из минимум 3 серверов - мастер кластера, нода1, нода2, причем для балансировки нагрузки на ноды мастер кластера производит горизонтальное расщепление таблиц БД и помещает их на разные ноды. Например, в БД есть таблицы - T1, T2 ... Tn. Мастер кластера расщепил таблицы БД ровно пополам между нодами и в ноде 1 теперь есть таблицы T1_1, T2_1 ... Tn_1 и в ноде 2 вторые половины таблиц T1_2, T2_2 ... Tn_2. Далее, мастер кластера получает произвольный запрос на выборку данных. Интересует меня: - результаты запроса над множеством нерасщепленных таблиц равен или нет слиянию результатов запросов над расщепленными подмножествами БД. - если не равно, есть ли разумная стратегия получения правильного результата запроса в случае расщепленных таблиц? - можно подумать еще о том же самом в случае запроса на изменение данных. |
|||
|
||||
Akina |
|
|||
Советчик ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 20581 Регистрация: 8.4.2004 Где: Зеленоград Репутация: 13 Всего: 454 |
Может, лучше почитать, как всё это организовано на распределённых БД в существующих серверах?
Вообще-то обязан быть равен - если все части работоспособны, связь наличествует. Иначе в результирующий набор должен попадать срез последнего состояния - на момент прерывания синхронизации. Ведь в каждом узле должна храниться не только своя часть данных, но и какие-то минимально необходимые выжимки из остальных частей. -------------------- О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума. |
|||
|
||||
tatan |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 70 Регистрация: 31.10.2007 Репутация: 1 Всего: 1 |
Не удалось найти описания архитектур СУБД с требуемой детализацией, с описанием алгоритмов выполнения запросов на расщепленных данных. Если укажешь пальцем где - буду благодарен.
Может неудачно объяснил - нет никакой синхронизации между нодами, ноды действуют автономно. Вот именно, каждая нода хранит только свою часть данных. Если результат запроса равен сумме результатов, то никаких дополнительных данных в нодах не нужно. Если нет, надо понять что необходимо дополнительно хранить на нодах и как получить консолидированный результат запроса, проведя параллельно операции запросов на нодах. |
|||
|
||||
Zloxa |
|
|||
![]() Чо? ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3473 Регистрация: 12.9.2008 Репутация: 11 Всего: 161 |
откуда взялись термины "расщепление", "горизонтальное"?
расщепи плиз горизонтально:
Это сообщение отредактировал(а) Zloxa - 6.11.2009, 10:04 -------------------- Достоверно известно, что 89% людей доверяют статистике взятой с потолка ![]() |
|||
|
||||
tatan |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 70 Регистрация: 31.10.2007 Репутация: 1 Всего: 1 |
горизонтальное расщепление - расщепление по строкам. Вертикальное - по столбцам.
Насколько понимаю, это более-менее устоявшиеся термины. Встретить эти понятия можно например в описании функция распределенных СУБД, например здесь http://mrivkin.narod.ru/Publ/RASPBD.htm |
|||
|
||||
Zloxa |
|
|||
![]() Чо? ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3473 Регистрация: 12.9.2008 Репутация: 11 Всего: 161 |
Это был как бы намек поискать ответы на вопросы там, где вы вычитали термины. Общеупотребимость этих терминов можно оценить кактотак А что со вторым вопросом? Как расщепить приведенный пример? Или как понять что его нельзя расщеплять? Это сообщение отредактировал(а) Zloxa - 6.11.2009, 10:35 -------------------- Достоверно известно, что 89% людей доверяют статистике взятой с потолка ![]() |
|||
|
||||
tatan |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 70 Регистрация: 31.10.2007 Репутация: 1 Всего: 1 |
Расщепляю:
Node 1 ents id 1 vals id 1 entvals ent_id val_id 1 1 1 2 Node 2 ents id 2 vals id 2 entvals ent_id val_id 2 1 2 2 |
|||
|
||||
Zloxa |
|
|||
![]() Чо? ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3473 Регистрация: 12.9.2008 Репутация: 11 Всего: 161 |
ну а теперь представте объединение результатов запроса
и сравните с тем, какой он должен быть на самом деле. И тему можно закрывать. -------------------- Достоверно известно, что 89% людей доверяют статистике взятой с потолка ![]() |
|||
|
||||
tatan |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 70 Регистрация: 31.10.2007 Репутация: 1 Всего: 1 |
Попробуй поискать так по строке distributed DBMS split table
http://www.google.ru/search?hl=ru&rlz=...mp;aq=f&oq= |
|||
|
||||
Zloxa |
|
|||
![]() Чо? ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3473 Регистрация: 12.9.2008 Репутация: 11 Всего: 161 |
-------------------- Достоверно известно, что 89% людей доверяют статистике взятой с потолка ![]() |
|||
|
||||
tatan |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 70 Регистрация: 31.10.2007 Репутация: 1 Всего: 1 |
Согласен.
Это говорит о том, что может это неинтересно никому. А мне интересно. А сл. часть моего вопроса - стратегия получения правильного результата? |
|||
|
||||
Zloxa |
|
|||
![]() Чо? ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3473 Регистрация: 12.9.2008 Репутация: 11 Всего: 161 |
Я не являюсь специалистом по распределенным БД.
Я не знаю как обстоят дела с кластерезацией в отличных от оракла системах, я не являюсь экспертом в архитектуре оракла. Но я слышал что ораклиный кластер подразумевает работу несколких нод лишь с одной корзиной ![]() Figure 1-1 Oracle Database with Oracle RAC Architecture Раскидать жа нагрузку по дискам у оракли есть другие средства.
Я бы забил на этот путь как на неперспективный. -------------------- Достоверно известно, что 89% людей доверяют статистике взятой с потолка ![]() |
|||
|
||||
tatan |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 70 Регистрация: 31.10.2007 Репутация: 1 Всего: 1 |
Не согласен, что путь неперспективный.
Призываю в пост экспертов ![]() |
|||
|
||||
Zloxa |
|
||||
![]() Чо? ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3473 Регистрация: 12.9.2008 Репутация: 11 Всего: 161 |
Обоснуй ![]() да, да! Просим, просим! ![]() Добавлено @ 12:01 Предлагаю расщепить еще один набор
и помедетировать над запросом
Это сообщение отредактировал(а) Zloxa - 6.11.2009, 12:02 -------------------- Достоверно известно, что 89% людей доверяют статистике взятой с потолка ![]() |
||||
|
|||||
tatan |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 70 Регистрация: 31.10.2007 Репутация: 1 Всего: 1 |
Вот здесь есть полезное http://en.wikipedia.org/wiki/Shard_%28data...architecture%29
Во общем, надо искать и найдется ![]() |
|||
|
||||
![]() ![]() ![]() |
Правила форума "Общие вопросы по базам данных" | |
|
Данный форум предназначен для обсуждения вопросов о базах данных не попадающих под тематику других форумов:
Данный форум не предназначен для:
Если вы не соблюдаете эти правила, не удивляйтесь потом не найдя свою тему/сообщение.
Полезные советы: Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, LSD, Zloxa. |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | СУБД, общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |