Внутренняя база данных-с чего начать?
Итак, предположим, что вы хотите узнать кое-что о внутренних компонентах базы данных. Какой исходный код лучше всего посмотреть? лучшие книги для покупки?
Я говорил об этом с приятелем на днях, и он рекомендовал:
искусство компьютерного программирования, Том 3: сортировка и поиск
Какие еще книги помогут мне узнать обо всех проблемах ввода-вывода файлов и памяти, страницах, блокировках и т. д.... ?
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.