Модераторы: LSD
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> горизонтальное расщепление таблиц, Архитектура СУБД - расщепление таблиц 
:(
    Опции темы
tatan
Дата 6.11.2009, 08:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 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. Далее, мастер кластера получает произвольный запрос на выборку данных. Интересует меня:
- результаты запроса над множеством нерасщепленных таблиц равен или нет слиянию результатов запросов над расщепленными подмножествами БД.
- если не равно, есть ли разумная стратегия получения правильного результата запроса в случае расщепленных таблиц?
- можно подумать еще о том же самом в случае запроса на изменение данных.
PM MAIL   Вверх
Akina
Дата 6.11.2009, 09:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20581
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: 13
Всего: 454



Может, лучше почитать, как всё это организовано на распределённых БД в существующих серверах?

Цитата(tatan @  6.11.2009,  09:57 Найти цитируемый пост)
результаты запроса над множеством нерасщепленных таблиц равен или нет слиянию результатов запросов над расщепленными подмножествами БД

Вообще-то обязан быть равен - если все части работоспособны, связь наличествует. Иначе в результирующий набор должен попадать срез последнего состояния - на момент прерывания синхронизации. Ведь в каждом узле должна храниться не только своя часть данных, но и какие-то минимально необходимые выжимки из остальных частей.


--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
tatan
Дата 6.11.2009, 09:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 70
Регистрация: 31.10.2007

Репутация: 1
Всего: 1



Не удалось найти описания архитектур СУБД с требуемой детализацией, с описанием алгоритмов выполнения запросов на расщепленных данных. Если укажешь пальцем где - буду благодарен.

Может неудачно объяснил - нет никакой синхронизации между нодами, ноды действуют автономно.
Вот именно, каждая нода хранит только свою часть данных.  Если результат запроса равен сумме результатов, то никаких дополнительных данных в нодах не нужно. Если нет, надо понять что необходимо дополнительно хранить на нодах и как получить консолидированный результат запроса, проведя параллельно операции запросов на нодах.



PM MAIL   Вверх
Zloxa
Дата 6.11.2009, 10:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Чо?
****


Профиль
Группа: Завсегдатай
Сообщений: 3473
Регистрация: 12.9.2008

Репутация: 11
Всего: 161



откуда взялись термины "расщепление", "горизонтальное"?

расщепи плиз горизонтально:
Код

ents
id
1
2

vals
id
1
2

entvals
ent_id  val_id
1       1
1       2
2       1
2       2


Это сообщение отредактировал(а) Zloxa - 6.11.2009, 10:04


--------------------
Достоверно известно, что 89% людей доверяют статистике взятой с потолка smile
PM   Вверх
tatan
Дата 6.11.2009, 10:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 70
Регистрация: 31.10.2007

Репутация: 1
Всего: 1



горизонтальное расщепление - расщепление по строкам. Вертикальное - по столбцам.
Насколько понимаю, это более-менее устоявшиеся термины. Встретить эти понятия можно например в описании функция распределенных СУБД, например здесь http://mrivkin.narod.ru/Publ/RASPBD.htm
PM MAIL   Вверх
Zloxa
Дата 6.11.2009, 10:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Чо?
****


Профиль
Группа: Завсегдатай
Сообщений: 3473
Регистрация: 12.9.2008

Репутация: 11
Всего: 161



Цитата(tatan @  6.11.2009,  10:13 Найти цитируемый пост)
здесь 

Это был как бы намек поискать ответы на вопросы там, где вы вычитали термины.
Общеупотребимость этих терминов можно оценить кактотак
А что со вторым вопросом?
Как расщепить приведенный пример?
Или как понять что его нельзя расщеплять?

Это сообщение отредактировал(а) Zloxa - 6.11.2009, 10:35


--------------------
Достоверно известно, что 89% людей доверяют статистике взятой с потолка smile
PM   Вверх
tatan
Дата 6.11.2009, 10:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 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


PM MAIL   Вверх
Zloxa
Дата 6.11.2009, 10:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Чо?
****


Профиль
Группа: Завсегдатай
Сообщений: 3473
Регистрация: 12.9.2008

Репутация: 11
Всего: 161



Цитата(tatan @  6.11.2009,  10:35 Найти цитируемый пост)
Расщепляю:

ну а теперь представте объединение результатов запроса
Код

select * from entvals,ent,vals where end_id = ent.id and val_id = val_id

и сравните с тем, какой он должен быть на самом деле.
И тему можно закрывать.


--------------------
Достоверно известно, что 89% людей доверяют статистике взятой с потолка smile
PM   Вверх
tatan
Дата 6.11.2009, 10:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 70
Регистрация: 31.10.2007

Репутация: 1
Всего: 1



Попробуй поискать так по строке distributed DBMS split table

http://www.google.ru/search?hl=ru&rlz=...mp;aq=f&oq=

PM MAIL   Вверх
Zloxa
Дата 6.11.2009, 10:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Чо?
****


Профиль
Группа: Завсегдатай
Сообщений: 3473
Регистрация: 12.9.2008

Репутация: 11
Всего: 161



Цитата(tatan @  6.11.2009,  10:38 Найти цитируемый пост)
поискать 

тоже как бы не густо


--------------------
Достоверно известно, что 89% людей доверяют статистике взятой с потолка smile
PM   Вверх
tatan
Дата 6.11.2009, 10:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 70
Регистрация: 31.10.2007

Репутация: 1
Всего: 1



Согласен. 
Это говорит о том, что может это неинтересно никому.
А мне интересно.
А сл. часть моего вопроса - стратегия получения правильного результата?

PM MAIL   Вверх
Zloxa
Дата 6.11.2009, 11:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Чо?
****


Профиль
Группа: Завсегдатай
Сообщений: 3473
Регистрация: 12.9.2008

Репутация: 11
Всего: 161



Я не являюсь специалистом по распределенным БД.
Я не знаю как обстоят дела с кластерезацией в отличных от оракла  системах, я не являюсь экспертом в архитектуре оракла.
Но я слышал что ораклиный кластер подразумевает работу несколких нод лишь с одной корзиной
user posted image
Figure 1-1 Oracle Database with Oracle RAC Architecture
Раскидать жа нагрузку по дискам у оракли есть другие средства.

Цитата(tatan @  6.11.2009,  10:53 Найти цитируемый пост)
А сл. часть моего вопроса - стратегия получения правильного результата?

Я бы забил на этот путь как на неперспективный.


--------------------
Достоверно известно, что 89% людей доверяют статистике взятой с потолка smile
PM   Вверх
tatan
Дата 6.11.2009, 11:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 70
Регистрация: 31.10.2007

Репутация: 1
Всего: 1



Не согласен, что путь неперспективный.
Призываю в пост экспертовsmile

PM MAIL   Вверх
Zloxa
Дата 6.11.2009, 11:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Чо?
****


Профиль
Группа: Завсегдатай
Сообщений: 3473
Регистрация: 12.9.2008

Репутация: 11
Всего: 161



Цитата(tatan @  6.11.2009,  11:50 Найти цитируемый пост)
Не согласен

Обоснуй smile

Цитата(tatan @  6.11.2009,  11:50 Найти цитируемый пост)
Призываю в пост экспертов

да, да! Просим, просим! smile

Добавлено @ 12:01
Предлагаю расщепить еще один набор
Код

vals
val
1
2

sums
sum  desc
1    один
2    два
3    три
4    четыре



и помедетировать над запросом
Код

select v1.val,v2.val,sums.desc from val v1,val v2, sums where sum=v1.val+v2.val


Это сообщение отредактировал(а) Zloxa - 6.11.2009, 12:02


--------------------
Достоверно известно, что 89% людей доверяют статистике взятой с потолка smile
PM   Вверх
tatan
Дата 6.11.2009, 12:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 70
Регистрация: 31.10.2007

Репутация: 1
Всего: 1



Вот здесь есть полезное http://en.wikipedia.org/wiki/Shard_%28data...architecture%29
Во общем, надо искать и найдетсяsmile
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Общие вопросы по базам данных"
LSD
Zloxa

Данный форум предназначен для обсуждения вопросов о базах данных не попадающих под тематику других форумов:

  • вопросам по СУБД для которых нет отдельных подфорумов
  • вопросам которые затрагивают несколько разных СУБД (например проблема выбора)
  • инструменты для работы с СУБД
  • вопросы проектирования БД
  • теоретически вопросы о СУБД

Данный форум не предназначен для:

  • вопросов о поиске разлиных БД (если не понимаете чем БД отличается от СУБД то: а) вам не сюда; б) Google в помощь)
  • обсуждения проблем с доступом к СУБД из различных ЯП (для этого есть соответсвующие форумы по каждому ЯП)
  • обсуждения проблем с написание SQL запросов, для этого есть форум Составление SQL-запросов
  • просьб о написании курсовой, реферата и т.п., для этого есть Центр помощи или фриланс биржа
  • объявлений о найме специалистов, для этого есть раздел Объявления о найме специалистов

Если вы не соблюдаете эти правила, не удивляйтесь потом не найдя свою тему/сообщение. ;)


Полезные советы:

При написании сообщения постарайтесь дать теме максимально понятное название. В теме максимально подробно опишите проблему. Если применимо укажите: название базы данных и версии (MySQL 4.1, MS SQL Server 2000 и т.п.); используемых язык программирования; способа доступа (ADO, BDE и т.д.); сообщения об ошибках.

Для вставки кода используйте теги [code=sql] [/code].

Литературу по базам данных можно поискать здесь.

Действия модераторов можно обсудить здесь.


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, LSD, Zloxa.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | СУБД, общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.1139 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.