Ответы:
Не вполне понимаю, что вы имеете ввиду под постреляционными базами. Есть обьектные, есть xml-based ещё чего-то там. Но на самом деле это пока большого распространения не получило. Проблема в том что все эти методики очень требовательны к ресурсам. А базы данных это как раз то где пока ещё ресурсов много не бывает. Я не напрягаясь могу писать SQL запросы которые к базе текущего моего проекта размером метров в 800, выполняются минут по 5. Гораздо сложнее написать их так что-бы укладываться в терпимые с большим скрипом полминуты. Соответственно, использование в такой ситуации не реляционных баз ещё больше ситуацию осложнит.
Имею в виду объектно-ориентированные БД
Ну собственно к ним это тоже относится, объектно-ориентированные БД просто позволяют программистам писать запросы проще, за счёт большего потребления ресурсов. Поскольку нормальный программист баз данных должен уже знать SQL - потому-что без него на больших базах не обойтись, то изучать дополнительно объектно-ориентированные БД никто не будет.
Объектно-ориентированные БД применяются в основном в тех случаях, кода необходимо хранить и реляционне данные, и некие объектные, с их взаимосвязями и составляющими. Пример - CAD системы (математическое представление объекта, его 3D модель, связи с другими объектами, составляющие этого объекта как другие объекты, технологические карты, чертежи, иногда - фотографии). Т.е. данные очень разнородны, не всегда структурированы, большое к-во взаимосвязей, разные типы данных. Основное преимущество таких БД - быстрый доступ именно к объектам по связям и хорошие скоростные показатели в линейном чтении.
В реальности же мир пошел по другому пути. Используются высокопроизводительные реляционные БД для хранения типизируемых, структурированных данных, объектные данные (как то изображения, 3D модели и т.д.) хранятся в отдельных, оптимизированных под конкретные типы данных БД (это может быть та же реляционная БД, но с "оптимизацией"), и связывают все данные посредством xml (может хранится как отдельная таблица или как БД с оптимизацией под эту задачу). На сколько мне известно, так получается эффективнее и дешевле.
Спасибо за Ваш отзыв. Пока что Ваше мнение сходится с моим. Но много лет назад к реляционным базам было такое-же скептическое отношение, может в будущем что-то изменится.
2 Zhumak: Спасибо за Ваш ответ. Очень по существу.
Каше - прекрасная БД со всех сторон. Она позволяет не заморачиваться особенно сильно и писать SQL код, либо получать доступ к данным через объекты. В этом случае вы получаете удобство использования. Особых восторгов в плане производительности ждать не стоит.
Другое дело -- Каше позволяет обращаться к данным через глобалы. Это уже совсем низкоуровневый доступ к данным. Минусы -- сложность. Плюсы -- скорость.
2 Anton Kudris: Благодарю за ответ! Очень познавательно для меня.
17 лет назад