【问题标题】:What's the NoSQL equivalent of SQL Server什么是 SQL Server 的 NoSQL 等价物
【发布时间】:2010-12-08 08:14:34
【问题描述】:

我的项目需要一种解决方案,以使用最少的关系数据来存储数十亿行数据。

原始数据目前在一个文本文件中,看起来像这样 Id()、Type(int)、Data(1-10MB之间的二进制数据)

导入时可以忽略原始文本文件中的 Id 列,并替换为性能更好的新 int、bigint 或 uniqueidentifier。

关于我应该使用什么以及我应该如何设计数据库有什么建议吗?

前端也将使用 EF4 用 C# 编写(或其他东西,我愿意接受所有建议)。

【问题讨论】:

  • 您是否在询问将这个数据文本文件导入 MS-SQL 的方法?或者您是否要求一种方法来使用来自 C# 前端的数据文本文件?
  • 两者都不 - 我在问如何在 MS SQL 中设计数据库或一起使用不同的解决方案。
  • 这不是一个非常有趣的“数据库”——您是否考虑过简单地使用文件系统?您需要针对它运行哪些查询? Id和任何其他信息之间真的没有联系吗?当你想要一个 NoSQL 解决方案时,为什么要提到 EF(一个 ORM)?
  • 您说“我在问如何在 MS SQL 中设计数据库”,但标题却是“NoSQL”。它是哪一个?为什么标题说“NoSQL”?
  • 如果您没有任何许可/定价问题,您可以完美地使用带有新 FILESTREAM 功能的 SQL Server 2008 或更高版本:blogs.msdn.com/b/manisblog/archive/2007/10/21/…

标签: c# sql-server database windows-server-2008


【解决方案1】:

我想你可能会对serverless database 感兴趣。像 SQLite 或 SQL Server Compact。

您不必安装服务器,但您可以使用 SQL、LINQ 等查询数据。

【讨论】:

  • SQLite 超过 SQL Compact - Compact 的大小限制为 4Gb。或者,还有用于图形数据库(如 Cassandra 和 MongoDB)的 .NET 连接器
【解决方案2】:

如果您正在寻找 Microsoft 的 NoSQL 产品,Windows Azure 存储服务是您最接近的选择

这是一个云计算,Microsoft 没有您自己托管的单独产品。

然而,Windows Azure 存储服务是建立在 MS SQL Server 之上的,只是没有通过正常的 TDS 协议公开。这样一来,他们就不允许在没有考虑 NoSQL 的情况下访问数据库。这不会阻止您将典型的 SQL Server 数据库视为 NoSQL,如果您这样做了,您应该能够很好地扩展。 NoSQL 的理念就是不要做不能横向扩展的事情。

【讨论】:

【解决方案3】:

http://en.wikipedia.org/wiki/NoSQL

NoSQL 不等同于任何 RDBMS。所以“什么是 MS SQL Server 的 NoSQL 等价物”是没有意义的。它应该是 NoSQL 与 MS SQL,或者根本没有提到 NoSQL。

【讨论】:

  • 我知道。我在问 MS 是否提供了等效的解决方案。
【解决方案4】:

有一个提供程序让您感觉在 sql-server 上有一个 nosql 文档存储。 http://www.sisodb.com

【讨论】:

    【解决方案5】:

    您试图用系统解决什么问题? 你在分析什么类型的数据?

    假设这是一个分析系统而不是事务处理系统,那么有一些工具可以分析大型数据集,这些工具可能具有您需要的功能,而无需您编写太多代码。例如来自 Kitware www.vtk.org 或 MIDAS http://www.kitware.com/products/midas.html 的可视化工具包

    MIDAS 将多媒体服务器技术与 Kitware 的开源数据分析和可视化客户端集成在一起。服务器遵循数据存储、访问和收集的开放标准。 MIDAS 已针对存储大量科学数据和相关元数据和报告进行了优化。 MIDAS 在非限制性 (BSD) 开源许可下可用。

    IBM 也有 OpenDX http://www.research.ibm.com/dx/

    【讨论】:

      【解决方案6】:

      我建议您考虑使用带有 Filesteam 功能的 SQL Server 来处理二进制数据。

      http://technet.microsoft.com/en-us/library/bb933993.aspx

      您的问题与 NoSQL 无关。不要以为文件流是 NoSQL 的 SQL Server“等价物”!

      【讨论】:

        【解决方案7】:

        我认为您将从 MS SQL 获得的最接近的方法是 XML column type。由于 xml 根据定义是半结构化数据。因此,您可以创建 xml 类型的字段,并在其中添加您的文档,其中包含以十六进制或 base64 格式编码的二进制数据(如果数据存储空间对您来说不是问题)。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2020-08-12
          • 1970-01-01
          • 2010-12-01
          • 1970-01-01
          • 1970-01-01
          • 2010-09-24
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多