metaclass: (Default)
metaclass ([personal profile] metaclass) wrote2014-04-09 10:59 pm

BigData - это когда вместо схемы мусор, а разработчики боятся джоинов?

http://habrahabr.ru/company/beeline/blog/218669/
В статье вроде все не сильно страшно, но вот вопрос - откуда такая боязнь join-ов?
Если там таблица c размерностями мизерного размера и помещается вместе с индексами в кэш, то join на нее достаточно дешевый, чтобы на него было пофиг совершенно, по сравнению с вычитыванием каких-нибудь сотен миллионов записей из таблицы фактов.

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

[identity profile] vp.livejournal.com 2014-04-10 04:16 am (UTC)(link)
"...Нужна другая архитектура базы данных. Если вам нужны гибкие запросы, то проще всего хранить данные неструктурированно — потому что для каждого нового запроса придётся иначе строить новую оптимальную структуру. Обычные базы данных направлены на максимальное быстродействие в рамках ограниченных вычислительных ресурсов...."

Переводим: NoSql, запись всего в кучу и последовательная обработка всего в лоб.
Так получается? :)

[identity profile] kranov.livejournal.com 2014-04-10 04:28 am (UTC)(link)
>Переводим: NoSql, запись всего в кучу и последовательная обработка всего в лоб.
>Так получается? :)
там ничего не сказано, никаких монго хадуп риак, поэтому думаю там либо пачка mysql-й либо тесктовые файлы

[identity profile] bagamut.livejournal.com 2014-04-10 07:51 am (UTC)(link)
параллельная обработка, кластеры же

[identity profile] serbod.livejournal.com 2014-04-10 11:12 am (UTC)(link)
NoSQL для CRUD (через tables API), простые SELECTы на сервере, сорты, джойны, юнионы и прочая групповуха на стороне клиента.

[identity profile] maksenov.livejournal.com 2014-04-10 11:33 am (UTC)(link)
Погодите, то есть я правильно понимаю, что куча данных тащится на клиент "как есть", чтобы потом их обрабатывать? А сеть не будет рыдать кровавыми слезами?

[identity profile] serbod.livejournal.com 2014-04-10 11:58 am (UTC)(link)
Фишка в том, чтобы фильтровать данные на сервере, а сортировать и агрегировать на клиенте. Ну и по возможности данные кэшировать. Например, если клиент делает новую сортировку/группировку того же набора данных, то незачем заново делать запрос серверу.

[identity profile] maksenov.livejournal.com 2014-04-10 12:03 pm (UTC)(link)
Ясно, спасибо. Тащемта, это каждый клиент превращается в маленький аппсервер. Может на невероятных объемах данных и имеет смысл. Я такие объемы видел только у сейсмиков, а там в РСУБД обычно тупо метаданные лежат, а все пятисотгигабайтные файлы сейсморазведки на лентах и дисках.

[identity profile] berezovsky.livejournal.com 2014-04-10 12:18 pm (UTC)(link)
А как организовано хранение данных у спецслужб? Скайпы там всякие, гуглоплюсы, социальные сети.
Ведь это всё нужно хранить, отслеживать, кластеризовать, выделять тенденции, выявлять врагов.
Причём массово, в режиме онлайн, одновременно по всему миру.
Как там всё организовано технически? Ну, кроме своих охраняемых дата-центров и автономных источников энергии.

[identity profile] maksenov.livejournal.com 2014-04-10 12:23 pm (UTC)(link)
Хороший вопрос, но не по адресу ;)