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)
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.
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开发者_如何学Go something else, im open to all suggestions).
I think you might be interrested in a serverless database. Like SQLite or SQL Server Compact.
You do not have to install a server, but you can query your data using SQL, LINQ etc.
Windows Azure Storage Services is the closest your gonna get if your looking for a NoSQL product by Microsoft
It's a cloud thing and Microsoft doesn't have a separate product that you yourself host.
Windows Azure Storage Services is however, built on top of MS SQL Server, just not exposed through the normal TDS protocol. That way, they never allow access to the database without NoSQL in mind. 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. The idea of NoSQL is just that you don't do stuff that doesn't scale horizontally.
http://en.wikipedia.org/wiki/NoSQL
NoSQL is not equviliant of any RDBMS. so "What's the NoSQL equivalent of MS SQL Server" makes no sense. it should either be NoSQL vs MS SQL or no mention of NoSQL at all.
There's a provider giving you some feeling of having a nosql document store over sql-server. http://www.sisodb.com
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
MIDAS integrates multimedia server technology with Kitware’s open-source data analysis and visualization clients. 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 is available under a non-restrictive (BSD) open-source license.
Alternatively IBM have OpenDX http://www.research.ibm.com/dx/
I suggest you conider using SQL Server with the Filesteam feature for the binary data.
http://technet.microsoft.com/en-us/library/bb933993.aspx
Your question has nothing much to do with NoSQL. Don't go thinking that filestream is the SQL Server "equivalent" of NoSQL!
I think the closest approach you will get from MS SQL - is XML column type. Since xml is by definition semi-structured data. 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).
精彩评论