GlebLozhkovoy
@GlebLozhkovoy

Куда копать(что читать), дабы написать свою СУБД?

Для личного, учебного проекта хочется написать свою СУБД. Скорее всего реляционную (по большей части). Конечно, можно взять готовое решение, но неинтересно.

Хочется много теории. Готов читать про новые-модные решения, главное - про архитектуру. Жутко интересно как устроенно.

На первых порах требования такие:
  • транзакции
  • репликации
  • хранение в файлах - свой формат, наверное
  • http/socket доступ по сети ну это тупо технический аспект


Писать буду на Java. Никаких С/C++ или другого. Да, больше памяти(можно холиварить до конца 2038 года), но больше надежность. Плюс, когда свое и знаешь узкие места, то работает как часики. До чертиков восторгаюсь Hadoop, MongoDB.

Верю, что на хабре есть специалисты в области IR и БД. И как каждый специалист имеет любимую книгу по своему предмету. С каждого по книжке - и багаж знаний для построения есть.

Пока определил для себя: Managing Gigabytes: Compressing and Indexing Documents and Images.

Есть бумажная Introduction to Information Retrieval, на русском, зачитанная до дыр.
  • Вопрос задан
  • 3753 просмотра
Пригласить эксперта
Ответы на вопрос 3
не книги конечно, а курс, но возможно вам будет интересно, там если я правильно помню как раз цель - создание своей БД
База данных (2012)
База данных (2013)
Ответ написан
FanatPHP
@FanatPHP
Чебуратор тега РНР
Список требований выдаёт голубого мечтателя Манилова с головой.

На первых порах требования должны быть такие:
  • хранение в файлах - свой формат, наверное

Вот убей годик на разработку того самого формата, да на освоение тонкостей работы с файловой системой - потом уже (при наличии достаточного количество человеко-лет) можешь начинать задумываться в теории о таких вещах, как транзакции и репликации. И путеводной звездой для тебя должен служить не Хадуп, а Скулита.

А вообще, настоятельно рекомендую начать с key-value хранилища.
Ответ написан
kostja
@kostja
Разработчик СУБД Tarantool
Посмотрите в сторону Database sytems: the complete book Ульмана & co.
Без Dragon Book поддержку SQL не реализовать.
Для репликации рекомендую книгу Nancy Lynch по распределённым алгоритмам.
Реализация базового функционала реляционной СУБД с поддержкой SQL-92 где-то 400 лет в модели COCOMO.
В мире в данный момент активны более 300 различных баз данных, большинство из которых имеют открытый исходный код.
Удачи вам с вашим проектом!
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы