Недавно нам удалось пообщаться с великим Монти — Майклом Видениусом, автором оригинальной версии открытой СУБД MySQL, который в настоящее время работает над ее ответвлением, MariaDB. (Кстати, обе эти базы поддерживаются в Jelastic.)
Как известно, мир производит и обрабатывает все больше данных (так называемый феномен «Big Data»). Общепринято мнение, что данных теперь так много, что обрабатывать их с помощью традиционных баз данных и программных методов трудно или невозможно. Это вызвало волну нереляционных баз данных (NoSQL), в которых упор делается на высокую масштабируемость. Эксперт в области баз данных, Монти, поделился с нами своими мыслями о текущем и будущем состоянии SQL, NoSQL и Big Data. Некоторые его ответы были несколько неожиданными, так что мы с радостью приводим здесь русский перевод расшифровки нашей беседы:
Не могли бы Вы рассказать нам немного об истории NoSQL и big data? Почему эта тема представляет такой интерес в последнее время?
Все это «новое NoSQL движение» началось с поста в блоге от сотрудников Twitter, которые считали, что MySQL не был достаточно хорош для них. Они нуждались в «чем-то получше», в чем-то типа Cassandra.
Основная причина проблем Twitter с MySQL — это неправильное использование самой базы. К тому же решение, которое они предлагали, можно было бы реализовать в MySQL так же легко, как и в Cassandra.
Я не могу найти оригинальную статью, но я нашел чуть более позднее упоминание о том, что Cassandra заменит MySQL.
Cегодня (спустя 3 года) Twitter все еще использует MySQL в качестве основного хранилища для твитов. Cassandra, в конечном итоге, не смогла заменить MySQL.
Основной причиной такой популярности NoSQL является то, что, в отличие от SQL, Вы можете начать ее использовать без каких-либо дополнительных разработок. На самом деле, начать с NoSQL очень просто, но Вы заплатите за это позже, когда потеряете контроль над своими данными.
Таким образом, основные преимущества (по крайней мере, до появления MariaDB) большинства NoSQL решений это:
• Быстрый доступ к данным (если все данные помещаются в оперативной памяти),
• Быстрая репликация / распределение данных между многими узлами,
• Гибкая схема (можно добавлять новые столбцы мгновенно).
Что Вы лично думаете о будущем NoSQL / Big Data? Ваши прогнозы?
Я считаю, что большинство людей стремятся использовать NoSQL главным образом из-за «шумихи» вокруг этой технологии. Большинство компаний реально не имеют больших объемов данных, таких как у Facebook и Google, и они не смогут позволить себе нанять специалистов для настройки и постоянной разработки базы.
Реляционные базы данных – SQL – никуда не денутся. NoSQL просто не сможет заменить их. Почти всем нужны связи (joins), чтобы использовать данные.
Тем не менее, бывают ситуации, когда использование NoSQL имеет смысл. Я думаю, в будущем, мы увидим больше комбинированных решений, которые включают SQL и NoSQL.
Именно поэтому мы расширяем функционал MariaDB, чтобы иметь возможность доступа к NoSQL базам данных, таким как Cassandra и LevelDB.
Если NoSQL нужны только в редких случаях, почему люди до сих пор ими пользуются? Каковы основные причины?
Потому что это всегда гораздо проще — начать с NoSQL. Вам не нужно учить SQL и определять схему базы данных, прежде чем начать ее использовать. Некоторые используют NoSQL, потому что верят, что она масштабируется лучше, чем SQL.
Может ли SQL превзойти NoSQL? Какие уникальные преимущества делают SQL лучше, чем NoSQL?
В случаях, когда данные начинают не помещаться в памяти, SQL, как правило, превосходит NoSQL.
Есть также много других вещей, которые NoSQL просто не может сделать. Большинство NoSQL решений оптимизированы под одноключевой доступ. Для чего-нибудь большего, нужно писать программу. В этом случае очень трудно превзойти SQL оптимизатор для комплексных задач, особенно выборки, которые автоматически генерируются на основе запросов пользователей (этого требует большинство веб-сайтов).
SQL также может превосходить NoSQL при работе с одиночной машиной. В кластере, где все находится в памяти, — наоборот, NoSQL обычно опережает SQL по ключевым запросам.
Что Вы думаете о последнем объявлении Cloudera о привлечении инвестиций для коммерческого Hadoop?
Главной проблемой Hadoop является то, что не существует известной модели ведения бизнеса, которая гарантировала бы инвесторам получение ожидаемой десятикратной прибыли. В связи с этим мне трудно понять, как Cloudera могут выжить в долгосрочной перспективе.
Просто хорошого продукта мало, нужно уметь на нем зарабатывать.
Кто сейчас активнее всего продвигает Big Data и NoSQL?
Все поставщики NoSQL, конечно же;)
Если все это просто обман, почему столько шумихи?
Это обман не для всех. Есть много больших компаний и проектов, которые могут извлечь выгоду из Big Data.
Тем не менее, я хочу сказать, что большинству не нужна ни Big Data, ни NoSQL, так как это обойдется дороже в долгосрочной перспективе, когда вы, наконец, обнаружите, что NoSQL не может решить все потребности вашего бизнеса.
И, наконец, как MariaDB вписывается во все это?
Мы стремимся к тому, чтобы сделать MariaDB своего рода мостом между NoSQL и SQL. Вот почему мы добавили сначала поддержку Cassandra и в настоящее время работаем над добавлением поддержки LevelDB.
Мы осознаем, что NoSQL пытается удовлетворить некоторые действительно важные потребности, и именно поэтому добавили динамические столбцы (что делает SQL схему гибкой, как большинство NoSQL схем) и более быструю репликацию.
В MariaDB 10.0 репликация будет еще быстрее, еще гибче и отказоустойчивей.
Мы также тесно сотрудничаем с Galera, чтобы обеспечить мульти-мастер решение в MariaDB.
Все это для того, чтобы лучше адаптироваться к меняющемуся миру и удовлетворять существующие потребности людей — возможно даже и надуманные потребности;)
Расскажите, пожалуйста, о новом фонде MariaDB. Что это значит для разработчиков?
Фонд MariaDB был создан для того, чтобы множество независимых компаний могли работать вместе над общей целью, активно развивать MariaDB, как проект с открытым исходным кодом. Фонд нанимает разработчиков, чтобы сделать все сборки, осуществить контроль качества, проверку патчей и т.д., все необходимое, чтобы проект двигался вперед.
Большое спасибо, Монти! MariaDB продолжает оставаться очень популярной среди пользователей платформы Jelastic. Всего наилучшего!
Автор: jelastic