Внутренняя база данных-с чего начать?


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

Я говорил об этом с приятелем на днях, и он рекомендовал:
искусство компьютерного программирования, Том 3: сортировка и поиск

Какие еще книги помогут мне узнать обо всех проблемах ввода-вывода файлов и памяти, страницах, блокировках и т. д.... ?

9 19

9 ответов:

Учебник: Системы управления базами данных Рамакришнана и Герке.

Или: архитектура системы баз данных по Хеллерштейну, Стоунбрейкеру и Гамильтону.

Производственный Код: PostgreSQL

(мне больше нравится PG-код, чем SQLite, он гораздо более полный и, я думаю, лучше организован. SQLite является удивительным для того, что он делает, но есть много, что он не берет на себя).

Дополнительный кредит: показания в системах баз данных, 4-е издание под редакцией Хеллерштейна.

Если вы действительно серьезны, и хотя жесткая читать не кто иной, как покойный и великий Джим Грей и Reuter:

Обработка транзакций, концепции и методы

Опять же, если серьезно, не беспокойтесь ни о чем другом.. это вне этого мира и, конечно же, вне mySQL, преследуемой IBM или Oracle..

Источник SQLite очень доступен для изучения реализаций баз данных.

PostgreSQL-это очень хорошо написанная часть программного обеспечения, с более высокой сложностью, чем SQLite.

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

Взгляните на системы баз данных: Полная книга Гектора Гарсиа-Молины, Джеффри Д. Ульмана, Дженнифер Д. Уидома. Речь идет конкретно о внутренних компонентах СУБД.

Ответ SquareCog также содержит разумные предложения; я не смотрел на две упомянутые книги (хотя книга Stonebreaker "Architecture" составляет всего 136 страниц по данным Amazon, что кажется немного легковесным).

Вот интересное чтение о SQLOS, который управляет Microsoft SQL Server 2005+.

Подробная информация о внутренних устройствах относится к конкретной базе данных, вот источник на SQL Server 2008: http://www.amazon.com/Microsoft%C2%AE-SQL-Server%C2%AE-2008-Internals/dp/0735626243

Не всем нравится его стиль, но я нахожу, что Джо Селко отлично справляется с объяснением логики, основанной на множествах, которая управляет базами данных SQL. Если у вас уже есть небольшой опыт работы с SQL, вы должны прочитать SQL for Smarties.

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