主题:使用NOSQL将非常复杂的旧式客户端 - 服务器应用程序迁移到支持SAS的Web版本
我们计划将我们的几个系统从RDBMS迁移到NOSQL产品.我们正处于决定是否采用完整NOSQL或混合实施的阶段?
由于表系统,许多触发器,存储过程和约束之间存在复杂的关系,因此大型系统当前系统的表计数为数千.我们知道,迁移不是很容易,因为许多特定于数据库或特定于SQL的函数,分组,聚合函数,复杂连接,子/内部查询,限制,排序(排序依据)以及未使用的内容. .!所以这是艰难的情况.
数据可以在几百TB中增长并且将继续增长,我们需要遵循以下事项:
我遇到过一个与NOSQL竞争的RDBMS,它是VOLTDB,你有没有尝试过?
我认为Neo4j,Cassandra或HBase可以完成这项工作,我已经读过它会在应用程序级别增加多行代码以替换SQL但是我们对它没问题但是在实现SQL/RDBMS之类的结果它不应该降低性能因为它是我们的KSF(关键成功因素),而无单点故障是Hygine因子.:)
轻松添加节点以管理可伸缩性也很有帮助.
考虑在WEB上迁移具有数十万用户的ERP,CRM或EMR等系统.
您的投入将是有价值的,提前感谢.
去与写在二郎(如了Riak,CouchDB的)的NoSQL,因为二郎神OTP不可靠性很多年
没有 SQL或没有停机时间.
通过分布式节点(存在于不同电网中)的定额读/写,不会轻易实现单点故障
没有NoSQL功能集将取代ACID事务.VoltDB不是NoSQL,它是内存数据库中的SQL ,因此请准备好你的TB的RAM.
大多数现代NoSQL解决方案都允许您完成大部分可以使用RDBMS执行的仓储任务.但是,您将支付没有ACID和痛苦的聚合.再看看Riak和CouchDB,因为它们本质上也是容错的,所以至少你不必担心这一点.
快速呃比什么?如果进行复杂的聚合,SQL DB将比任何NoSQL快99.99%.在给定正确的缓存量的情况下,NoSQL的写入速度非常快,并且取决于您的仲裁(在一次写入中有多少节点应该返回成功).例如,Riak使用Google的LevelDB可插拔后端,这对于写入来说非常疯狂.
说了这么多.除非你真的需要,否则不要迁移到NoSQL.如果你真的需要,首先从最不重要的(最好是小的)组件开始,因为它是一种思维转变,并且需要重新开发.