metaclass: (Default)
metaclass ([personal profile] metaclass) wrote2010-03-03 10:50 am

Запоздалый слоупок запоздал

БД без SQL

Скажите, это что за новая шиза в последнее время? Т.е., оно понятно, что SQL не обязательно нужен для задач типа "храним список пользователей и их мессаг на форуме", поэтому быдло-веб-пхп-программерам РСУБД, реляционнная алгебра и SQL кажется специальным садизмом по отношению к ним со стороны высоколобых энтерпрайз-коллег и маркетинговой дурью.

Но даже без этого начинается какая-то бредовая движуха, толкают какие-то говно-key-value db, какие-то hadoop, couchdb, cassandra и прочий трэш, который 100% будет пионерскими поделками, потому что невозможно написать нормальную новую БД, не будучи в состоянии осилить РСУБД и SQL.

Это как постреляционные СУБД. Вроде они есть, но на самом деле их нет - они продаются исключительно единичным заказчикам, паровозом вместе с софтом, который купили бы в любом случае, даже если бы он использовал хранилище в плоских файлах в виде компилируемых исходников, а данные бы туда сохранялись кодогенератором. Типа специализированного медицинского софта или там какого-нибудь "ПО для управления ДНК-секвенсором"

[identity profile] dz.livejournal.com 2010-03-10 06:39 pm (UTC)(link)
Есть, на мой взгляд, два основных фактора.

1. Тот, который Вы обозначили. Я бы назвал его "фактор PHP". Пэхапе - редкое уёбище, но в него очень просто въехать и потому оно популярно в народных массах. mysql без транзакций - та же жуть, но победное его шествие нельзя игнорировать. в программирование вброшены огромные массы неумелых людей, отсюда востребованы любые корявые, но простые вещи.

2. Тот, в который Вы не верите. У нас на первом Четверге в DZ был рассказ о том, как в Яндексе был введён в продакшн map-reduce style обсчёт статистики, почему он был введён и почему SQL в этом месте не подходит. Коротко: потому что на статистике не нужна ни интегрити, ни гарантия сохранности данных. При этом мап редьюс даёт линейную (практически проверено) масштабируемость.

Насчёт сырости - вторым выступлением у нас был Микрософт, который в рамках azure продаёт доступ к key/value db, при этом, на секундочку, предлагает SLA. Лично свою руку я на отсечение не дам, но я очень сомневаюсь, что Микрософт подпишется под SLA, если технология сыра.

[identity profile] metaclass.livejournal.com 2010-03-10 08:11 pm (UTC)(link)
У меня основная претензия к нереляционным бд - это то, что их используют там где их использовать не обязательно и то, что поднимают маркетинговый шум вокруг них.

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

Я тут, закопавшись в своих бухгалтериях и прочих подсчетах до копейки каждой позиции, просто ни разу не сталкивался с задачами, где допустимо отсутствие ACID.