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

Блог

Куда валить с MySQL+PHP?

И почему стали востребованы ошибочные данные.

[spoiler]Крупное американское онлайновое СМИ Huffington Post, получившее в прошлом году Пулитцеровскую премию и, несмотря на мрачные прогнозы, с каждым годом всё успешнее осваивающее виртуальное медийное пространство, решило отказаться от тяжёлого реляционного наследия MySQL+PHP, кое эксплуатировало с 2005 г., и перешло на NoSQL-СУБД MongoDB, язык функционального программирования Scala и замечательный фреймворк для построения веб-систем от Гугля AngularJS (очень рекомендую! компактно решает практически все проблемы; http://habrahabr.ru/post/149060/ ).

Собственно, сегодня трудно найти более продвинутую в технологическом плане связку технологий, нежели выбранная Huffington Post.

Подробное разъяснение причин выбора:
http://www.huffingtonpost.com/john-pavley/huffpost-content-management-system_b_3739572.html

I'm sure HuffPost readers would be disappointed to find a news story that didn't have relevant images, videos, tweets, and Facebook posts embedded inside it. For that task we're using MongoDB. While MySQL requires lots of up front planning and modeling to translate a news story into a collection of data fields and datatypes, MongoDB is a new kind of database that natively stores documents with flexibility. As our idea of what a news story evolves over the next eight years, MongoDB will help us keep pace.

MongoDB кстати доросла до полноценного использования с движком Hadoop -- в августе был презентован MongoDB Connector for Hadoop , когда MongoDB выступает как "файловая система" для Hadoop, из которой данные считываются MapReduce-механизмом. Особые нововведения -- поддержка SQL-запросов Apache Hive и бэкапы в формате Binary JSON, хранящиеся непосредственно в HDFS. Вебинар и слайды по теме тут
http://www.10gen.com/presentations/webinar-whats-new-mongodb-hadoop-integration

Под более специфические задачи можно порекомендовать новую версию графовой СУБД TinkerPop 2.4 "Gremlin Without a Cause"


которая помимо собственно СУБД включает движок оригинальных DSL-запросов, написанный на Groovy, фреймворк Blueprints, обозванный "JDBC of Graph Databases" (связки с Neo4J, OrientDB и Dex) и среда организации потоков данных Pipes



И еще один интересный движок -- созданный в университете Беркли -- BlinkDB.


Он реализует идею интерактивных SQL-запросов: если данные Большие, то ждать отклика обычно приходится очень долго, а BlinkDB выдает выбираемые сеты небольшими порциями, но практически в реальном времени. Понятно, что в такой ситуации невозможно формально гарантировать логическую корректность формируемых данных, однако уровень ошибок на практике составляет единичные проценты, что для некритически важных задач (или критически важных, но готовых жертвовать качеством выборки ради скорости) непринципиально. Так, 17 Тб данных обрабатывается BlinkDB в 200 раз быстрее, нежели в Hive.