【剑思庭专栏之工控感受】我与实时数据库的个人“恩怨”
我与实时数据库的关系可分为三个阶段。对于目前处于第三阶段的我来说,这款产品似乎变得无关紧要了。很快你就会明白为什么我这么说。阶段一:痴迷
我与实时数据库的第一次接触十分神奇:一个快速插入,快速查询,简单架构用它来处理实时和历史数据,而关系数据库却不是很适合。它运行得十分漂亮:快速插入、快速查询和超大的数据量,并且运转稳定。不得不说,实时数据库很适合应用于此类情况。
它的表现震惊了我:事实上,我主要的查询工具主要是历史趋势,但这已经十分了不容易了。我从未奢望类似的东西能运行得如此出色(速度快)。在那段时间里,我详细了解了实时数据库产品以及如何管理它。
阶段二:现实
也许这个阶段更好的名字应该是成熟。在这个阶段,我知道在什么情况下该使用实时数据库,更重要的是,什么时候不该使用实时数据库。这时,你会发现实时数据库是一款很好却需要谨慎使用的产品。它提供的数据强大到能帮你解决很多但却不是全部问题:实际上,只是相当多而已。(生产实时和历史数据)
我是从自己和别人的失败上意识到了这个问题。很多人非常兴奋的想要把自动化世界里的数据库简化成一个模式,于是实时数据库就可以成为所有问题最完美的解决方法。但每当这些时刻,一些不符合想象却真实存在的事实就会砸到你脸上证明你的想法是错误的:
关系数据库并没有它们表现的那么糟糕。事实上,这种模式目前十分流行,而且在未来很长一段时间内它的地位都不会改变,究其原因:它管用。它可以应对我们手里各种模式的好的或者坏的的实践方法。
举例:事务处理。实时数据库有一点恼人的地方:不能创建一个事务处理。于是问题来了:多数情况下,实时数据库出了问题,不能事务处理,很容易崩掉,那怎么办只能上冗余实时数据库。所以在你知道你的系统需要什么之前,所有厂商谈到的强大性能,都和你关系不大。
在这个阶段,所有的激动人心和相见恨晚都消失了,这是所有人都会有的。这时,你会知道这款工具可以做什么以及不能做什么。这是最好的阶段。
阶段三:无关紧要
现在实时数据库对于我来说已经变得无关紧要了。当然不是指它可以不用存在了,而是产品应用范围越来越窄了。有一天早上我醒来,突然听到SQL server发布了内存数据库,快速读写,极速查询,因为对于大多数项目来说,其替代品更具吸引力。它们早晚都会来,只是时间问题。