Чувствую, что несу чушь,
но не могу отделаться от ощущения, что с эволюцией баз данных нас очень сильно наебали.
Это по поводу этого: http://plumqqz.livejournal.com/323506.html
Меня очень сильно бесит расхождение технологий: с одной стороны, классические СУБД, с другой NoSQL, с третьей - всякие in-memory распределенные базы, с четвертой - всякие аналитические БД с column storage, сжатием данных и перекосом в сторону чтения типа vertica, sybase iq или забиваторской QD. Плюс еще всякие datomic до которой я никак добраться не могу.
Все это, очевидно, между собой мало совместимо, решает разные задачи, требует каких-то дурных миграцией данных между собой и превращает работу с большим количеством данных в тыкву, потому что вместо одного толкового решения существует десяток решений разной степени безумности, требующих интеграции.
Это по поводу этого: http://plumqqz.livejournal.com/323506.html
Меня очень сильно бесит расхождение технологий: с одной стороны, классические СУБД, с другой NoSQL, с третьей - всякие in-memory распределенные базы, с четвертой - всякие аналитические БД с column storage, сжатием данных и перекосом в сторону чтения типа vertica, sybase iq или забиваторской QD. Плюс еще всякие datomic до которой я никак добраться не могу.
Все это, очевидно, между собой мало совместимо, решает разные задачи, требует каких-то дурных миграцией данных между собой и превращает работу с большим количеством данных в тыкву, потому что вместо одного толкового решения существует десяток решений разной степени безумности, требующих интеграции.
no subject
no subject
А потом жалуются на пиздец.
no subject
no subject
(Anonymous) 2012-10-23 05:58 pm (UTC)(link)Это уже не просто вопль. В отличае от меня этот человек что, то пишет и не первый год и у него такие вот вопросы.
Насчет DB2 ну не знаю. MySQL и MS SQL по сравнению с ним это уже не то.
no subject
no subject
no subject
no subject
PS Написать собственный генератор айдюков, коли приспичило, как я смотрю, задача тоже непосильная.
no subject
про генератор -- по силам, конечно, но речь была про стандарт. Конечно, мне никуда не впёрлось перетаскивать программу с одной субд на другую, поэтому мне неактуально, но стандарт однако не даёт способа узнать последний вставленный id.
no subject
Если вставляется то, что не является уникальным, то нахера оно вообще вставляется? Типа дублирование - ну вроде как для надежности? Как написал какой-то руководитель, "пришлите мне четыре прозрачных однопиксельных гифа".
про генератор -- по силам, конечно, но речь была про стандарт.
Я, собственно, про стандарт и пишу - т.е. написать собственными силами, используя стандартный sql-92, генератор айдюков не по силам. Ок, ясно.
no subject
(no subject)
(no subject)
(no subject)
(no subject)
(Anonymous) - 2012-10-23 18:02 (UTC) - Expand(no subject)
(no subject)
(no subject)
(no subject)
(no subject)
(no subject)
no subject
(Anonymous) 2012-10-23 06:00 pm (UTC)(link)no subject
no subject
SELECT SCOPE_IDENTITY() - mssql
LAST_INSERT_ID() - mysql
IDENTITY_VAL_LOCAL() - db2
no subject
no subject
no subject
(no subject)
(no subject)
(no subject)
(no subject)
(Anonymous) - 2012-10-23 18:05 (UTC) - Expand(no subject)
(no subject)
(no subject)
(no subject)
(no subject)
(no subject)
(no subject)
(no subject)
(no subject)
(no subject)
(no subject)
(no subject)
(no subject)
(no subject)
no subject
(Anonymous) 2012-10-23 06:02 pm (UTC)(link)no subject
А в жире, например, сделали отдельную табличку с генераторами, и при необходимости выделяют блоками.
no subject
no subject
no subject
либо (при наличии оптимизации и точки контроля) делают select max(id) + 1 from table / retry on commit fail
> т.е. вернуть из insert/update значения полей, которые были автосгенерированы
это уровень API, а не SQL