Валерий Крылов (justy_tylor) wrote,
Валерий Крылов
justy_tylor

Category:

Эволюция, и куда она так и не дошла

После выездного семинара CDO, где дни и ночи играли капоэйру, танцевали форро и вели прочий нездоровый образ жизни, вернулся в Питер, в котором уже целый день ничего не происходит. В связи с этим, даже о(б)суждение в почте с ailev статей от некоторых авторов, застрявших в профессиональном развитии лет на 30+, зацепило и привело к переоценке ценностей и выводам, достойным Капитана Очевидности.

Эволюция типов данных в компьютерных языках. Как оно было - сначала появились массивы, затем product types, и, наконец, долгожданные sum types. Для описания какой-либо предметной области требуются и sum types, и product types. Где-то это реализуется алгебраическими типам, где-то классами, в крайнем случае union и void* в помощь. Следующий шаг - когда совмещаются разные предметные области, и делается что-то вроде multidomain, но это уже отдельная история.

Берём мы какое-то свойство, задаваемое абсолютными и относительными значениями в разных единицах измерения и системах отсчёта, а также особыми случаями, и видим, что вот у нас алгебраический тип. А затем смотрим на древний бухгалтерский язык SQL и сразу становится грустно. Ибо sum types в реляционной модели вырождаются в такой закат солнца вручную, что magic numbers и нетипизированные строки выглядят приличными системными решениями. А нетипизированные строки любой key-value storage умеет.

Схемы для СУБД (не только реляционных) - продукт одноразовый, непереносимый, и далёкий от модели данных предметной области. В то же время, большинство инструментария, предлагаемого для data modeling, на самом деле является инструментами database modeling, что ведёт к получению куцей схемы вместо настоящей модели данных.

Не в смысле даталогия vs. инфология. А в смысле того, что если модель данных это высокоуровневое даталогическое описание, то схема базы это что-то вроде дампа машинного кода, где мало что осталось от исходных типов. И если в проекте есть только такой дамп, то проблемы с данными будут, они не случайны, а фундаментально обеспечены ещё в семидесятые (а после... задержка в развитии).

И сейчас до меня дошло, что мы постоянно обсуждаем какие-то высокие материи, парадигмы работы с пространством и временем в интеграции данных, etc, в мире, где правильно с типами сохранить "4.5kg" уже событие.
Subscribe
  • Post a new comment

    Error

    Anonymous comments are disabled in this journal

    default userpic

    Your reply will be screened

    Your IP address will be recorded 

  • 17 comments