metaclass: (Default)
metaclass ([personal profile] metaclass) wrote2012-07-01 12:21 pm
Entry tags:

Если не RDBMS, то что?

http://metaclass.livejournal.com/706440.html?thread=13096072#t13096072
Можно ли делать опердени не на RDBMS, не возвращаясь на уровень 70х годов, с иерархическими базами и прочими обработками на клиенте по курсорам?

Вариант "есть транзакции с ACID и есть оптимизированное по индексам выполнение filter/map/fold/reduce внутри базы" меня в принципе устроит. За исключением того, что SQL более лаконичен, вроде бы, если не делать внутри языка DSL аналогичный ему.


Например: select User_Name from Users where User_ID=?User_ID превращается во что-то вроде
let UserName UserID =
Users |> filter (fun u -> u.User_ID=UserID) |> map (fun u->u.User_Name) |> tryFirst

На LINQ же будет что-то вроде: from u in Users where u.User_ID=User_ID select u.User_Name

И все равно это же надо выполнять в СУБД, чтобы вся таблица не фетчилась на клиента или апп-сервер.

[identity profile] freiksenet.livejournal.com 2012-07-01 03:51 pm (UTC)(link)
У вас опердень для 100 бухгалтеров, нахуя вам риак? Юзайте sql и не выёбывайтесь.

[identity profile] metaclass.livejournal.com 2012-07-01 04:19 pm (UTC)(link)
Ну в опердень я его точно не потащу. А проектов у меня заметно более одного)

[identity profile] freiksenet.livejournal.com 2012-07-01 04:30 pm (UTC)(link)
Настолько высоконагруженных что нужен риак и мускуль/постгрес не справляются?

[identity profile] nivanych.livejournal.com 2012-07-01 04:40 pm (UTC)(link)
Крокодила на вас не хватает!

[identity profile] freiksenet.livejournal.com 2012-07-01 04:45 pm (UTC)(link)
Он ораклист?

[identity profile] nivanych.livejournal.com 2012-07-02 05:20 am (UTC)(link)
Не в том дело. А в том, что подразумевается, что именно риак способен обеспечить высокую нагрузку.
А это очень спорное высказывание, требующее массу уточнений, начиная с кусков, для которых достаточно eventual consistency, заканчивая необходимыми структурами и выборками.
По сравнению с, нормальные SQL'ины делают многие и сложные выборки весьма и весьма неплохо. И не нужно задумываться о реализации такой структуры, которая бы такие выборки делала быстро. И если потребуется ещё какая выборка, то тоже особенно думать не нужно. И тем более, переделывать.

[identity profile] metaclass.livejournal.com 2012-07-01 05:17 pm (UTC)(link)
Высоконагруженные в планах.
Впрочем, меня больше интересует вопрос, как у них репликация теоретически устроена.