从sql server迁移到cassandra

时间:2014-03-19 13:01:18

标签: sql mongodb cassandra

我有一个数据密集型项目,我最近编写了代码,数据和sp存在于MS SQL数据库中。我最初的估计是数据库将增长到50TB,然后它将在增长中变得相当静态。最终的应用程序将执行大量的行级查找和读数,并且db写回的百分比非常小。

考虑到上述情况,建议我应该查看NoSQL选项以扩展到大量数据和事务,经过一些研究后,道路将导致Cassandra(同时将MongoDB视为第二种选择)

感谢您对以下初步问题的指导:

- Cassandra是否支持存储过程的概念?

- 我能在单个节点(单个Windows服务器)上安装和运行50TB数据库吗?

- Cassandra是否支持/利用单个服务器中的多个CPU(例如:4个CPU)?

- 是否可以开源版本支持50TB db?或者我需要购买ENT版本吗?

此致 -r

1 个答案:

答案 0 :(得分:3)

  

Cassandra是否支持存储过程的概念?

Cassandra不支持存储过程。然而,有一个名为"准备好的声明"它允许您提交一次CQL查询,然后使用不同的参数执行多次。但是,使用预准备语句可以执行的一组操作仅限于常规CQL。特别是你不能做循环,条件语句或其他有趣的事情。但是你确实得到了一些防止注入攻击和多个编译节省的措施。

  

我是否可以在单个节点(单个Windows服务器)上安装和运行50TB数据库?

我不知道会阻止您在一个节点上运行50TB数据库的任何事情,但是您可能需要大量内存来保持相对平稳,因为RAM /存储比率可能非常低并因此影响您有意义地缓存磁盘数据的能力。但是,不推荐的是在Windows上运行生产设置。 Cassandra使用了一些特定于Linux的IO优化,并且在Linux上进行了更彻底的测试。像你一样建议的远程设置特别可能在Windows上未经测试。

  

Cassandra是否支持/利用单个服务器中的多个CPU(例如:4个CPU)?

  

开源版能否支持50TB数据库?或者我需要购买ENT版本吗?

Apache发行版没有任何使用限制(如果你考虑的话,在开源项目中没有任何意义)。来自DataStax的免费版本,社区版。