Формат файла БД
От: -n1l-  
Дата: 12.08.15 11:32
Оценка:
Здравствуйте. В целях образовательной задачи решил сделать простенькую СУБД.
Есть вопрос, кто нибудь может накидать материала о том, как хранятся данные в реляционных субд на жестком диске, прежде всего интересно каков будет формат файла(до собственной файловой системы руки еще не дошли)?
Re: Формат файла БД
От: Нахлобуч Великобритания https://hglabhq.com
Дата: 12.08.15 12:22
Оценка: +1
Здравствуйте, -n1l-, Вы писали:

N>Есть вопрос, кто нибудь может накидать материала о том, как хранятся данные в реляционных субд на жестком диске, прежде всего интересно каков будет формат файла(до собственной файловой системы руки еще не дошли)?


The SQLite Database File Format. И вообще советую почитать остальную документацию по внутренностям SQLite.
HgLab: Mercurial Server and Repository Management for Windows
Re: Формат файла БД
От: Alex912  
Дата: 12.08.15 13:04
Оценка:
Здравствуйте, -n1l-, Вы писали:

N>Здравствуйте. В целях образовательной задачи решил сделать простенькую СУБД.

Я бы сделал форк вот этого и ковырял бы.
http://www.h2database.com/html/architecture.html
https://github.com/h2database/h2database
Re[2]: Формат файла БД
От: -n1l-  
Дата: 12.08.15 13:48
Оценка:
Здравствуйте, Нахлобуч, Вы писали:

Н>The SQLite Database File Format. И вообще советую почитать остальную документацию по внутренностям SQLite.


Спасибо большое, может быть будет еще что-нибудь полезное?
Re[3]: Формат файла БД
От: Нахлобуч Великобритания https://hglabhq.com
Дата: 12.08.15 14:26
Оценка:
Здравствуйте, -n1l-, Вы писали:

N>Спасибо большое, может быть будет еще что-нибудь полезное?


Только тссс!

Database Management Systems, 3rd Edition
HgLab: Mercurial Server and Repository Management for Windows
Re: Формат файла БД
От: 11molniev  
Дата: 12.08.15 18:52
Оценка:
Здравствуйте, -n1l-, Вы писали:

N>Здравствуйте. В целях образовательной задачи решил сделать простенькую СУБД.

N>Есть вопрос, кто нибудь может накидать материала о том, как хранятся данные в реляционных субд на жестком диске, прежде всего интересно каков будет формат файла(до собственной файловой системы руки еще не дошли)?

Том Кайт Oracle для профессионалов
Re[2]: Формат файла БД
От: wildwind Россия  
Дата: 13.08.15 05:57
Оценка:
Здравствуйте, 11molniev, Вы писали:

1> Том Кайт Oracle для профессионалов


Там форматы файлов подробно не описаны.
Hardware eventually fails. Software eventually works. ::: avalon/1.0.442
Re: Формат файла БД
От: IB Австрия http://rsdn.ru
Дата: 13.08.15 07:37
Оценка: +1
Здравствуйте, -n1l-, Вы писали:

N>Есть вопрос, кто нибудь может накидать материала о том, как хранятся данные в реляционных субд на жестком диске, прежде всего интересно каков будет формат файла(до собственной файловой системы руки еще не дошли)?

Классика жеж: Дж. Ульман, Системы Баз Данных. Полный Курс http://www.ozon.ru/context/detail/id/1351096/
Автор(ы): Гектор Гарсиа-Молина, Джеффри Ульман, Дженнифер Уидом
Издательство: Вильямс
Цена: 424р.

Книга известного специалиста в области компьютерных наук Дж.Ульмана и его именитых коллег по Станфордскому университету является уникальным учебным и справочным пособием, которое отличается беспрецедентными широтой и глубиной охвата предмета и
Мы уже победили, просто это еще не так заметно...
Re[2]: Формат файла БД
От: -n1l-  
Дата: 13.08.15 09:25
Оценка:
а где там про форматы файлов?
Re[3]: Формат файла БД
От: 11molniev  
Дата: 13.08.15 11:52
Оценка:
Здравствуйте, wildwind, Вы писали:

W>Там форматы файлов подробно не описаны.


Если имеется ввиду, что не расписаны struct name {}; — то да, так подробно не описаны. А в общем виде, какие данные и как хранятся там есть.
Re[3]: Формат файла БД
От: IB Австрия http://rsdn.ru
Дата: 13.08.15 12:35
Оценка:
Здравствуйте, -n1l-, Вы писали:

N>а где там про форматы файлов?

Там точно было про данные, которые в этих файлах хранятся, а формат из этого придумать — дело творческое )
Мы уже победили, просто это еще не так заметно...
Re: Формат файла БД
От: ELazin http://rsdn.ru/forum/prj/6225353.1
Автор: ELazin
Дата: 26.10.15
Дата: 13.08.15 12:56
Оценка: 6 (1) +1
N>Здравствуйте. В целях образовательной задачи решил сделать простенькую СУБД.
N>Есть вопрос, кто нибудь может накидать материала о том, как хранятся данные в реляционных субд на жестком диске, прежде всего интересно каков будет формат файла(до собственной файловой системы руки еще не дошли)?

Непосредственно формат файла в СУБД не самое главное. Главное это алгоритмы: джоины (merge join, hash join), сортировки во внешней памяти (alpha sort например), как организуется crash recovery (double writes, checksums, Reed-Solomon, WAL), оптимизация запросов и cost model (System R), алгоритмы сжатия и структуры данных для хранения даных во внешней памяти (B-tree + вариации, LSM-tree), consurency control механизмы и тд и тп.

Наиболее полное собрание "сочинений" на эту тему: Joseph M. Hellerstein; Michael Stonebraker (2005). Readings in Database Systems. MIT Press.
System R хорошо описана в литературе, много всего можно найти.
Re[2]: Формат файла БД
От: Sinclair Россия https://github.com/evilguest/
Дата: 15.08.15 18:11
Оценка:
Здравствуйте, ELazin, Вы писали:
EL>Наиболее полное собрание "сочинений" на эту тему: Joseph M. Hellerstein; Michael Stonebraker (2005). Readings in Database Systems. MIT Press.
EL>System R хорошо описана в литературе, много всего можно найти.
Мне ещё Гарсиа-Молина нравится, но говорят её уже не купишь.
Уйдемте отсюда, Румата! У вас слишком богатые погреба.
Re: Формат файла БД
От: Sinclair Россия https://github.com/evilguest/
Дата: 15.08.15 18:12
Оценка:
Здравствуйте, -n1l-, Вы писали:

N>Здравствуйте. В целях образовательной задачи решил сделать простенькую СУБД.

N>Есть вопрос, кто нибудь может накидать материала о том, как хранятся данные в реляционных субд на жестком диске, прежде всего интересно каков будет формат файла(до собственной файловой системы руки еще не дошли)?
Рекомендую ознакомиться с https://technet.microsoft.com/en-us/library/cc280360(v=sql.105).aspx
Уйдемте отсюда, Румата! У вас слишком богатые погреба.
Re[3]: Формат файла БД
От: ELazin http://rsdn.ru/forum/prj/6225353.1
Автор: ELazin
Дата: 26.10.15
Дата: 16.08.15 11:41
Оценка:
S>Мне ещё Гарсиа-Молина нравится, но говорят её уже не купишь.

На амазоне эта книга есть, ну и наверняка ее еще переиздадут.
Можно еще вот это порекомендовать (именно по внутреннему устройству) — Understanding MySQL Internals, Relational Database Design and Optimizers.
Re[4]: Формат файла БД
От: -n1l-  
Дата: 18.08.15 15:17
Оценка:
Где именно?
Re[2]: Формат файла БД
От: -n1l-  
Дата: 18.08.15 15:26
Оценка:
Спасибо, а вы сами ее читали? Там английский как, сложный или можно разобраться?
Re[2]: Формат файла БД
От: sergmalinin  
Дата: 18.08.15 15:36
Оценка:
Здравствуйте, Alex912, Вы писали:

A>Здравствуйте, -n1l-, Вы писали:


N>>Здравствуйте. В целях образовательной задачи решил сделать простенькую СУБД.

A>Я бы сделал форк вот этого и ковырял бы.
A>http://www.h2database.com/html/architecture.html
A>https://github.com/h2database/h2database

Лучше взять https://github.com/jankotek/mapdb
будет проще разобраться, чем с H2
Re[3]: Формат файла БД
От: ELazin http://rsdn.ru/forum/prj/6225353.1
Автор: ELazin
Дата: 26.10.15
Дата: 18.08.15 16:30
Оценка:
N>Спасибо, а вы сами ее читали? Там английский как, сложный или можно разобраться?

Некоторые статьи оттуда прочитал, но далеко не все (это сборник научных статей, если что). Там объем очень большой. Я думаю многие из статей, вошедших в этот сборник, нетрудно найти online и прочитать.
Re: Формат файла БД
От: SL  
Дата: 25.08.15 09:27
Оценка:
Здравствуйте, -n1l-, Вы писали:

N>Здравствуйте. В целях образовательной задачи решил сделать простенькую СУБД.

N>Есть вопрос, кто нибудь может накидать материала о том, как хранятся данные в реляционных субд на жестком диске, прежде всего интересно каков будет формат файла(до собственной файловой системы руки еще не дошли)?

Можно использовать B+ tree, поле в таблице будет предоставлять собой B+ типа BPlus<int32/int64, value>, где int32/int64 это OID записи, value тип поля, таблица будет представлять собой набор таких деревьев, соответственно индекс это B+ либо хэш но в обратную сторону <value, OID>, в литературе обычно узлы B+ дерева "затачивают" на количество максимальных/минимальных элементов для разделения и слияния, но можно плясать от заполненности листа в контексте файловой страницы, то есть лист (неважно внутренний или внешний) имеет максимальный размер например 8/16/64кб, это упрощает добавление "транзакционности", когда сущность "транзакция" работает исключительно с файловыми страницами, и относительно просто реализуются UNDO, REDO, COMMIT.
Ну это так маленький шажочек даже в простенькой реляционной СУБД.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.