Хранение большого набора данных твитов: текстовые файлы против базы данных - PullRequest
0 голосов
/ 12 января 2019

Я собрал большой набор данных Twitter (> 150 ГБ), который хранится в некоторых текстовых файлах. В настоящее время я извлекаю данные и манипулирую ими с помощью пользовательских сценариев Python, но мне интересно, имеет ли смысл использовать технологию базы данных для хранения и запроса этого набора данных, особенно учитывая его размер. Если у кого-то есть опыт работы с наборами данных Twitter такого размера, пожалуйста, поделитесь своим опытом, особенно если у вас есть какие-либо предложения относительно того, какую технологию базы данных использовать и сколько времени может занять импорт. Спасибо

Ответы [ 2 ]

0 голосов
/ 12 января 2019

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

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

Некоторые популярные базы данных:

MYSQL , PostgreSQL - Реляционные базы данных (просто и быстро и просто в использовании / настройке, но требуется знание SQL)

MongoDB - База данных NoSQL (также проста в использовании и настройке и не требует SQL, она больше полагается на диктовки для доступа к БД через API. Кроме того, отображаемая память может быть быстрее, чем реляционная, но необходимо иметь достаточно оперативной памяти для индексов.)

ZODB - Полная база данных Python NoSQL (Вроде как MongoDB, но написано на Python)

Это очень легкие и краткие объяснения каждой БД, обязательно изучите их перед использованием, у каждого из них есть свои плюсы и минусы. Кроме того, помните, что это всего лишь пара из многих популярных и широко используемых баз данных, также есть TinyDB , SQLite (поставляется с Python) и PickleDB , которые являются полным Python, но, как правило, для небольших приложений.

Мой опыт в основном связан с PostgreSQL, TinyDB и MongoDB, мои любимые - MongoDB и PGSQL. Для вас я бы посмотрел на любой из них, но не ограничивайте себя, есть подсказка о них, а также множество драйверов, которые помогут вам написать более простой / менее удобный код, если вы этого хотите. Помните, Google ваш друг! И добро пожаловать в Stack Overflow!

Редактировать

Если ваш набор данных остается и останется довольно простым, но достаточно большим, и вы хотите продолжать использовать txt-файлы, рассмотрите pandas и, возможно, формат и библиотеку JSON или csv и библиотеку. Это может значительно помочь и повысить эффективность при запросе / управлении такими данными из текстовых файлов, а также сокращать использование памяти, поскольку не всегда или никогда не потребуется весь набор данных в памяти.

0 голосов
/ 12 января 2019

вы можете попробовать использовать любую БД NOSql. Mongo DB будет хорошим местом для начала

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...