Кластерный SQL против Hadoop - PullRequest
       2

Кластерный SQL против Hadoop

0 голосов
/ 26 февраля 2019

Я новичок в hadoop

Просто прочитайте, что Hadoop HDFS основана на плоских файлах

, в то время как Clustered MS SQL Server является RDBMS (точно не знаю, как он называется, но эторазбита ли БД на несколько серверов и действует как одна база данных)

для данных на одном сервере Я знаю, что СУБД намного быстрее, чем данные на основе плоских файлов, поскольку вы можете индексировать СУБД (надеюсь, я не ошибаюсьэтим)

Если это так, то почему Hadoop, который основан на нескольких файлах с несколькими серверами, работает быстрее, чем Clustered MS SQL Server, который является многосерверной РСУБД?

Ответы [ 2 ]

0 голосов
/ 26 февраля 2019

SQL Server 2019 (готовится к выпуску) фактически имеет функцию, которая объединяет оба эти мира.Вы можете выполнять масштабные вычисления в кластерной конфигурации с использованием HDFS.Вы можете прочитать об этом здесь:

https://docs.microsoft.com/en-us/sql/big-data-cluster/big-data-cluster-overview?view=sqlallproducts-allversions

Более ранняя версия этой технологии, поставляемая в SQL Server 2016/2017, называется Polybase.У него немного другая техническая реализация и другая конфигурация.Вы можете прочитать об этом здесь: https://docs.microsoft.com/en-us/sql/relational-databases/polybase/polybase-guide?view=sql-server-2017

И то, и другое может дать вам форму "вычисления с горизонтальным масштабированием".Hadoop стремится использовать несколько относительно недорогих узлов и выполнять масштабирование для решения проблем с разделением.SQL Server также может делать это, хотя часто вы можете получить лучшую производительность для каждого узла с помощью различных встроенных механизмов.Существует аппаратный и программный фактор (а также накладные расходы на настройку / администрирование), который является компромиссом между NoSQL и решениями на основе SQL.Несмотря на то, что в этих двух моделях есть некоторые совпадения, подход с горизонтальным масштабированием имеет некоторые преимущества для задач, которые можно полностью разделить (как по стоимости, так и по масштабу), и подход RDBMS, вероятно, имеет более широкие / быстрые возможности запросов.Это не значит, что вы не можете выполнять масштабируемый SQL и что вы не можете делать более сложные приложения в NoSQL.У них есть сильные стороны, и тогда есть то, что они «могут» делать против «не могут / не должны» делать.

(Традиционный SQL Server, как и предлагалось в другом ответе, несколько более ограничен в плане горизонтального масштабирования, хотя группы доступности AlwaysOn дают вам возможность создавать читаемые вторичные компоненты для частичного масштабного вычисления)

0 голосов
/ 26 февраля 2019

Кластер SQL Server - это решение с высокой доступностью, а не решение с параллельными вычислениями.У Microsoft есть SQL Server Parallel Warehouse (который, по-видимому, имеет Hadoop внутри: https://docs.microsoft.com/en-us/sql/analytics-platform-system/parallel-data-warehouse-overview?view=aps-pdw-2016-au7). AlwaysOn может дать некоторые преимущества в производительности, когда на пассивном узле нельзя выполнять операции только для чтения, но в целом SQL Server являетсяузловое решение.

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