НовостиОбзорыСобытияIT@WorkРеклама
Идеи и практики автоматизации:

Блог

Зачем Google, Facebook, Twitter и LinkedIn улучшают MySQL?

Надстройка над Oracle MySQL, спроектированная для использования в highload-приложениях, анонсирована под названием WebScaleSQL, явно подразумевающим целевое назначение (хорошо масштабирующиеся веб-системы). В этом опенсорсном проекте объединены усилия инженеров сразу четырех крупнейших веб-компаний.

[spoiler]На сайте проекта http://webscalesql.org/ особо отмечается, что WebScaleSQL -- это не fork, а branch, сохраняется преемственность с кодовой базой MySQL 5.6. Несмотря на все пертурбации и тренды перехода на форки и NoSQL, MySQL сохраняет неформальное лидерство в качестве базовой РСУБД для большинства веб-проектов, а последняя версия содержит весь необходимый минимум для эксплуатации в промышленных масштабах.

В то же время темпы ее развития не устраивают крупные компании, которые заинтересованы в большей масштабируемости, поэтому различные дополнения разрабатываются внутрикорпоративно. И вот наконец здравый смысл возобладал: решено отказаться от дублирующих усилий и координировать развитие дальнейших дополнений. Уже реализована мощная функциональность, связанная как с эффективностью, так и с тестовыми фичами (и поддержкой NUMA), а в планах -- асинхронный MySQL-клиент, сжатие данных и упреждающее чтение, которое в ряде операций даст выигрыш в  скорости на порядок.

В данной ситуации лидеры идут по пути наименьшего сопротивления: в SQL-инфраструктуру сделаны гигантские инвестиции, и конечно гораздо проще латать MySQL и частично использовать форки типа MariaDb, нежели переходить на нечто, заведомо более шустрое и масштабирующееся, но переделывая при этом все с нуля. А ведь эти корпорации -- генераторы трендов, во многом благодаря их разработкам в сфере СУБД и появились массовые NoSQL, да и Hadoop (зародившаяся в Yahoo), например. Но сегодня, выбирая платформу под новый проект, следует учитывать множество побочных нюансов. Так, по данным NTT Innovation Institute на март 2014 г., типовая хакерская атака типа внедрения SQL обойдется вашей компании в 196 тысяч долларов. И хотя снизить ее вероятность можно относительно минималистичными инвестициями, во-первых, надо знать, что и где "подкрутить", а во-вторых, единичные проценты вероятности взлома все равно останутся. В NoSQL ситуация несколько получше просто потому, что нет единого стандартизованого механизма запросов.

Альтернативные подходы можно разделить на два больших направления:

- NoSQL. Плюсы известны, минусы в сложности поиска профильных спецов.
Research and Markets представил отчет "Global NoSQL Market 2014-2018. NoSQL-рынок вырастет за это время на 53%, в основном за счет приложений Больших данных. Лидерами тут будут решения DataStax, MarkLogic, MongoDB и Oracle. Где-то рядом Aerospike, Basho Technologies, Couchbase, FoundationDB и NuoDB. Непонятно, правда, где например Redis.

- совсем уж инновационные подходы, типа демонстрируемого стартапом DataRPM, собравшим 5 млн долл на развитие системы бизнес-аналитики, которая отказывается от SQL в пользу запросов на естественном языке и механизма автоматического построения модели данных. Высокие риски, но и отдача соответствующая.

Противопоставлять SQL и не-SQL, конечно, неверно, у каждого подхода свои сильные стороны. Недаром PostgreSQL в 2013-м мощно поднялся, да и другие РСУБД предлагают сегодня почти NoSQL-фунциональность, от поддержки JSON-документов, до сверхскоростного поиска по простым запросам -- вдобавок к исходно существовавшим транзакционным возможностям.

Резюме этого поста в том, что, похоже, NoSQL плавно сдвигаются в сферу Big Data, причем в основном в качестве фоновых (не реалтаймовых!) движков перемалывания неструктурированной информации. Свою миссию -- как следует пнуть малость обленившихся вендоров РСУБД в нужном направлении, возможно, NoSQL уже выполнил.