成功的VoltDB实现

我一直在为一个项目工作超过半年,从头开始构建医疗保健软件.当我加入时, MySQL被选为主数据存储.

几个月以后,我们开始调查替代数据存储,可以提供我们所需的灵活性来记录我们关键和不断变化的医疗保健数据.

我们看过许多NoSQL解决方案; MongoDB吸引了我们最多的关注.能够存储结构化的嵌入式数据将是一个巨大的好处.然而,我们已经被数据丢失/可靠性问题的报道吓倒了.

我遇到了几个“NewSQL”数据存储,我对VoltDB感兴趣.

我很好奇,知道有没有人有任何的伏特的经验,或已经看到它在一个项目中实施.

编辑:

数据的完整性和一致性是最重要的.病人信息丢失可能会非常有害,可能会收到不正当的治疗等.

数据量会有所不同;我们可能会首先支持小型做法.总共有700个用户.但即使我们扩大到医院,我们也不会像流量这样的社交媒体.

关于你的问题,是的,数据结构将会发展.除了必须更改现有结构以捕获新的或修改的输入之外,我们必须将现有数据的结构保留为一种快照.我们只能用MySQL做这个EAV风格.

感谢您的反馈意见.

去年,我们去了一个使用VoltDB的应用程序.我们正在存储大约15亿条记录,每天使用kfactor = 1 4服务器集群(256 GB内存/服务器)处理50-90万笔交易.鉴于VoltDB的表现,我们可以轻松地每天交付10亿笔交易.

迄今为止,我们没有与VoltDB软件有关的问题.我们的经验是它符合ACID.通过添加命令记录功能,我相信您可以配置日志记录参数以排除任何事务的丢失.

其他强大的功能包括其可扩展性(以及增加容量的相对简单性).

选择VoltDB时的一个重要考虑是了解VoltDB的分区方案.使用VoltDB实现极高的事务率取决于通过数据分区实现的并行性.分区对您的应用程序是透明的,但您的应用程序数据必须自己进行分区才能获得最高性能.如果您的数据不适合分区,我相信主要的影响将会降低吞吐量(即交易率),而不是显示屏.

最后 – 关于存储过程的说明. VoltDB允许您替换存储过程而不停止数据库.而且,存储过程的每个调用都构成单个事务.我们已经利用存储过程,使得我们能够在不停止数据库的情况下修改/更新我们的应用程序逻辑.

相关文章
相关标签/搜索