Использование базы данных NOSQL в науке о данных

datascience.stackexchange https://datascience.stackexchange.com/questions/793

  •  16-10-2019
  •  | 
  •  

Вопрос

Как может Nosql Базы данных, как Mongodb использовать для анализа данных? Какие функции в них могут сделать анализ данных более быстрым и мощным?

Это было полезно?

Решение

Чтобы быть совершенно честным, большинство баз данных NOSQL не очень хорошо подходят для приложений в больших данных. Для подавляющего большинства всех приложений больших данных производительность Mongodb по сравнению с реляционной базой данных, подобной Mysql является существенно достаточно беден, чтобы полностью оставаться в стороне от чего -то вроде MongoDB.

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

  • Нет схемы - Если вы работаете с большим количеством неструктурированных данных, может быть трудно решить и жестко применить схему. Базы данных NOSQL в целом очень поддерживают это и позволят вам вставить без схемы документов на лету, что, безусловно, не является чем-то, что база данных SQL будет поддерживать.
  • Json - Если вы работаете с документами в стиле JSON, а не с CSV Файлы, тогда вы увидите много преимуществ в использовании чего-то вроде MongoDB для базы данных. Как правило, экономия рабочего процесса не перевешивает увеличение времени запроса.
  • Простота использования - Я не говорю, что базы данных SQL всегда трудно использовать, или что Кассандра Самая легкая вещь в мире для настройки, но в целом базы данных NOSQL легче настроить и использовать, чем базы данных SQL. MongoDB является особенно сильным примером этого, известного тем, что является одним из самых простых слоев баз данных (за пределами SQLite) SQL также имеет дело с большим количеством нормализации, и существует большое наследие лучших практик SQL, которое обычно сбивает процесс разработки.

Лично я мог бы предложить вам также проверить Графические базы данных такие как Neo4j Это показывает действительно хорошую производительность для определенных типов запросов, если вы хотите выбрать бэкэнд для ваших приложений по науке о данных.

Другие советы

Одним из преимуществ безрезультатного подхода NOSQL является то, что вы не совершаете преждевременно и вы можете применять правильную схему в запросе, используя соответствующий инструмент, как Apache Drill. Анкет Видеть это презентация Для деталей. MySQL не будет моим первым выбором в большом настройке данных.

Рассмотрим, попробуйте и, возможно, даже используйте несколько баз данных. Это не просто проблема «выступления» здесь. Это действительно сводится к вашим требованиям. Сколько данных вы говорите? Какие данные? Как быстро тебе это нужно? Вы больше читаете тяжелые или пишете тяжелые?

Вот одна вещь, которую вы не можете сделать в базе данных SQL: вычислить настроение. http://www.slideshare.net/shift8/mongodb-machine-learning

Конечно, скорость в этом случае может быть недостаточно быстрой для ваших потребностей, но это возможно. С некоторым кэшированием конкретных совокупных значений, это было вполне приемлемо даже. Зачем тебе это делать? Удобство.

Удобство действительно - это то, чем вас убеждают. Именно поэтому (на мой взгляд) были созданы базы данных NOSQL. Производительность, конечно, тоже, но я пытаюсь сбрасывать со счетов контрольные показатели и больше сосредоточиться на других проблемах.

MongoDB (и некоторые другие базы данных NOSQL) имеют некоторые очень мощные функции, такие как встроенная карта/уменьшение. Это может привести к сбережениям как по стоимости, так и по времени, используя что -то вроде Hadoop. Или это может предоставить прототип или MVP для запуска более крупного бизнеса.

Как насчет графических баз данных? Они тоже "nosql". Посмотрите на базы данных, такие как OrientDB. Если вы хотите спорить о производительности ... Я не думаю, что вы будете показывать мне базу данных SQL, которая там быстрее =) ... и базы данных графиков имеют действительно удивительное приложение, основанное на том, что вам нужно сделать.

Правило технологии (и интернета) не становятся слишком комфортно с одной вещью. Вы будете ограничены и настроитесь на неудачу.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с datascience.stackexchange
scroll top