我将开始一个新项目。我需要在.NET应用程序中处理数百个数据。现在很早就提供关于这个项目的详细信息。一些概述如下:
我建议/有以下作为解决方案:
你们觉得怎么样?我在这里有意义吗?
答案 0 :(得分:2)
您的目标是绩效,可维护性,提高成功的可能性,是否具有前沿性?
不要过早放弃关系数据库。使用100美元的外部硬盘和样本数据生成器(RedGate很好),您可以非常轻松地模拟这种工作负载。
在非关系数据库和云数据库上模拟该工作负载,您可能正在编写自己的工具。
答案 1 :(得分:2)
“预见,可以实现聚合查询的大量和大量使用”
这是数据仓库的标志。
这是DW处理的技巧。
数据是FLAT。事实和维度。最小的结构,因为它主要是加载而不是更新。
要进行聚合,每个查询都必须是简单的SELECT SUM() or COUNT() FROM fact JOIN dimension GROUP BY dimension attribute
。如果您正确执行此操作以使每个查询都具有此表单,则性能可能非常非常好。
数据可以存储在平面文件中,直到您想要聚合为止。然后加载人们实际打算使用的数据,并从主数据集创建“datamart”。
没有什么比简单的平面文件更快。您不需要任何复杂性来处理数TB的(根据需要)加载到RDBMS数据集中以进行聚合和报告的平面文件。
使用RDBMS的工具可以非常快速地简单地处理简单的维度和事实表。
您可以使用超高速平面文件处理轻松预分配所有PK和FK。这使得批量加载变得更加简单。
获取Ralph Kimball的数据仓库工具包书籍。
答案 2 :(得分:1)
现代数据库与千兆字节一起工作得非常好。当你进入太字节和数PB时,RDBMSs往往会崩溃。如果您预见到这种负荷,可能是医生要求的HBase或Cassandra之类的东西。如果没有,花一些时间调整数据库,插入缓存层(memached)等。
答案 3 :(得分:0)
“在同一张桌子上进行大量读写,非常实时” - 诚信是否重要?其中一些是事务性的吗?如果是这样,请坚持使用RDBMS。
扩展可能很棘手,但这并不意味着您必须使用云计算。 DBMS中的复制通常会与Web应用程序集群,负载平衡器等一起发挥作用。
答案 4 :(得分:0)
让RDBMS有责任保持诚信。并将此项目视为数据仓库。 保持一切清洁,您不需要使用许多第三方工具:使用RDBMS工具。 我的意思是,使用RDBMS具有的所有工具,并编写一个GUI,使用精心设计的物理数据模型(索引,分区等)编写好的存储过程从Db中提取所有数据。
Teradata可以处理大量数据并且可以扩展。