我正在开发一个能够完成大量工作的系统。根据我的研究,基于列的数据仓库是最佳选择。但我很困惑选择一个好的数据仓库产品。
我看到的所有数据仓库比较文章都是2012年,而且似乎很少有关于它的文章。数据仓库是否已过时? Hadoop HBase更好吗?
据我所知,InfiniDB是一个高性能的开源数据仓库产品,但它已经维护了2年https://github.com/infinidb/infinidb。关于InfiniDB的文档很少。 InfiniDB是否已被开发人员丰富?
目前哪种数据仓库产品最好?
如何将存储在Mysql数据库中的业务数据逐步移动到数据仓库?
感谢您的回答!
答案 0 :(得分:1)
数据仓库仍然是一个热门话题,HBase不是必备品,而是一个众所周知且兼容的(许多应用程序构建在它上面)
几年前我选择了一个很好的专卖店,并最终选择了InfiniDB,因为从普通的mysql轻松迁移。它是一个很好的软件,但它仍然有bug,所以我不能完全推荐它用于生产。 (不是没有第二个故障转移实例)。 但是,MariaDB已经采用了InfiniDB技术,并将其移植到MariaDB数据库服务器上。这个新产品叫做MariaDB Columnstore [1],可以使用测试版本。他们已经付出了很多努力,所以我认为ColumnStore将在未来两年内获得MariaDB的主要产品。
我无法回答这个问题。我仍然使用InfiniDB并帮助其他人完成他们的项目。
这完全取决于您的数据结构和使用情况。
InfiniDB非常适合查询,它(在我的测试中)比impala的性能提高了约8%,但是,虽然infinidb支持INSERT,UPDATE,DELETE和事务,但它在事务工作负载上并不是很好。即只是将社区驱动的网站移动到infinidb,访问者总是操纵数据将无法正常工作。一个插入10000行将很好,10000插入1行将杀死它。
我们为客户部署Infinidb以“帮助”定期安装mariadb的查询性能 - 我们创建了一个工具,可以将MariaDB数据库表导入和更新到InfiniDB中,从而更快地进行查询。该表上的操作仍在MairaDB中完成,并且更改将以30秒的延迟批量导入InfiniDB。由于原始和infinidb表具有相同的结构并且可以使用api mysql访问,我们只需切换数据库连接并具有超快的SELECT查询。这适用于我们的用例。
我们还从头开始构建新的统计/分析应用程序,以便与infinidb一起使用,并取代旧的基于MySQL的系统,该系统也可以很好地满足任何性能要求。 (我们现在拥有mariadb中15倍的数据,它仍然更容易维护,查询速度更快。)
答案 1 :(得分:0)
我会给Splice Machine一个机会(开源)。它将数据存储在HBase上,并提供仓库提供的核心数据管理功能(主键,约束,外键等)