metaclass: (Default)
[personal profile] metaclass
Сижу допиливаю кодогенератор и в силу забубенности тематики мозг начинает параллельно думать на смежные темы.
Сейчас SQL базы данных часто используются как тупые хранилища данных. Доступ к ним производится посредством какого-то написанного тупыми индусами сервера приложений. Причем из каких-то религиозных (а на самом деле весьма практических - избежать гемора с поддержкой и обновлениями) соображений количество логики в БД стараются минимизировать, а все функции, которые может делать СУБД - реализуют средствами сервера приложений. Т.е. и транзакции (не дай бог распределенные с разными СУБД) и права доступа(которые в разных серверах вообще по разному сделаны) и сборка объектов предметной области из записей в БД - все это делается на каком-нибудь жабодотнете. Причем делается, я бы сказал, гораздо печальнее и многословнее чем это сделано в СУБД, но зато проще в разработке и поддержке.

Так вот, нафиг тут тогда SQL/реляционные СУБД? Если взять что-нибудь вроде Berkeley DB, сделать для нее все те же самые функции, за исключением того, что конечный пользователь будет волен по желанию выкинуть нахрен, например, стандартное управление версионностью и запилить свое, или там не хочет он SQL в качестве языка запросов, а хочет какой-нибудь LINQ или тому подобные монады.
Т.е. практически, мы возвращаемся к давно выкинутой в пользу RDBMS идее самодельных наколенных баз данных, но на сей раз, в силу всеобщей засранности индустрии придурочными технологиями никто слова поперек не скажет, что называется, абы работало. Ну и опять же - сейчас выбор готового шрота, из которого можно клепать такую чушь сильно больше, чем это было 10-15 лет назад.

Date: 2010-08-29 07:19 pm (UTC)
From: [identity profile] metaclass.livejournal.com
Это не NoSQL, т.к. мне религия запрещает использовать базы данных без запросов и статической схемы :)
Другое дело, что и то и другое придется реализовать самому, причем, если делать по человечески, это потянет за собой такое вуду, которое будет сложнее чем саппорт баз на оракле:)

Date: 2010-08-29 07:27 pm (UTC)
From: [identity profile] vromanov.livejournal.com
Такое вуду уже есть. К последнему BerkeleyDB прикрутили SQL от SQLite3.

Date: 2010-08-29 07:44 pm (UTC)
From: [identity profile] metaclass.livejournal.com
SQLite малость печален, странной типизацией и неполноценным SQL.

Date: 2010-08-30 04:25 am (UTC)
From: [identity profile] nivanych.livejournal.com
Ну так sqlite и предназначен-то для чего?
Типизация странная, но в остальном у меня к нему претензий нет.

А то, что прикрутили SQL, это очень хорошо.
Полноценный SQL тем, кто использует для своей задачи BerkeleyDB, не нужен, а вот некоторые элементы SQL очень даже нужны.
Посмотрю, может быть, мне пригодится.

Date: 2010-08-30 10:56 am (UTC)
From: [identity profile] http://users.livejournal.com/_slw/
i18n у него (sqlite) в жопе чуть более чем полностью.

Date: 2010-08-30 05:56 pm (UTC)
From: [identity profile] nivanych.livejournal.com
Да, совсем забыл...
Ну, ничо. Не всегда это так жопно.

Date: 2010-08-29 08:35 pm (UTC)
From: [personal profile] alll
Так. MySQL ещё толком не помер, а уже заработал переселение душ.

Date: 2010-08-29 08:39 pm (UTC)
From: [identity profile] metaclass.livejournal.com
Кровосмешение и содомский грех это а не переселение душ :)

Date: 2010-08-29 08:49 pm (UTC)
From: [personal profile] alll
сон смерти не помеха

Date: 2010-08-29 08:39 pm (UTC)
From: [identity profile] vromanov.livejournal.com
Это совсем другое. Теперь у оракла стало 4 нормальных базы

Date: 2010-08-29 08:03 pm (UTC)
From: [identity profile] b00ter.livejournal.com
Это именно NoSQL. Статическая схема зло, особенно если ее рассматривать в динамике (версионность, ага), а map-reduce ничуть не хуже языка запросов, особенно в вэбне, где каждое второе чмо норовит injection подкинуть.

Да-да, плюйте в меня, православные скуэльшики!

Date: 2010-08-29 08:06 pm (UTC)
From: [identity profile] teewoon.livejournal.com
*сиквельщики

Date: 2010-08-29 08:22 pm (UTC)
From: [identity profile] metaclass.livejournal.com
Насчет статики это вообще религиозный вопрос.

Я не могу заставить себя писать тестов больше чем кода, а тут нет альтернативы - или статическая типизация и гарантия корректности программы или 100% покрытие тестами.

Версионность и статическая типизация совместимы, но тянут за собой редчайшее нечеловеческое вуду. Т.е. теоретически оно настолько сложно, что намного проще отслеживать это дело вручную и делать скрипты обновления схемы. Хотя это только потому, что обновления схемы делаются редко, а делаются редко они потому что иначе работа превратится в ад.

Profile

metaclass: (Default)
metaclass

April 2017

S M T W T F S
      1
2345678
9101112 131415
16171819202122
23242526272829
30      

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Sep. 5th, 2025 09:09 am
Powered by Dreamwidth Studios