-3

我正在开发一个包含大量 olap 工作的系统。根据我的研究,基于列的数据仓库是最好的选择。但是我对选择好的数据仓库产品感到困惑。

  1. 我看到的所有数据仓库比较文章都是2012年之前的,关于它的文章似乎很少。数据仓库过时了吗?Hadoop HBase 更好?

  2. 据我了解,InfiniDB 是一款高性能的开源数据仓库产品,但是已经有 2 年没有维护了https://github.com/infinidb/infinidb。而且关于 InfiniDB 的文档很少。InfiniDB 是否被开发者丰富了?

  3. 目前最好的数据仓库产品是哪个?

  4. 如何逐步将存储在 Mysql 数据库中的业务数据移动到数据仓库?

谢谢您的回答!

4

2 回答 2

1
  1. 数据仓库仍然是一个热门话题,而 HBase 不是最快的,而是一个非常知名且兼容的(许多应用程序都建立在它之上)

  2. 几年前,我为一个好的列存储进行了旅程,最后选择了 InfiniDB,因为从普通 mysql 迁移很容易。它是一个不错的软件,但它仍然存在错误,所以我不能完全推荐它用于生产。(并非没有第二个故障转移实例)。然而,MariaDB 已经采用了 InfiniDB 技术并将其移植到他们的 MariaDB 数据库服务器上。这个新产品名为 MariaDB Columnstore[1],具有测试版本。他们已经付出了很多努力,所以我认为 ColumnStore 将在未来两年内获得 MariaDB 的主要产品。

  3. 我无法回答。我仍然使用 InfiniDB,并且还在帮助其他人完成他们的项目。

  4. 这完全取决于您的数据结构和使用情况。

InfiniDB 擅长查询,(在我的测试中)它的性能比 impala 高约 8%,然而,虽然 infinidb 支持 INSERT、UPDATE、DELETE 和事务,但它在事务性工作负载上并不是很好。即只是将一个社区驱动的网站移动到 infinidb,访问​​者总是在其中操纵数据将无法正常工作。一个 10000 行的插入会很好地工作,1 行的 10000 个插入会杀死它。

我们为我们的客户部署了 Infinidb,以“帮助”常规 mariadb 安装的查询性能——我们创建了一个工具,可以将 MariaDB 数据库表导入和更新到 InfiniDB 更快的查询中。对该表的操作仍在 MairaDB 中完成,并且更改会以 30 秒的延迟批量导入 InfiniDB。由于 original 和 infinidb 表具有相同的结构并且可以通过 api mysql 访问,我们只需切换数据库连接并进行超快速的 SELECT 查询。这适用于我们的用例。

我们还从头开始构建了新的统计/分析应用程序以与 infinidb 一起使用,并替换了旧的基于 MySQL 的系统,该系统也运行良好并且超出了任何性能预期。(我们现在拥有 mariadb 中的数据的 15 倍,而且它仍然更易于维护且查询速度更快)。

[1] https://mariadb.com/products/mariadb-columnstore

于 2016-07-29T15:49:06.170 回答
0

我会给 Splice Machine 一个机会(开源)。它将数据存储在 HBase 上,并将提供仓库提供的核心数据管理功能(主键、约束、外键等)

于 2016-08-03T20:13:56.107 回答