Что такое NoSQL-эквивалент SQL Server - PullRequest
2 голосов
/ 08 декабря 2010

Мой проект требует решения для хранения миллиардов строк данных с минимальными реляционными данными.

Необработанные данные в данный момент находятся в текстовом файле и выглядят примерно так: Id (), Type (int), Data (двоичные данные от 1 до 10 МБ)

Столбец Id в необработанныхПри импорте текстовый файл можно игнорировать и заменить его новым int, bigint или uniqueidentifier, который всегда имеет лучшую производительность.

Есть предложения о том, что мне следует использовать и как мне проектировать базу данных?

Также внешний интерфейс будет написан на C # с EF4 (или что-то еще, я открыт для всех предложений).

Ответы [ 7 ]

2 голосов
/ 08 декабря 2010

Думаю, вас может заинтересовать безсерверная база данных . Как SQLite или SQL Server Compact.

Вам не нужно устанавливать сервер, но вы можете запрашивать данные с помощью SQL, LINQ и т. Д.

1 голос
/ 21 марта 2011

Есть провайдер, который дает вам ощущение наличия хранилища документов nosql через sql-сервер.http://www.sisodb.com

1 голос
/ 08 декабря 2010

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

NoSQL не является эквивалентом любой СУБД.поэтому «Что такое NoSQL-эквивалент MS SQL Server» не имеет смысла.это должно быть либо NoSQL против MS SQL, либо вообще не упоминать NoSQL.

1 голос
/ 08 декабря 2010

Службы хранилища Windows Azure - это то, что вам нужно, если вы ищете продукт NoSQL от Microsoft

Это облачная вещь, и у Microsoft нет отдельного продукта, который вы сами размещаете.

Службы хранилища Windows Azure, однако, построены поверх MS SQL Server, но не доступны через обычный протокол TDS. Таким образом, они никогда не разрешают доступ к базе данных без учета NoSQL. Это не мешает вам обращаться с вашей типичной базой данных SQL Server так, как если бы это была NoSQL, и если вы это сделаете, вы сможете действительно хорошо масштабироваться. Идея NoSQL в том, что вы не делаете вещи, которые не масштабируются горизонтально.

0 голосов
/ 14 августа 2012

Я думаю, что ближайший подход, который вы получите от MS SQL, - это тип столбца XML . Поскольку xml по определению является полуструктурированными данными. Таким образом, вы можете создать поле типа xml и добавить туда свой документ с двоичными данными, закодированными в формате hex или base64 (если пространство для хранения данных не является для вас проблемой).

0 голосов
/ 08 декабря 2010

Я предлагаю вам использовать SQL Server с функцией Filesteam для двоичных данных.

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

Ваш вопрос не имеет ничего общего с NoSQL.Не думайте, что файловый поток является SQL-эквивалентом NoSQL!

0 голосов
/ 08 декабря 2010

Какую проблему вы пытаетесь решить с помощью системы? Какой тип данных вы анализируете?

Если предположить, что это система анализа, а не система транзакционной обработки, то есть инструменты для анализа больших наборов данных, которые могут обладать необходимой функциональностью без необходимости писать слишком много кода. Например, Visualis Toolkit от 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/

...