简体   繁体   English

什么是SQL Server的NoSQL等效项

[英]What's the NoSQL equivalent of SQL Server

My project requires a solution to store billions of rows of data with minimal relational data. 我的项目需要一种解决方案,以最少的关系数据存储数十亿行数据。

The raw data is currently in a text file and looks something like this Id(), Type(int), Data(Binary data between 1-10MB) 原始数据当前位于文本文件中,其外观类似于此Id(),Type(int),Data(1-10MB之间的二进制数据)

The Id column in the raw text file can be ignored when importing, and replace with either a new int, bigint or uniqueidentifier, which ever has better performance. 导入时可以忽略原始文本文件中的Id列,并替换为具有更好性能的新int,bigint或uniqueidentifier。

Any suggestions on what I should use and how I should design the database? 关于应使用什么以及如何设计数据库的任何建议?

Also the front end will be written in C# with EF4 (or something else, im open to all suggestions). 前端也将用EF4用C#编写(或其他方式,不接受所有建议)。

I think you might be interrested in a serverless database . 我认为您可能陷入了无服务器数据库中 Like SQLite or SQL Server Compact. 像SQLite或SQL Server Compact。

You do not have to install a server, but you can query your data using SQL, LINQ etc. 您不必安装服务器,但可以使用SQL,LINQ等查询数据。

Windows Azure Storage Services is the closest your gonna get if your looking for a NoSQL product by Microsoft 如果您正在寻找Microsoft的NoSQL产品,则Windows Azure存储服务是您可以获得的最接近的产品

It's a cloud thing and Microsoft doesn't have a separate product that you yourself host. 这是一个云问题,Microsoft自己没有托管单独的产品。

Windows Azure Storage Services is however, built on top of MS SQL Server, just not exposed through the normal TDS protocol. 但是,Windows Azure存储服务建立在MS SQL Server之上,只是没有通过常规TDS协议公开。 That way, they never allow access to the database without NoSQL in mind. 这样,它们永远不会在没有NoSQL的情况下允许访问数据库。 That doesn't stop you from treating your typical SQL Server database as if it was NoSQL, and if you did, you should be able to scale really well. 这不会阻止您将典型的SQL Server数据库视为NoSQL,并且如果这样做,则应该能够很好地进行扩展。 The idea of NoSQL is just that you don't do stuff that doesn't scale horizontally. NoSQL的想法只是您不做无法横向扩展的工作。

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

NoSQL is not equviliant of any RDBMS. NoSQL不等于任何RDBMS。 so "What's the NoSQL equivalent of MS SQL Server" makes no sense. 因此“什么是MS SQL Server的NoSQL等效项”毫无意义。 it should either be NoSQL vs MS SQL or no mention of NoSQL at all. 它应该是NoSQL vs MS SQL,或者根本不提NoSQL。

There's a provider giving you some feeling of having a nosql document store over sql-server. 有一个提供程序给您一些通过sql-server存储nosql文档的感觉。 http://www.sisodb.com http://www.sisodb.com

I think the closest approach you will get from MS SQL - is XML column type . 我认为从MS SQL获得的最接近的方法是XML列类型 Since xml is by definition semi-structured data. 由于xml按照定义是半结构化数据。 So you can make field of xml type and add there your document with binary data encoded in hex or base64 format (if data storage space is not an issue to you). 因此,您可以将字段设置为xml类型,并在其中添加以十六进制或base64格式编码的二进制数据的文档(如果对您而言数据存储空间不是问题)。

What is the problem you are attempting to solve with the system? 您试图用系统解决什么问题? What type of data are you analysing? 您要分析什么类型的数据?

Assuming this is an analysis system rather than a transactional processing system there are tools for analysing large data sets that might have the functionality you need without requiring you to write too much code. 假设这是一个分析系统,而不是事务处理系统,那么有一些工具可以分析大型数据集,这些工具可能具有所需的功能,而无需您编写过多的代码。 For example the Visualisation Toolkit from Kitware www.vtk.org or MIDAS http://www.kitware.com/products/midas.html 例如,来自Kitware www.vtk.org或MIDAS http://www.kitware.com/products/midas.html的可视化工具包

MIDAS integrates multimedia server technology with Kitware's open-source data analysis and visualization clients. MIDAS将多媒体服务器技术与Kitware的开源数据分析和可视化客户端集成在一起。 The server follows open standards for data storage, access and harvesting. 该服务器遵循开放的数据存储,访问和收集标准。 MIDAS has been optimized for storing massive collections of scientific data and related metadata and reports. MIDAS已经过优化,可存储大量科学数据以及相关的元数据和报告。 MIDAS is available under a non-restrictive (BSD) open-source license. MIDAS可通过非限制性(BSD)开源许可证获得。

Alternatively IBM have OpenDX http://www.research.ibm.com/dx/ 另外,IBM也有OpenDX http://www.research.ibm.com/dx/

I suggest you conider using SQL Server with the Filesteam feature for the binary data. 我建议您考虑将SQL Server与Filesteam功能一起用于二进制数据。

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

Your question has nothing much to do with NoSQL. 您的问题与NoSQL无关。 Don't go thinking that filestream is the SQL Server "equivalent" of NoSQL! 不要以为文件流是NoSQL的SQL Server“等效”!

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM