Я хочу построить проект, в котором скорость и объем данных будут очень большими.
Поэтому мне придется использовать концепцию больших данных для ее реализации.
Но я не знаю, как и где их использовать.
После многих исследований я установил Hadoop и Hive, а также получил
базовые знания в Hive, но не знаю, как поступить.
Может кто-нибудь дать мне четкое представление о том, какие технологии использовать, где и хорошо ли использовать PHP, или я должен использовать какой-то другой язык?
Любой вклад будет полезен.
Улей это не база данных. Это пакетный движок SQL для больших наборов данных в HDFS.
Поскольку объем данных большой, это одна из основных причин, которая означает, что вы не должны предоставлять эти данные пользователю для загрузки любым веб-приложением, независимо от языка — запросы загружаются слишком долго. А если вы храните данные, которые будут представлять собой небольшие наборы результатов (например, сотни МБ — несколько ГБ), то Hadoop, вероятно, не место для хранения данных.
Любой запрос, для которого вы ожидаете использовать Hive, не ожидайте, что он будет загружен на веб-сайт в течение какого-либо разумного периода времени (как минимум минут разговора). Я был бы очень удивлен, если какой-либо веб-сайт использовал Hive в качестве бэкэнда.
Cassandra или HBase должны использоваться для отображения данных в приложениях, обращенных к пользователю. По крайней мере, вы бы использовали Apache Sqoop для экспорта таблицы Hive в тип «материализованного представления», которое будет видно пользователям в MySQL / Postgres, которые имеют хорошо разработанные драйверы PHP. Другими словами, запускайте большие данные в Hive, манипулируйте ими через некоторый процесс извлечения и загружайте их в надлежащую систему базы данных.
Spark Thrift Server, Drill или PrestoDB можно настроить для более интерактивных SQL-запросов, но, опять же, их, вероятно, следует использовать для специальных запросов, а не для быстрого извлечения данных на веб-сайт.
Используйте Apache Phoenix для запуска SQL-запросов в HBase. HIVE и Impala запускаются крайне медленно. Он не предназначен для веб-сайтов, он предназначен для пакетных заданий. Apache Phoenix очень быстрый. Вы не можете использовать PHP, хотя; использовать Java. Или используйте Apache Thrift для запуска Java-сервера для запроса Apache Phoenix, а затем используйте клиентскую версию Thrift для php для доступа к данным.