Несоответствие импеданса


Украдено с SQL.ru:

Хм… Похоже, нынешние программисты стали забывать такие слова как «несоответствие импеданса»…
Пытаться подойти к реляционной (ведь мы про реляционные?) БД с объектным подходом — верный пить к серьёзным проблемам. Причём не сразу сейчас (хоть даже и в продакшен), а в будущем, когда количество данных серьёзно изменится.

Точнее, может кто-то даже и не будет воспринимать это как проблему, но там, где по уму достаточно 2-x ядер, потребуется вдруг 16. Ничего, железо стерпит. Вон конь — у него голова большая, пусть и думает.
Потом полезут проблемы с самим фактом представления БД как persistence слоя под приложением — когерентность кэшей и их когерентность с БД, примитивизация доступов (от объекта к объекту), вырождающаяся в лимитированность запросов исключительно простейшими выборками по ID и превращением реляционной СУБД в сетевую (с соответствующей потерей эффективности). Не добавит радости естественная (и практически единственно возможная для объектной модели) идентификация по суррогатным ключам, лишающая преимуществ коллокации данных в страницах как самих данных, так и индексов, ускоряющая доступ в отдельных случаях в разы (если не в десятки раз). И т.д.

Правильный подход (в большом количестве случаев) — модульность. И задание строгих API. При этом API служат как наборы функций/процедур, так и наборы view.

BTW Не надо забывать, что SQL — это прежде всего не процедурный, а декларативный язык. С определённой точки зрения — даже функциональный, опирающийся на операции с data set’ами.
То, что некоторые разработчики работают с ним исключительно как с этаким Basic’ом — не беда языка.

This entry was posted on Вторник, февраля 2, 2016 at 16:33 and is filed under базы данных, проектирование. You can follow any responses to this entry through the RSS 2.0 feed. You can leave a response, or trackback from your own site.

Leave a Reply

You must be logged in to post a comment.