Мне было интересно, есть ли какие-нибудь хорошие решения для записи данных в базу данных NoSQL, а затем преобразовать их в RDBMS?
Например, если вы хотите быстро захватить некоторые данные, например, журналы сеансов, но затем вы захотите создавать отчеты по ним позже.
Моя любимая база данных - Postgres, так что если ваш ответ уместен в Postgres, это было бы здорово.
Ответы:
Быстрый ответ - да. Бывает все время.
Есть много хороших решений. Какие решения уже есть в вашей среде? Я помогаю одному клиенту, который получает информацию об активности своего веб-сайта / сеанса из своего веб-приложения, они записывают ее в XML и затем десериализуют этот XML в Hadoop. Затем они используют Hive поверх Hadoop для создания агрегатов и фактов (объединяя эти данные журнала для ссылки на данные своего веб-сайта, которые они хранят в базе данных Postgres). Эти совокупности и факты затем загружаются в СУБД (они используют SQL Server из-за богатой аналитики, предоставляемой в стеке SQL Server).
Я хотел бы изучить Hadoop, взглянуть на Hive, который представляет собой механизм запросов поверх Hadoop, который позволяет вам писать декларативные запросы, которые очень похожи на SQL, и переводиться в задания MapReduce за кулисами. Затем посмотрите на Sqoop, который является еще одним инструментом в семействе Hadoop, который помогает вам в экспорте / импорте данных.
http://hadoop.apache.org/ http://www.amazon.com/Hadoop-Definitive-Guide-Tom-White/dp/1449389732/ref=sr_1_1?s=books&ie=UTF8&qid=1319160463&sr=1-1 http : //www.cloudera.com/blog/2009/06/introduction-sqoop/ http://hive.apache.org/
Есть и другие варианты там ...
источник
Не все NoSQL одинаковы. Например, MongoDB имеет очень хорошие возможности запросов. очень легко получать данные, сортировать данные способом, напоминающим SQL. Итак, я говорю, что вам не следует думать - SQL для отчетов, если у вас нет готовых инструментов, которые, конечно, требуют данных, совместимых с SQL. Некоторые другие NoSQL немного сложнее, поскольку получение SQL-подобных результатов из вашего магазина, например, CouchDB, не так просто для определения простого запроса типа where. MongodDB - я использовал драйвер Python - это легко. Поэтому я считаю менее важным беспокоиться о переносе моих данных в реляционное хранилище.
источник