Другие языки программирования и технологии

Что почитать, чтобы понять, как создать движок СУБД с нуля?

Для начала - учебник реляционной алгебры. Которая является расширением теории множеств. Именно операции реляционной алгебры реализует язык SQL.

Впрочем, если ты собираешься делать не реляционную, а иерархическую (MongoDB) или сетевую базу, понадобится учебник не реляционной алгебры, а теории графов.
Дмитрий Белов
Дмитрий Белов
82 253
Лучший ответ
Саша Христенко Мне не принципиален язык и структура хранения на диске. Мне не составит труда скопировать любую субд, но остается не ясным, какие алгоритмы искать, чтобы все работало быстро и без потерь.
Неужели прям-так и ни одной книги не попалось или опыт уже был?
"движок СУБД" некорректное название СУБД и есть движок .
https://habr.com/ru/post/347274/
Саша Христенко Мне не ясно, как должен оптимироваться запрос и организовываться конкурентный доступ.
Начни с любого ВУЗовского учебника по теории множеств, тебе понравится.
Aljan89
Aljan89
52 685
Саша Христенко Я её и так знаю.
Что-то мотивирующее. Все таки лет на 10 из жизни выпадете....
RK
Roman Kotov
68 302
Для начала спрошу 2 вопроса.
Ты хочешь СУБД для уже существующей базы сделать или прям свою с нуля?
Зачем тебе это? Ты понимаешь, что существует множество, самых разных, на любой вкус и цвет. Хочешь бери встраиваемую БД, которая просто будет файликом и к ней будешь подключаться. Хочешь, бери базу, которая прям в оперативке будет (Redis например). Хочешь - храни данные в виде графа. Причём многие из этих баз разрабатывались десятилетиями и разрабатывали их целые компании. Стоит ли это твоих усилий?




Поскольку от всего этого и зависит написание.
Вообще неплохо взяться за изучение уже существующих баз. Вначале понять, какие базы есть (а существует множество их и это не только SQL) и почитать, как они работает.
Советую почитать про структуры и алгоритмы обработки данных.
Также надо почитать про то, как вообще компьютер работает и операционка, для которой ты будешь делать. Поскольку обычно от СУБД ждут производительности. А чтобы выжать максимальную производительность, надо знать как все работает.
Ну и разумеется научиться программированию.
Саша Христенко Ну вот мне и остается только узнать, как внутри работает СУБД.
учебники