Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Сравнение СУБД Новый топик    Ответить
 В каких СУБД используются NSM, DSM, PAX и CSM?  [new]
В каких СУБД
Guest
Кто-нибудь знает в чем отличие и в каких СУБД используются модели хранения: N-ary Storage Model (NSM), Decomposition Storage Model (DSM), (PAX) и Clotho storage model (CSM)?
16 авг 12, 16:46    [13021889]     Ответить | Цитировать Сообщить модератору
 Re: В каких СУБД используются NSM, DSM, PAX и CSM?  [new]
В каких СУБД
Guest
Неужели никто даже не знает, что это за аббревиатуры? :)
17 авг 12, 23:05    [13029455]     Ответить | Цитировать Сообщить модератору
 Re: В каких СУБД используются NSM, DSM, PAX и CSM?  [new]
SergSuper
Member

Откуда: SPb
Сообщений: 5488
В каких СУБД
Неужели никто даже не знает, что это за аббревиатуры? :)
вполне возможно
Вы то их где взяли?
18 авг 12, 03:55    [13029972]     Ответить | Цитировать Сообщить модератору
 Re: В каких СУБД используются NSM, DSM, PAX и CSM?  [new]
Ggg_old
Member

Откуда: Одесса
Сообщений: 1342
На аббревиатуры не дрочим.
18 авг 12, 12:03    [13030329]     Ответить | Цитировать Сообщить модератору
 Re: В каких СУБД используются NSM, DSM, PAX и CSM?  [new]
ОКТОГЕН
Member

Откуда:
Сообщений: 2496
В каких СУБД
Кто-нибудь знает в чем отличие и в каких СУБД используются модели хранения: N-ary Storage Model (NSM), Decomposition Storage Model (DSM), (PAX) и Clotho storage model (CSM)?

Вам сюда.
Если вы думаете, что все обязаны тратить кучу усилий, чтоб разобраться с вашим БНОПНЯ, то ошибаетесь.
Или хотите показать какие все тупые?
20 авг 12, 13:52    [13036844]     Ответить | Цитировать Сообщить модератору
 Re: В каких СУБД используются NSM, DSM, PAX и CSM?  [new]
kdv
Member

Откуда: iBase.ru
Сообщений: 30232
автор вопроса или решил блеснуть познаниями, или пишет курсовой, но в теме пусто. В частности, слегка погуглив, я вдруг узнал, что

http://www.cs.cmu.edu/~natassa/aapubs/conference/storage%20model%20to%20bridge.pdf
The traditional data placement scheme used in DBMSs, the N-ary Storage Model (NSM, a.k.a., slotted
pages), stores records contiguously starting from the beginning of each disk page, and uses an offset (slot)
table at the end of the page to locate the beginning of each record.


Мне это напомнило анекдот "шел ежик, забыл как дышится, и умер".
И правда, работаю с СУБД уже 20 с лишним лет, но только узнал, что массовая модель хранения называется NSM. Стало мне хуже или лучше? Не знаю.

Читаю дальше
As an alternative, the decomposition storage model (DSM) [5] partitions an n-attribute relation vertically
into n sub-relations, each of which is accessed only when the corresponding attribute is needed.

опа. Это же как в Sybase IQ. Ладно, про такую модель я тоже знаю с конца 80х, даже участвовал (в начале) разработки одной такой.

ну, в тексте потом
This paper introduces Partition Attributes Across (PAX), a new layout for data records that combines
the best of the two worlds and exhibits superior performance by eliminating unnecessary accesses to
main memory.

и т.д., но можно для интереса почитать.

Кстати, че-то я в PAX засомневался. Когда просто столбец надо вытащить, вроде как должно быть быстрее, но один хрен, количество IO, т.е. считываемых страниц с диска, для NSM и PAX будет одинаковым. И, насколько я знаю прикладные задачи, народ обычно тащит на клиента почти всю запись целиком. Также, мне кажется что PAX будет больше жрать процессор, хотя х.з.

Ну а про Clotho storage model (также со ссылками на NSM и DSM) - тут
http://www.vldb.org/conf/2004/RS18P4.PDF

и тут уже пишется что PAX для DSS задач с базами в памяти - фигня. В общем, развлекайтесь :-)
22 авг 12, 23:38    [13052423]     Ответить | Цитировать Сообщить модератору
 Re: В каких СУБД используются NSM, DSM, PAX и CSM?  [new]
В каких СУБД
Guest
kdv
Читаю дальше
As an alternative, the decomposition storage model (DSM) [5] partitions an n-attribute relation vertically
into n sub-relations, each of which is accessed only when the corresponding attribute is needed.

опа. Это же как в Sybase IQ. Ладно, про такую модель я тоже знаю с конца 80х, даже участвовал (в начале) разработки одной такой.

ну, в тексте потом
This paper introduces Partition Attributes Across (PAX), a new layout for data records that combines
the best of the two worlds and exhibits superior performance by eliminating unnecessary accesses to
main memory.

и т.д., но можно для интереса почитать.

Кстати, че-то я в PAX засомневался. Когда просто столбец надо вытащить, вроде как должно быть быстрее, но один хрен, количество IO, т.е. считываемых страниц с диска, для NSM и PAX будет одинаковым. И, насколько я знаю прикладные задачи, народ обычно тащит на клиента почти всю запись целиком. Также, мне кажется что PAX будет больше жрать процессор, хотя х.з.

Во, ну хоть кто-то знает это :)
Т.е. DSM это чисто column-oriented?

А если сопоставить с конкретными фичами современных СУБД, то PAX это что-то типа кластерных таблиц Oracle?
Или можно в двух словах об этом PAX и хоть где-то оно применяется, а то абстрактное описание да ещё и на английском не до конца понятно :)
23 авг 12, 00:13    [13052553]     Ответить | Цитировать Сообщить модератору
 Re: В каких СУБД используются NSM, DSM, PAX и CSM?  [new]
kdv
Member

Откуда: iBase.ru
Сообщений: 30232
В каких СУБД
Во, ну хоть кто-то знает это :)

я не знал аббревиатур, и мне было по барабану. При этом я абсолютно в курсе как хранятся записи на страницах в NSM и DSM.

В каких СУБД
Т.е. DSM это чисто column-oriented?

получается, да.

В каких СУБД
PAX это что-то типа кластерных таблиц Oracle?
Или можно в двух словах об этом PAX и хоть где-то оно применяется, а то абстрактное описание

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

Кстати, еще одна статья про PAX
http://research.cs.wisc.edu/multifacet/papers/vldb01_pax.pdf
тех же авторов, только чуть побольше данных, показывает что по производительности PAX близко к DSM, и PAX быстрее NSM только в конкретных случаях. Есть там и свои подводные камни.
И, насколько я понимаю, редко какая популярная СУБД использует описанный в этих статьях NSM в голом виде. Там обязательно какие-то добавки, при которых PAX в том же "чистом" виде может быть и не нужен. Хотя PAX, как утверждается, улучшает использование CPU относительно NSM.

И, да, в том числе
http://dbmsmusings.blogspot.com/2009/09/tour-through-hybrid-columnrow-oriented.html
Oracle 11g release 2 "использует хранение данных столбцами для сжатия", и т.д.
Там же, кстати, и про недостатки PAX. Вкратце - то, что казалось выгодным на процессорах и задачах 2001 года, уже не так эффективно на нынешних процессорах.
И т.д. Читайте на английском.
23 авг 12, 02:12    [13052782]     Ответить | Цитировать Сообщить модератору
 Re: В каких СУБД используются NSM, DSM, PAX и CSM?  [new]
kdv
Member

Откуда: iBase.ru
Сообщений: 30232
kdv,

"по производительности PAX близко к DSM" - к NSM. DSM сильно отстает по времени вставки данных.
23 авг 12, 02:13    [13052784]     Ответить | Цитировать Сообщить модератору
 Re: В каких СУБД используются NSM, DSM, PAX и CSM?  [new]
kdv
Member

Откуда: iBase.ru
Сообщений: 30232
короче, все это меняется сейчас настолько быстро, что представляет разве что академический интерес.
23 авг 12, 02:14    [13052785]     Ответить | Цитировать Сообщить модератору
 Re: В каких СУБД используются NSM, DSM, PAX и CSM?  [new]
в мини-страницах
Guest
kdv
короче, все это меняется сейчас настолько быстро, что представляет разве что академический интерес.

Ну, относительно да.
В страницах хранятся соседние строки, а вы, кстати, поняли что именно в PAX объединяется в мини-страницах?
23 авг 12, 03:59    [13052846]     Ответить | Цитировать Сообщить модератору
 Re: В каких СУБД используются NSM, DSM, PAX и CSM?  [new]
kdv
Member

Откуда: iBase.ru
Сообщений: 30232
в мини-страницах,

чего там понимать-то, столбцы, конечно. С картинками все расписано. Сравните Figure1 и Figure2 в первом pdf, на который я ссылку дал (A Storage Model to Bridge...).
23 авг 12, 04:12    [13052849]     Ответить | Цитировать Сообщить модератору
 Re: В каких СУБД используются NSM, DSM, PAX и CSM?  [new]
мини-странице
Guest
kdv
в мини-страницах,

чего там понимать-то, столбцы, конечно. С картинками все расписано. Сравните Figure1 и Figure2 в первом pdf, на который я ссылку дал (A Storage Model to Bridge...).

Точно, а ещё точнее в каждой мини-странице объединяются записи(строки) из одного столбца :)
23 авг 12, 04:15    [13052852]     Ответить | Цитировать Сообщить модератору
 Re: В каких СУБД используются NSM, DSM, PAX и CSM?  [new]
kdv
Member

Откуда: iBase.ru
Сообщений: 30232
мини-странице,

в реальной жизни все сложнее и не так. Например, для примера страницы PAX с Figure2 совсем не нужна там заголовке информация о размере столбцов, потому что она и так есть в описании метаданных (или обязана быть). Наоборот, в дополнение, может быть другая информация, которая относится к транзакциям и еще чему-то.
Вот например, DSM структура страниц Firebird (см. Data Page)
тут с картинками и в общем -
http://www.ibphoenix.com/resources/documents/design/doc_19
здесь без картинок, но подробно
http://www.firebirdsql.org/manual/fbint-page-5.html

как минимум, другое направление оффсетов на записи и самих записей (не сверху вниз, как на Figure1 в примере DSM, а снизу вверх), и т.д.
Учитывая, что для одной таблицы и на одной странице данных у Firebird могут лежать записи разных форматов, да еще и упакованные, Firebird-у "не светит" структура PAX. Впрочем, это мое предположение. И надо посмотреть, что изменилось в формате Firebird 3 в этом плане (скорее всего ничего).
23 авг 12, 04:30    [13052862]     Ответить | Цитировать Сообщить модератору
 Re: В каких СУБД используются NSM, DSM, PAX и CSM?  [new]
kdv
Member

Откуда: iBase.ru
Сообщений: 30232
kdv
потому что она и так есть в описании метаданных (или обязана быть).

то есть, читая с диска страницу данных, уже известно, к какой таблице эта страница относится, и какую структуру имеет эта таблица. так что хранить "длины данных" на странице нет никакого смысла, эта информация будет одинаковой для всех страниц данных таблицы.
23 авг 12, 04:32    [13052863]     Ответить | Цитировать Сообщить модератору
 Re: В каких СУБД используются NSM, DSM, PAX и CSM?  [new]
мини-странице
Guest
kdv
Вот например, DSM структура страниц Firebird (см. Data Page)
тут с картинками и в общем -
http://www.ibphoenix.com/resources/documents/design/doc_19
здесь без картинок, но подробно
http://www.firebirdsql.org/manual/fbint-page-5.html

Хм, а мне казалось что в Firebird модель хранения NSM.


kdv
kdv
потому что она и так есть в описании метаданных (или обязана быть).

то есть, читая с диска страницу данных, уже известно, к какой таблице эта страница относится, и какую структуру имеет эта таблица. так что хранить "длины данных" на странице нет никакого смысла, эта информация будет одинаковой для всех страниц данных таблицы.

Это если конечно длины фиксированные, а не varchar2 :)
23 авг 12, 15:58    [13056079]     Ответить | Цитировать Сообщить модератору
 Re: В каких СУБД используются NSM, DSM, PAX и CSM?  [new]
kdv
Member

Откуда: iBase.ru
Сообщений: 30232
мини-странице
Хм, а мне казалось что в Firebird модель хранения NSM.

она и есть NSM. никто же не заставляет следовать на 100% вот той картинке, которая в статье. Это же обобщенная схема, для понимания.

мини-странице
Это если конечно длины фиксированные, а не varchar2 :)

у Firebird размер записи не фиксированный. Во-первых, в char и varchar хранятся только данные, а во-вторых, запись упаковывается.
И ничего, одних оффсетов на начало каждой записи вполне хватает. В самой записи - да, длина данных каждого столбца хранится, но иначе ее раскрутить нельзя. Не было бы сжатия, то длину нужно было бы хранить только для char/varchar, и опять же, в самой записи. В PAX хранятся оффсеты на варчары, точно так же как на "записи произвольной длины".
В общем, в схеме PAX в статье размеры данных - это тоже иллюстрация. В реальной БД эта информация будет вычитываться один раз при чтении описания метаданных таблицы (формата столбцов и их длин).
24 авг 12, 13:03    [13059506]     Ответить | Цитировать Сообщить модератору
 Re: В каких СУБД используются NSM, DSM, PAX и CSM?  [new]
мини-странице
Guest
kdv
Вот например, DSM структура страниц Firebird (см. Data Page)

kdv
мини-странице
Хм, а мне казалось что в Firebird модель хранения NSM.

она и есть NSM.

Не совсем понял, что вы имели ввиду?
25 авг 12, 20:45    [13064391]     Ответить | Цитировать Сообщить модератору
 Re: В каких СУБД используются NSM, DSM, PAX и CSM?  [new]
kdv
Member

Откуда: iBase.ru
Сообщений: 30232
мини-странице
Не совсем понял, что вы имели ввиду?

описка была. Разумеется,
NSM - "позаписная" структура
DSM - столбцовая структура.

Столбцовые нынче редкость. Одна известная мне DSM - Sybase IQ.
Firebird - NSM, что явно видно из всех картинок, которые я дал.
26 авг 12, 20:14    [13066292]     Ответить | Цитировать Сообщить модератору
Все форумы / Сравнение СУБД Ответить