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] yantayga.livejournal.com 2012-07-01 05:09 pm (UTC)(link)
Так то Паук!

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

[identity profile] metaclass.livejournal.com 2012-07-01 05:24 pm (UTC)(link)
Так на SQL до поры до времени оно более адекватно выглядит.

[identity profile] si14.livejournal.com 2012-07-01 06:10 pm (UTC)(link)
Быстрее чем что?

[identity profile] dr-hyder.livejournal.com 2012-07-01 06:13 pm (UTC)(link)
Ну в нашем случае быстрее чем его успели толком нагрузить.

[identity profile] w00dy.livejournal.com 2012-07-01 09:54 pm (UTC)(link)
Такой вариант подходит только если сразу бухам на комп всё ставить. Ребе, в какое говно вы влезли?

PS А чего не msde какой-нить? Или вообще sql express, он тоже просто ставится.

[identity profile] w00dy.livejournal.com 2012-07-01 10:02 pm (UTC)(link)
Так ведь оно так и есть. Народ с улицы рукожоп и к снаряду подходить не умеет. Дык кто поддерживать то будет когда вас в дурку заберут?

[identity profile] metaclass.livejournal.com 2012-07-01 10:28 pm (UTC)(link)
У MSSQL бесплатных были (или есть?) ограничения на размеры базы. Кроме того, c проприетарщиной я вообще не связываться. Postgresql тогда вообще под винду нативно не было. MySQL унылое говнище.

[identity profile] metaclass.livejournal.com 2012-07-01 10:30 pm (UTC)(link)
Т.е. обслуживать не смогут, вне зависимости - напишу я SQL запрос на две страницы, или на пять страниц то же самое вне СУБД. Так чего я буду ради абстрактных целей себе жизнь усложнять?

[identity profile] berezovsky.livejournal.com 2012-07-01 10:41 pm (UTC)(link)
о блин, а я думал только на пять соединений ограничение:

SQL Server Express Edition is a scaled down, free edition of SQL Server, which includes the core database engine. While there are no limitations on the number of databases or users supported, it is limited to using one processor, 1 GB memory and 4 GB database files (10 GB database files from SQL Server Express 2008 R2

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

[identity profile] blackyblack.livejournal.com 2012-07-02 05:24 am (UTC)(link)
Уже выяснили же, что ничего такого нет в природе. И ребе обязался СУБД на хаскеле написать с блэкджеком и мэпредюсом.

[identity profile] nivanych.livejournal.com 2012-07-02 05:31 am (UTC)(link)
Дадад! Сравнил, тоже мне! ;-)

[identity profile] nivanych.livejournal.com 2012-07-02 05:56 am (UTC)(link)
Я-то не спорю, я прикалываюсь.
И даже с хуйовостью "15-этажных JOIN'ов" согласен только частично.

[identity profile] nivanych.livejournal.com 2012-07-02 05:58 am (UTC)(link)
А если с базой ещё кто-то работает?
Может быть, лучше парсить поцгресовый DDL? ;-)

[identity profile] smalgin.livejournal.com 2012-07-02 06:16 am (UTC)(link)
Если найдете, поделитесь. Будет интересно сравнить ощущения.

[identity profile] thesz.livejournal.com 2012-07-02 09:37 am (UTC)(link)
>И все равно это же надо выполнять в СУБД, чтобы вся таблица не фетчилась на клиента или апп-сервер.

Товарищи примером показали, что это единственный выход: http://cs-www.cs.yale.edu/homes/dna/papers/calvin-sigmod12.pdf

(смогли добиться производительности рекордсменов TPC на железе, в тысячи раз более дешёвом)

[identity profile] andrew kondratovich (from livejournal.com) 2012-08-03 09:36 pm (UTC)(link)
Риак был был конфеткой, если бы нормальные индексы запилили.

Page 3 of 3