我从事一个项目超过半年,从头开始构建医疗保健软件.当我加入时,MySQL被选为主要数据存储.
几个月后,我们开始研究替代数据存储,它们可以提供我们记录关键和不断变化的医疗保健数据所需的灵活性.
我们看过很多NoSQL解决方案; MongoDB吸引了我们最多的注意力.能够存储结构化的嵌入式数据将是一个巨大的好处.然而,我们已经被数据丢失/可靠性问题的报告吓到了.
我遇到过一些"NewSQL"数据存储,特别是我对VoltDB很感兴趣.
我很想知道是否有人对Volt有过任何经验,或者已经看到它在项目中实现过.
编辑:
数据完整性和一致性是最重要的.对于患者信息丢失可能是非常有害的,他们可能会接受不正当的治疗等.
数据量会有所不同; 我们可能会先支持小做法.总共有700个用户.但即使我们扩展到医院,我们也不会像交通一样关注社交媒体.
关于你的问题,是的数据结构将会发展.除了必须更改现有结构以捕获新输入或修改输入之外,我们还必须将现有数据的结构保留为快照.我们只能用MySQL做这种EAV风格.
感谢您的反馈意见.
小智 35
我们去年推出了使用VoltDB的应用程序.我们每天使用kfactor = 1 4服务器集群(256 GB内存/服务器)存储大约15亿条记录并处理5千万到9千万条交易.鉴于VoltDB的性能,我们可以轻松地每天处理10亿笔交易.
到目前为止,我们没有遇到与VoltDB软件相关的问题.我们的经验是它真正符合ACID标准.通过添加命令日志记录功能,我相信您可以配置日志记录参数以防止丢失任何事务.
其他强大的功能包括其可扩展性(以及增加容量的相对简单性).
选择VoltDB时的一个重要考虑因素是了解VoltDB的分区方案.使用VoltDB实现极高的事务处理速率取决于通过数据分区实现的并行性.分区对您的应用程序是透明的,但您的应用程序数据必须能够进行分区以获得最大性能.如果您的数据不适合分区,我认为主要影响是吞吐量(即交易率)降低 - 而不是显示停止.
最后 - 关于存储过程的说明.VoltDB允许您在不停止数据库的情况下替换存储过程.此外,每次调用存储过程都构成一个事务.我们以这样的方式利用存储过程,即我们能够在不停止数据库的情况下修改/更新我们的应用程序逻辑.