Какой материал для изучения БД выбрать?

Подскажите хороший и наиболее свежий материал или книгу по базам данных и sql. Хочется начать с изучения истории и теории, все книги что нахожу - почему то узконаправленные(реляционные бд или др), а хотелось бы вообще разобраться, какие есть бд, что их отличает.
  • Вопрос задан
  • 429 просмотров
Решения вопроса 3
aRegius
@aRegius
Python Enthusiast
Посмотрите Seven Databases in Seven Weeks. Возможно, для старта окажется полезной.

Для более глубокого погружения можете посмотреть серию For Mere Mortals:
NoSQL for Mere Mortals | Database Design for Mere Mortals
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
@FanatPHP
Чебуратор тега PHP
История простая.
Когда компьютеры были большими а оперативная память стоила как самолет, были изобретены реляционные СУБД, который хранили данные на диске, а индексы - в памяти. Работают быстро, масштабируются, оптимизируются, хранят данные в легко описываемой и структурированной форме.

Когда оперативная память подешевела, появились стильные модные молодежные базы данных типа nosql. Которые делятся на тупо живущие в оперативе, то есть по сути не являющиеся базами данных вообще, а скорее кэширующими демонами, как например пример редис, и "документо-ориентированные" БД, которые тоже живут исключительно если только целиком помещаются в оперативе, как например Монго. Из-за принципа "храним всё как бог на душу положит", каждая запись содержит не только сами данные, но и их структуру - имена полей, вложенность, и пр. То есть если в реляционной БД ты просто смотришь на заголовок таблицы, и понимаешь, в какое поле тебе класть вот эти данные, то в no-sql ты перебираешь ВСЕ записи в поисках нужного поля. И все равно одни и те же данные в итоге хранятся в десятках разных полей. Ну и добавляет удобства ещё то, что поскольку все имена полей хранятся вместе с записями, то сообразительные разработчики для экономии памяти сокращают имена до одной-двух букв. Что конечно сильно облегчает работу с базой

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

Есть еще всякая мелочь, типа key-value storage, но у меня не поднимается рука называть их БД. Не называешь же ты массив в программе базой данных.
Ответ написан
Stalker_RED
@Stalker_RED
Когда основы уже есть, то можно попробовать упражнения на sql-ex
Ответ написан
Ваш ответ на вопрос

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

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