【发布时间】:2011-12-08 14:50:06
【问题描述】:
我们最近在当前的 SQL Server 数据库中遇到了与性能相关的重大问题。 我们的应用程序在单个表上非常繁重,我们进行了一些分析,大约 90% 的数据库数据在单个表中。我们也在这张表上运行了大量查询,出于分析目的,我们现在遇到了主要的性能问题,即使添加单列有时也会减慢我们当前的 Sp。我们的大多数团队都是开发人员,我们没有 dba 访问权限,这可能有助于重新调整我们当前的数据库并加快工作速度。
由于这些限制,我们正在考虑将应用程序的这一部分移至 NoSQL 数据库。 我的问题是:
- 如果这是我们前进的正确方向?正如我们预计这张桌子上的指数增长一样。有大量的分析在上面运行。
- 对于我们来说,CouchDB、Cassandra、MongoDB 哪个是最佳选择?强调可扩展性和性能
- 对于类似于 SQL 的实时分析和支持,NoSQL 中的工作原理是否有一种工具可以让我们查看当前存储的数据?我在某处读到过有关 Hadoop 的 HIVE 可用于从 NoSQL 数据库中以 SQL 形式写入和检索数据的信息,对吗?
- 在从 SQL 转向 NoSQL 时,我们可能会失去哪些东西?
【问题讨论】:
-
表格有多少行?您是否在尝试读取数据时插入了很多行?调整数据库或使用报告数据库等可能比将所有内容更改为 NoSQL 更容易。此外,您需要查询的数据有多新鲜以及每条记录的重要性如何?例如,CouchDB 使用“最终一致性”...
-
目前只有 60000 行,但这会迅速增加。每个数据对我们来说都很重要,它本身就是我们应用程序的核心,查询也很繁重。但是我们可以忍受延迟的结果,但不能有不一致的地方,即希望数据不会改变。该表只有插入和读取,不允许更新。表中的数据本质上是静态的。
-
如果您遇到 60k 行的性能问题,那么您的 SQL 设计肯定有问题。
-
Err 所以问题是我们应该如何在最终撞墙之前纠正它?
-
表格有多少列?您正在运行哪种查询?
标签: nosql