SQL 到大数据的迁移?

Har*_*ris 2 sql hadoop hive c#-4.0

在我们正在运行的项目中,使用 ASP.net 3.5 和 C# 和 MS SQL,目前它的数据库大小变为 4 TB。它会增加 gradullay ,所以我们正在寻找解决方案。有人告诉我关于大数据(使用 Hive + Hadoop)。他给出了以下参考 https://cwiki.apache.org/confluence/display/Hive/GettingStarted http://www.codeproject.com/Articles/398563/Analyzing-some-Big-Data-Using-Csharp-蔚蓝与阿帕 我阅读了这两个链接,但不幸的是我不明白它们的意思!!!。所以任何 1 解释我我该怎么做?我应该将 MSSQL 迁移到 Hadoop 吗?请告诉更改为hadoop的硬件和软件要求?是否可以将我们当前的数据库迁移到 hadoop?我读过一些主要用于搜索数据并且不支持多事务的软件?如果可以迁移,那么我们希望与现有项目一起工作多少?在这么多 TB 上,每秒我们有 400-500 次数据插入和事务处理

Tar*_*riq 6

我会分享一些我的经验。首先我会分析Hadoop是否符合我的要求。Hadoop 不能替代传统的 RDBMS。它用于完全不同的目的,这offline batch processing与用于实时查询的 RDBMS 不同。所以,如果你有实时需求,你最好再想一想。在这种情况下,您将需要类似HBase 的东西。

您在此处显示的第一个链接是关于Hive 的。Hive 是一个运行在现有 Hadoop 集群之上的数据仓库。除此之外,它还为您提供了一个类似 SQL 的界面,如果您来自 SQL 背景,它可以让您以更简单方便的方式进行查询。Hive 将数据作为 Hive 表存储在 HDFS(Hadoop 文件系统)之上。但同样 Hive 不适合实时的东西。如果您想对 Hadoop 数据执行实时查询,您可能会发现Impala非常适合。

第二个链接向您展示了如何将 Apache Hadoop 与 C# 和 Microsoft Windows Azure 结合使用。Azure 是 Microsoft 的云平台产品。您可以在此处找到更多相关信息。此链接向您展示如何编写MapReduce程序。MapReduce 是一个计算框架,它允许您以分布式和并行方式处理一组机器上的大量数据。

最初开发 Hadoop 是为了与 Linux 一起使用。但是现在您也可以灵活地将它与 Windows 一起使用,提供 Azure 和HDP等提供的解决方案。

Hadoop 不需要任何特殊软件(除了 ssh、适当的语言翻译器等基本东西)或复杂的硬件。它旨在在商品硬件上运行。但是您可能希望保留供应商规定的规格,您将要遵循,记住。

您可以通过编写自己的程序或使用更高级的工具(如Sqoop)轻松地将 SQL 数据移动到您的 Hadoop 集群中。

搜索并不是使用 Hadoop 的唯一领域。这是一个很好的链接,它告诉我们可以使用 Hadoop 解决的常见问题。

希望这能回答您的一些问题。如果您有任何进一步的查询,请告诉我。


回应您的评论:

Hadoop 基本上是两件事——分布式文件系统(HDFS)和处理框架(MapReduce)。作为一个文件系统,它缺乏随机读/写能力。这就是像 HBase 这样的数据库出现的地方。此外,Hadoop 将数据存储为文件,而不是像 HBase 那样存储为列。

如果要通过 Hive 查询存储在 HDFS 中的数据,请将 HDFS 文件映射为 Hive 中的表并使用 HiveQL 查询它们。假设您在 HDFS 中有一个名为“file.txt”的文件,它有 2 个字段编号和名称,您可以执行以下操作:

hive> CREATE TABLE demo (no INT, name STRING);
hive> LOAD DATA INPATH '/file.txt' INTO TABLE demo;
hive> Select * FROM demo;
Run Code Online (Sandbox Code Playgroud)