LINUX.ORG.RU

Что почитать по теории баз данных?

 


1

2

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


научиться корректно выбирать сервер базы данных для конкретной задачи

Лет 20 поработаешь - научишься. В книжках такие вещи не напишут.

handbrake ★★★
()
Ответ на: комментарий от handbrake

Лет 20 поработаешь - научишься. В книжках такие вещи не напишут.

Для того что бы на такую работу взяли уже надо уметь. Ну и кроме того за 20 лет может всё так измениться что все знания устареют.

mongo
() автор топика
Ответ на: комментарий от mongo

Для того что бы на такую работу взяли уже надо уметь.

Неужели думаешь что книжки сильно помогут? Если не к таким же книжным деятелям пойдёшь, то сразу же поймут что жизнь видел только из телевизора.

Ну и кроме того за 20 лет может всё так измениться что все знания устареют.

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

mashina ★★★★★
()
Ответ на: комментарий от Deathstalker

Плюсую. Еще алгоритмы. А если конкретно по моге (судя по твоим вопросам на этом форуме), еще и вот это.

anonymous
()

Дейта уже посоветовали

а дальше лучше мануалы к конкретным СУБД читать, MySQL там или PostgreSQL

Harald ★★★★★
()
Ответ на: комментарий от mashina

Неужели думаешь что книжки сильно помогут? Если не к таким же книжным деятелям пойдёшь, то сразу же поймут что жизнь видел только из телевизора.

Ничто не мешает после прочтения теоретической части реализовать учебный проект, например написать простенький сервер бд, сравнить производительность с современными и проанализировать.

mongo
() автор топика
Ответ на: комментарий от swwwfactory

т.е. как это? Вместо парсера-компилятора ?

Имеется ввиду: изучить алгоритмы используемые в БД что бы посмотреть исходники например postgresql и понять конкретную реализацию этих алгоритмов.

mongo
() автор топика
Ответ на: комментарий от Harald

а дальше лучше мануалы к конкретным СУБД читать, MySQL там или PostgreSQL

Да с мануалами понятно, хотелось бы именно внутренности изучить, алгоритмы. А то мучался неделю с индексами и ничего непонятно потому что нет ни какого представления о том что происходит в системе.

mongo
() автор топика
Ответ на: комментарий от mongo

Слон - матёрый проект, имеет слишком давнюю историю, чтобы понять реализацию тех или иных алгоритмов.

Очень долго придётся лазить по исходникам, чтобы найти воплощение алгоритма например какого-нибудь фильтра Блума (если она там есть конечно) или двусвязного списка.

Если повезёт, кто-то из разработчиков может и добавит в комментах упоминание алгоритмов.

Начни с изучения формата dbf по исходникам codebase или свободной альтернативы, потом плавно переходя в SQL-парсер... В качестве закрепления материала написать SQL-обёртку для запросов над массивами в любимом языке...

swwwfactory ★★
()
Последнее исправление: swwwfactory (всего исправлений: 2)
Ответ на: комментарий от handbrake

Лет 20 поработаешь - научишься.

100 лет - поэтому никто не умеет ))

King_Carlo ★★★★★
()
Ответ на: комментарий от swwwfactory

Слон - матёрый проект, имеет слишком давнюю историю, чтобы понять реализацию тех или иных алгоритмов.

Это правда и неправда одновременно. Да, это очень хороший проект и единственная нормальная реляционная СУБД с открытым кодом. И при этом многие особенности реализации и архитектура хорошо документированы, есть куча статей прямо от авторов с описанием алгоритмов различных индексов и объяснением что и зачем нужно. Это очень хороший и правильный старт для углубленного изучения СУБД.

Начни с изучения формата dbf по исходникам codebase или свободной альтернативы, потом плавно переходя в SQL-парсер... В качестве закрепления материала написать SQL-обёртку для запросов над массивами в любимом языке...

Это всё совершенно ненужные мелочи, особенно dbf. Из всего этого нужно только узнать основы реляционной теории через Дейта, как к этому относится SQL и во что SQL разворачивается внутри СУБД.

mashina ★★★★★
()
Ответ на: комментарий от mongo

Ничто не мешает после прочтения теоретической части реализовать учебный проект, например написать простенький сервер бд, сравнить производительность с современными и проанализировать.

Ну вот на это и уйдёт много лет. Если совсем ничего не знаешь, то вполне может уйти и 20, если что-то уже знаешь, то несколько лет на опыты потратить придётся. Тут важно понимать, что не существует одной книги «по всему» и вообще чтение обзорных книг это пустая трата времени. Нужно адресно читать небольшие статьи конкрентно по возникающим вопросам в процессе этих опытов.

mashina ★★★★★
()

Реляционная теория это одно, проектирование модели данных это второе, sql это третье, особенности каждой субд это четвёртое, вопросы производительности это пятое, реализация и алгоритмы субд это шестое. Что именно-то хочешь понимать? У анонимуса есть конечно подозрение, судя по тому, как сформулирован вопрос, что тебе полезно будет почитать Дейта по реляционной теории, что-нибудь по sql, и по производительности, например Рефакторинг SQL приложений, по проектированию - почти что угодно с названием, содержащим data modeling. Это как бы не заменит опыт, но общее представление получишь.

anonymous
()

Про нагрузку ты специально выделил? В этом проблема? 😊

anonymous
()

Это как раз скорее книжка по практике нужна, а не по теории. Теория - это ER диаграммы, реляциональная алгебра, нормальные формы и т.п. Ну и по b+ деревьям ещё.

invy ★★★★★
()
Ответ на: комментарий от mongo

Для того что бы на такую работу взяли уже надо уметь.

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

Ну и кроме того за 20 лет может всё так измениться что все знания устареют.

вебчаты/скайпоконференции/твитеры=irc, соцсети=фидо, почта=бумажная почта и так можно долго продолжать. Нового, за последние лет 10-20, кроме карманных компьютеров, по ошибке называемых телефонами, в последнее время не появилось НИЧЕГО.

handbrake ★★★
()
Ответ на: комментарий от invy

А есть ли что нибудь где описывается конкретная реализованная система с большим количеством данных и другими сложностями? Например статьи от разработчиков системы и/или открытый код такой системы. Или для того что бы ознакомится с реализованной системой придётся устроиться на работу туда исключительно что бы посмотреть на всякие хитрости?

mongo
() автор топика
Ответ на: комментарий от anonymous

Спасибо, скачал. Солидный труд.

mongo
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.