2010-12-08 3 views
2

Mein Projekt erfordert eine Lösung zum Speichern von Milliarden von Datenzeilen mit minimalen relationalen Daten.Was ist das NoSQL-Äquivalent von SQL Server

Die Rohdaten werden derzeit in einer Textdatei und sehen so etwas wie dieser Id(), Typ (int), Daten (Binärdaten zwischen 1-10MB)

die ID-Spalte in der rohen Textdatei kann beim Import ignoriert werden und durch einen neuen int, bigint oder uniqueidentifier ersetzt werden, der eine bessere Leistung hat.

Irgendwelche Vorschläge, was ich verwenden soll und wie ich die Datenbank gestalten soll?

Auch das Frontend wird in C# mit EF4 geschrieben (oder etwas anderes, ich bin offen für alle Vorschläge).

+0

Fragen Sie nach einer Möglichkeit, diese Datentextdatei in MS-SQL zu importieren? Oder fragen Sie nach einer Methode, um die Datentextdatei von einem C# Frontend zu verwenden? –

+0

Weder - noch darum, wie man die Datenbank in MS SQL erstellt oder eine andere Lösung verwendet. – Joanne

+0

Das ist keine sehr interessante "Datenbank" - haben Sie überlegt, einfach das Dateisystem zu verwenden? Welche Abfragen müssen Sie dagegen ausführen? Gibt es wirklich keine Verbindung zwischen der ID und anderen Informationen? Warum erwähnen Sie EF (ein ORM), wenn Sie eine NoSQL-Lösung wünschen? –

Antwort

2

Ich denke, Sie könnten in einer serverless database interessiert sein. Wie SQLite oder SQL Server Compact.

Sie müssen keinen Server installieren, aber Sie können Ihre Daten mit SQL-Abfrage, LINQ usw.

+0

SQLite mehr als SQL Compact - Compact hat eine Größenbeschränkung von 4 GB. Alternativ gibt es .NET-Konnektoren für Graph-Datenbanken wie Cassandra und MongoDB – Doobi

1

Windows Azure Storage Services ist die nächste Ihre gonna erhalten, wenn Ihr für eine NoSQL Produkt von Microsoft suchen

Es ist eine Cloud-Sache und Microsoft hat kein separates Produkt, das Sie selbst hosten.

Windows Azure Storage Services ist jedoch auf MS SQL Server aufgebaut, nur nicht durch das normale TDS-Protokoll ausgesetzt. Auf diese Weise erlauben sie niemals den Zugriff auf die Datenbank ohne NoSQL. Das hindert Sie nicht daran, Ihre typische SQL Server-Datenbank so zu behandeln, als wäre es NoSQL, und wenn Sie dies tun, sollten Sie in der Lage sein, wirklich gut zu skalieren. Die Idee von NoSQL ist nur, dass Sie keine Sachen machen, die nicht horizontal skalieren.

+0

Könnten Sie einige Beispiele für Dinge liefern, die nicht horizontal skalieren? – Joanne

+0

Wikipedia kann http://en.wikipedia.org/wiki/Scalability#Scale_horizontal_.28scale_out.29 –

1

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

NoSQL ist nicht jeder RDBMS equviliant. so "Was ist das NoSQL-Äquivalent von MS SQL Server" macht keinen Sinn. Es sollte entweder NoSQL vs MS SQL sein oder NoSQL überhaupt nicht erwähnen.

+0

Ich weiß das. Ich frage, ob MS eine Lösung bietet, die äquivalent ist. – Joanne

0

Was ist das Problem, das Sie versuchen, mit dem System zu lösen? Welche Art von Daten analysieren Sie?

Angenommen, es handelt sich um ein Analysesystem statt um ein transaktionales Verarbeitungssystem, gibt es Tools zur Analyse großer Datenmengen, die die benötigte Funktionalität haben, ohne dass Sie zu viel Code schreiben müssen. Zum Beispiel von Kitware das Visualization Toolkit www.vtk.org oder MIDAS http://www.kitware.com/products/midas.html

MIDAS integriert Multimedia-Server-Technologie mit Kitware Open-Source-Datenanalyse und Visualisierung Kunden. Der Server folgt offenen Standards für Datenspeicherung, -zugriff und -nutzung. MIDAS wurde für das Speichern großer Sammlungen von wissenschaftlichen Daten und zugehörigen Metadaten und Berichten optimiert. MIDAS ist unter einer nicht-restriktiven (BSD) Open-Source-Lizenz verfügbar.

Alternativ IBM haben OpenDX http://www.research.ibm.com/dx/

1

Es gibt einen Anbieter, der Ihnen das Gefühl gibt, einen nosql-Dokumentenspeicher über SQL-Server zu haben. http://www.sisodb.com

0

Ich denke, die nächste Annäherung, die Sie von MS SQL erhalten werden - ist XML column type. Seit xml ist per Definition semi-strukturierte Daten. Sie können also ein Feld vom xml-Typ erstellen und dort Ihr Dokument mit binären Daten im hex- oder base64-Format hinzufügen (wenn der Datenspeicherplatz kein Problem für Sie darstellt).